@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 writeData(DataWriter dw) {
   dw.writeData(textBox.getNumber(), DataBitHelper.MENU_REDSTONE_ANALOG);
   dw.writeData(radioButtons.getSelectedOption(), DataBitHelper.MENU_REDSTONE_OUTPUT_TYPE);
 }