package joshie.progression.player.nbt;
import joshie.progression.helpers.NBTHelper;
import joshie.progression.helpers.NBTHelper.IMapHelper;
import net.minecraft.nbt.NBTTagCompound;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class RewardCountNBT implements IMapHelper {
public static final RewardCountNBT INSTANCE = new RewardCountNBT();
public HashMap map;
public IMapHelper setMap(HashMap map) {
this.map = map;
return this;
}
@Override
public Map getMap() {
return map;
}
@Override
public Object readKey(NBTTagCompound tag) {
String name = tag.getString("UUID");
return UUID.fromString(name);
}
@Override
public Object readValue(NBTTagCompound tag) {
NBTTagCompound data = tag.getCompoundTag("Data");
HashMap map = new HashMap();
NBTHelper.readMap(data, "Criteria Reward Counter", CriteriaNBT.INSTANCE.setMap(map));
return map;
}
@Override
public void writeKey(NBTTagCompound tag, Object o) {
String name = ((UUID)o).toString();
tag.setString("UUID", name);
}
@Override
public void writeValue(NBTTagCompound tag, Object o) {
NBTTagCompound data = new NBTTagCompound();
NBTHelper.writeMap(data, "Criteria Reward Counter", CriteriaNBT.INSTANCE.setMap((HashMap)o));
tag.setTag("Data", data);
}
}