Добавление слота в инвентарь игрока

Версия Minecraft
1.6.4
API
Forge
77
2
2
Добрый день, хотел бы узнать про способы добавление нового слота в инвентарь игроку.
Не хочу создавать новый контейнер и копипастить код из обычного.

Я решил на клиенте при открытии инвентаря подменять его.
Java:
    @Override
    public void tickStart(EnumSet<TickType> enumSet, Object... objects) {}

    @Override
    public void tickEnd(EnumSet<TickType> types, Object... objects) {
        if(types.contains(TickType.CLIENT)) {
            Minecraft minecraft = Minecraft.getMinecraft();
            GuiScreen guiscreen = minecraft.currentScreen;
            if(guiscreen instanceof GuiInventory && !(guiscreen instanceof GuiNewInventory)) {
                PacketDispatcher.sendPacketToServer(new Packet250CustomPayload(Main.channel, new byte[]{(byte)0}));
            }
        }
    }

    @Override
    public EnumSet<TickType> ticks() {
        return EnumSet.of(TickType.CLIENT, TickType.WORLD);
    }

    @Override
    public String getLabel() {
        return "Corban Client";
    }

Код контейнера
Java:
public class ContainerNewInventory extends ContainerPlayer {

    private final EntityPlayer player;

    public ContainerNewInventory(InventoryPlayer inventoryPlayer, boolean p_i1819_2_, EntityPlayer player) {
        super(inventoryPlayer, p_i1819_2_, player);
        this.player = player;

        ExtendedPlayer ex = ExtendedPlayer.get(this.player);
        this.addSlotToContainer(new ExtendedSlot(ExtendedSlot.Access.IO, ex.inventory, 0, 20, 108, 1));
    }

    public boolean canInteractWith(EntityPlayer p) {
        return true;
    }

    public ItemStack transferStackInSlot(EntityPlayer a, int b) {
        return null;
    }
}

Вопрос, можно ли так делать? Или есть другие способы добавить новый слот?

С настоящим кодом выходит ошибка
1613136233967.png
 
183
8
16
Вообще вроде нельзя, так как сервер должен знать, какой GUI открыт у игрока и знать что лежит в каждом слоте, а открывая гуи только на клиенте, мы этих данный серверу не даём. По этому мы и получаем, что у клиента слотов больше, чем у сервера, соответсвенно он отправляет пакеты по 45 слотам, в то время как сервер принимает по 44 так как у него записано, что у открытого гуи 44 слота
 
Сверху