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

63 lines
2.2 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 noppes.npcs.NBTTags;
2022-11-15 15:25:53 -05:00
import noppes.npcs.api.handler.IPlayerItemGiverData;
import noppes.npcs.api.jobs.IJobItemGiver;
2023-01-12 21:33:06 -05:00
import noppes.npcs.roles.JobItemGiver;
2018-09-13 12:03:28 -04:00
2023-01-12 21:33:06 -05:00
import java.util.HashMap;
2022-06-12 01:26:23 -05:00
public class PlayerItemGiverData implements IPlayerItemGiverData {
2025-03-12 20:12:01 -04:00
private final PlayerData parent;
private HashMap<Integer, Long> itemgivers = new HashMap<Integer, Long>();
private HashMap<Integer, Integer> chained = new HashMap<Integer, Integer>();
public PlayerItemGiverData(PlayerData parent) {
this.parent = parent;
}
public void loadNBTData(NBTTagCompound compound) {
chained = NBTTags.getIntegerIntegerMap(compound.getTagList("ItemGiverChained", 10));
itemgivers = NBTTags.getIntegerLongMap(compound.getTagList("ItemGiversList", 10));
}
public void saveNBTData(NBTTagCompound compound) {
compound.setTag("ItemGiverChained", NBTTags.nbtIntegerIntegerMap(chained));
compound.setTag("ItemGiversList", NBTTags.nbtIntegerLongMap(itemgivers));
}
public boolean hasInteractedBefore(JobItemGiver jobItemGiver) {
return itemgivers.containsKey(jobItemGiver.itemGiverId);
}
public long getTime(JobItemGiver jobItemGiver) {
return itemgivers.get(jobItemGiver.itemGiverId);
}
public void setTime(JobItemGiver jobItemGiver, long day) {
itemgivers.put(jobItemGiver.itemGiverId, day);
}
public int getItemIndex(JobItemGiver jobItemGiver) {
if (chained.containsKey(jobItemGiver.itemGiverId))
return chained.get(jobItemGiver.itemGiverId);
return 0;
}
public void setItemIndex(JobItemGiver jobItemGiver, int i) {
chained.put(jobItemGiver.itemGiverId, i);
}
public long getTime(IJobItemGiver jobItemGiver) {
return itemgivers.get(((JobItemGiver) jobItemGiver).itemGiverId);
}
public void setTime(IJobItemGiver jobItemGiver, long day) {
itemgivers.put(((JobItemGiver) jobItemGiver).itemGiverId, day);
}
public boolean hasInteractedBefore(IJobItemGiver jobItemGiver) {
return itemgivers.containsKey(((JobItemGiver) jobItemGiver).itemGiverId);
}
2018-09-13 12:03:28 -04:00
}