@Override public void copyFrom(ComponentMenu menu) { ComponentMenuRedstoneOutput menuOutput = (ComponentMenuRedstoneOutput) menu; textBox.setNumber(menuOutput.textBox.getNumber()); radioButtons.setSelectedOption(menuOutput.radioButtons.getSelectedOption()); }
@Override public void readNetworkComponent(DataReader dr) { boolean isNumber = dr.readBoolean(); if (isNumber) { textBox.setNumber(dr.readData(DataBitHelper.MENU_REDSTONE_ANALOG)); } else { int type = dr.readData(DataBitHelper.MENU_REDSTONE_OUTPUT_TYPE); radioButtons.setSelectedOption(type); } }
@Override public void refreshData(ContainerManager container, ComponentMenu newData) { ComponentMenuRedstoneOutput newDataOutput = (ComponentMenuRedstoneOutput) newData; if (textBox.getNumber() != newDataOutput.textBox.getNumber()) { textBox.setNumber(newDataOutput.textBox.getNumber()); DataWriter dw = getWriterForClientComponentPacket(container); dw.writeBoolean(true); // header dw.writeData(textBox.getNumber(), DataBitHelper.MENU_REDSTONE_ANALOG); PacketHandler.sendDataToListeningClients(container, dw); } if (radioButtons.getSelectedOption() != newDataOutput.radioButtons.getSelectedOption()) { radioButtons.setSelectedOption(newDataOutput.radioButtons.getSelectedOption()); DataWriter dw = getWriterForClientComponentPacket(container); dw.writeBoolean(false); // header dw.writeData(radioButtons.getSelectedOption(), DataBitHelper.MENU_REDSTONE_OUTPUT_TYPE); PacketHandler.sendDataToListeningClients(container, dw); } }
public int getSelectedStrength() { return textBox.getNumber(); }
@Override public void writeToNBT(NBTTagCompound nbtTagCompound, boolean pickup) { nbtTagCompound.setByte(NBT_NUMBER, (byte) textBox.getNumber()); nbtTagCompound.setByte(NBT_TYPE, (byte) radioButtons.getSelectedOption()); }
@Override public void readFromNBT(NBTTagCompound nbtTagCompound, int version, boolean pickup) { textBox.setNumber(nbtTagCompound.getByte(NBT_NUMBER)); radioButtons.setSelectedOption(nbtTagCompound.getByte(NBT_TYPE)); }
@Override public void readData(DataReader dr) { textBox.setNumber(dr.readData(DataBitHelper.MENU_REDSTONE_ANALOG)); radioButtons.setSelectedOption(dr.readData(DataBitHelper.MENU_REDSTONE_OUTPUT_TYPE)); }
@Override public void writeData(DataWriter dw) { dw.writeData(textBox.getNumber(), DataBitHelper.MENU_REDSTONE_ANALOG); dw.writeData(radioButtons.getSelectedOption(), DataBitHelper.MENU_REDSTONE_OUTPUT_TYPE); }