public void setStack(final int lineIndex, final int slotIndex, final ItemStack stack) {
    lines[lineIndex].setStack(slotIndex, stack);
    ListHandlerOld.saveLine(player.getCurrentEquippedItem(), lines[lineIndex], lineIndex);

    if (player.worldObj.isRemote) {
      BuildCraftCore.instance.sendToServer(
          new PacketCommand(
              this,
              "setStack",
              new CommandWriter() {
                public void write(ByteBuf data) {
                  data.writeByte(lineIndex);
                  data.writeByte(slotIndex);
                  NetworkUtils.writeStack(data, stack);
                }
              }));
    }
  }
  public void switchButton(final int lineIndex, final int button) {
    if (button == 0) {
      lines[lineIndex].oreWildcard = false;
      lines[lineIndex].subitemsWildcard = !lines[lineIndex].subitemsWildcard;
    } else if (button == 1 && lines[lineIndex].isOre) {
      lines[lineIndex].subitemsWildcard = false;
      lines[lineIndex].oreWildcard = !lines[lineIndex].oreWildcard;
    }

    ListHandlerOld.saveLine(player.getCurrentEquippedItem(), lines[lineIndex], lineIndex);

    if (player.worldObj.isRemote) {
      BuildCraftCore.instance.sendToServer(
          new PacketCommand(
              this,
              "switchButton",
              new CommandWriter() {
                public void write(ByteBuf data) {
                  data.writeByte(lineIndex);
                  data.writeByte(button);
                }
              }));
    }
  }