Дело в том, что addCraftingToCrafters(ICrafting), detectAndSendChanges() у TabContainer в принципе реализован плохо. Неужели нельзя полагаться на ванильный механизм синхронизации?
На него нельзя полагаться т.к. тот думает что за одним слотом закреплен лишь один итемстак. Однако если быть точнее, то ванильный механизм ничего такого "не думает" в прямом смысле. Когда срабатывает addCraftingToCrafters(ICrafting), у этого же контейнера вызывается getInventory(), который затем отсылается на клиент через ванильный механизм синхронизации. Что нам мешает слать ВЕСЬ список итемстаков и затем распихивать его по вкладкам в putStacksInSlots(ItemStack[]) на клиенте?
Дело в том, что
addCraftingToCrafters(ICrafting),detectAndSendChanges()уTabContainerв принципе реализован плохо. Неужели нельзя полагаться на ванильный механизм синхронизации?На него нельзя полагаться т.к. тот думает что за одним слотом закреплен лишь один итемстак. Однако если быть точнее, то ванильный механизм ничего такого "не думает" в прямом смысле. Когда срабатывает
addCraftingToCrafters(ICrafting), у этого же контейнера вызывается getInventory(), который затем отсылается на клиент через ванильный механизм синхронизации. Что нам мешает слать ВЕСЬ список итемстаков и затем распихивать его по вкладкам вputStacksInSlots(ItemStack[])на клиенте?