package openmods.sync;
import com.google.common.base.Objects;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.nbt.NBTTagCompound;
public class SyncableString extends SyncableObjectBase implements ISyncableValueProvider<String> {
private String value;
public SyncableString() {
this("");
}
public SyncableString(String val) {
this.value = val;
}
public void setValue(String val) {
if (!Objects.equal(val, value)) {
value = val;
markDirty();
}
}
@Override
public String getValue() {
return value;
}
@Override
public void readFromStream(DataInputStream stream) throws IOException {
value = stream.readUTF();
}
@Override
public void writeToStream(DataOutputStream stream)
throws IOException {
stream.writeUTF(value);
}
@Override
public void writeToNBT(NBTTagCompound nbt, String name) {
nbt.setString(name, value);
}
@Override
public void readFromNBT(NBTTagCompound nbt, String name) {
value = nbt.getString(name);
}
public void clear() {
setValue("");
}
}