package joshie.progression.player.data; import joshie.progression.helpers.NBTHelper; import joshie.progression.network.core.PacketNBT.INBTWritable; import joshie.progression.player.nbt.PointsNBT; import net.minecraft.nbt.NBTTagCompound; import java.util.HashMap; public class Points implements INBTWritable<Points> { private HashMap<String, Double> points = new HashMap(); public double getDouble(String name) { String key = "points:" + name; double amount = 0; if (points.containsKey(key)) { amount = points.get(key); } else points.put(key, amount); return amount; } public boolean getBoolean(String name) { String key = "boolean:" + name; double amount = 0; if (points.containsKey(key)) { amount = points.get(key); } else points.put(key, amount); return amount == 0 ? false : true; } public void setDouble(String name, double points) { this.points.put("points:" + name, points); } public void setBoolean(String name, boolean value) { double number = value == true ? 1D : 0D; this.points.put("boolean:" + name, number); } @Override public Points readFromNBT(NBTTagCompound tag) { NBTHelper.readMap(tag, "Points", PointsNBT.INSTANCE.setMap(points)); return this; } @Override public NBTTagCompound writeToNBT(NBTTagCompound tag) { NBTHelper.writeMap(tag, "Points", PointsNBT.INSTANCE.setMap(points)); return tag; } }