public void writeToStream(DataOutput output) throws IOException { output.writeInt(dimension); output.writeInt(centerX); output.writeInt(centerZ); output.writeByte(scale); ByteUtils.writeVLI(output, layers.length); for (LayerData data : layers) data.writeToStream(output); }
public void readFromStream(DataInput input) throws IOException { dimension = input.readInt(); centerX = input.readInt(); centerZ = input.readInt(); scale = input.readByte(); int length = ByteUtils.readVLI(input); layers = new LayerData[length]; for (int i = 0; i < length; i++) { LayerData layer = new LayerData(); layer.readFromStream(input); layers[i] = layer; } }
@Override public void writeToNBT(NBTTagCompound tag) { tag.setInteger("Dimension", dimension); tag.setInteger("CenterX", centerX); tag.setInteger("CenterZ", centerZ); tag.setByte("Scale", scale); NBTTagList result = new NBTTagList(); for (LayerData data : layers) { NBTTagCompound layerData = new NBTTagCompound(); data.writeToNBT(layerData); result.appendTag(layerData); } tag.setTag("Layers", result); }
@Override public void readFromNBT(NBTTagCompound tag) { dimension = tag.getInteger("Dimension"); centerX = tag.getInteger("CenterX"); centerZ = tag.getInteger("CenterZ"); scale = tag.getByte("Scale"); NBTTagList layersData = tag.getTagList("Layers", 10); int length = layersData.tagCount(); layers = new LayerData[length]; for (int i = 0; i < length; i++) { NBTTagCompound layerData = layersData.getCompoundTagAt(i); LayerData layer = new LayerData(); layer.readFromNBT(layerData); layers[i] = layer; } }