package joshie.progression.player.nbt;
import joshie.progression.api.criteria.ICriteria;
import joshie.progression.handlers.APICache;
import joshie.progression.helpers.NBTHelper.IMapHelper;
import net.minecraft.nbt.NBTTagCompound;
import java.util.Map;
import java.util.UUID;
public class CriteriaNBT implements IMapHelper {
public static final CriteriaNBT INSTANCE = new CriteriaNBT();
public Map map;
public IMapHelper setMap(Map map) {
this.map = map;
return this;
}
@Override
public Map getMap() {
return map;
}
@Override
public Object readKey(NBTTagCompound tag) {
String name = tag.getString("Name");
return APICache.getServerCache().getCriteria(UUID.fromString(name));
}
@Override
public Object readValue(NBTTagCompound tag) {
return (Integer)tag.getInteger("Number");
}
@Override
public void writeKey(NBTTagCompound tag, Object o) {
String name = ((ICriteria)o).getUniqueID().toString();
tag.setString("Name", name);
}
@Override
public void writeValue(NBTTagCompound tag, Object o) {
tag.setInteger("Number", (Integer)o);
}
}