Files
CustomNPC-Plus/src/main/java/noppes/npcs/controllers/data/PlayerDialogData.java
T

55 lines
1.6 KiB
Java
Raw Normal View History

package noppes.npcs.controllers.data;
2018-09-13 12:03:28 -04:00
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
2022-11-15 15:25:53 -05:00
import noppes.npcs.api.handler.IPlayerDialogData;
2018-09-13 12:03:28 -04:00
2023-01-12 21:33:06 -05:00
import java.util.HashSet;
2022-06-12 01:26:23 -05:00
public class PlayerDialogData implements IPlayerDialogData {
2025-03-12 20:12:01 -04:00
private final PlayerData parent;
public HashSet<Integer> dialogsRead = new HashSet<Integer>();
public PlayerDialogData(PlayerData parent) {
this.parent = parent;
}
public void loadNBTData(NBTTagCompound compound) {
HashSet<Integer> dialogsRead = new HashSet<Integer>();
if (compound == null)
return;
2018-09-13 12:03:28 -04:00
NBTTagList list = compound.getTagList("DialogData", 10);
2025-03-12 20:12:01 -04:00
if (list == null) {
return;
2018-09-13 12:03:28 -04:00
}
2025-03-12 20:12:01 -04:00
for (int i = 0; i < list.tagCount(); i++) {
2018-09-13 12:03:28 -04:00
NBTTagCompound nbttagcompound = list.getCompoundTagAt(i);
dialogsRead.add(nbttagcompound.getInteger("Dialog"));
}
this.dialogsRead = dialogsRead;
2025-03-12 20:12:01 -04:00
}
public void saveNBTData(NBTTagCompound compound) {
NBTTagList list = new NBTTagList();
for (int dia : dialogsRead) {
NBTTagCompound nbttagcompound = new NBTTagCompound();
nbttagcompound.setInteger("Dialog", dia);
list.appendTag(nbttagcompound);
}
compound.setTag("DialogData", list);
}
public boolean hasReadDialog(int id) {
return dialogsRead.contains(id);
}
public void readDialog(int id) {
dialogsRead.add(id);
}
public void unreadDialog(int id) {
dialogsRead.remove(id);
}
2018-09-13 12:03:28 -04:00
}