package openmods.sync; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import net.minecraft.nbt.NBTTagCompound; public class SyncableShort extends SyncableObjectBase implements ISyncableValueProvider<Short> { private short value = 0; public SyncableShort(short value) { this.value = value; } public SyncableShort() {} @Override public void readFromStream(DataInputStream stream) throws IOException { value = stream.readShort(); } public void modify(short by) { set((short)(value + by)); } public void set(short val) { if (val != value) { value = val; markDirty(); } } public short get() { return value; } @Override public Short getValue() { return value; } @Override public void writeToStream(DataOutputStream stream) throws IOException { stream.writeShort(value); } @Override public void writeToNBT(NBTTagCompound tag, String name) { tag.setShort(name, value); } @Override public void readFromNBT(NBTTagCompound tag, String name) { value = tag.getShort(name); } }