package openmods.sync; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import net.minecraft.nbt.NBTTagCompound; public class SyncableBoolean extends SyncableObjectBase implements ISyncableValueProvider<Boolean> { private boolean value; public SyncableBoolean(boolean value) { this.value = value; } public SyncableBoolean() {} public void set(boolean newValue) { if (newValue != value) { value = newValue; markDirty(); } } public boolean get() { return value; } @Override public Boolean getValue() { return value; } @Override public void readFromStream(DataInputStream stream) throws IOException { value = stream.readBoolean(); } @Override public void writeToStream(DataOutputStream stream) throws IOException { stream.writeBoolean(value); } @Override public void writeToNBT(NBTTagCompound tag, String name) { tag.setBoolean(name, value); } @Override public void readFromNBT(NBTTagCompound tag, String name) { value = tag.getBoolean(name); } public void toggle() { value = !value; markDirty(); } }