Смена контейнера для кастомного инвентаря

Версия Minecraft
1.12.2
129
2
9
Есть два контейнера для кастомного инвентаря. Хочу чтобы при нажатии кнопки в инвентаре контейнер менялся с одного на другой, как такое реализовать?
 
129
2
9
Java:
 @Override
    public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
        ICAPCustomInventory inv = player.getCapability(CAPCustomInventoryProvider.INVENTORY_CAP, null);
        if(ID == INVENTORY_GUI_ID) {
            return new ContainerCustomInv(player.inventory, inv.getInventory(), player);
        }
        if(ID == INVENTORY_GUI_ID_1) {
            return new ContainerCustomInv2(player.inventory, inv.getInventory(), player);
        }
        return null;
    }
 
129
2
9
У меня крч есть кнопка в инвентаре, если на нее нажмешь, то выполняется это - NetworkHandler.network.sendToServer(new OpenInventoryMessage_1());


Java:
public class OpenInventoryMessage_1 implements IMessage {

    public OpenInventoryMessage_1() { }

    @Override
    public void fromBytes(ByteBuf buf) {

    }

    @Override
    public void toBytes(ByteBuf buf) {

    }


    public static class Handler implements IMessageHandler<OpenInventoryMessage, IMessage> {


        @Override
        public IMessage onMessage(OpenInventoryMessage message, MessageContext ctx) {
            EntityPlayerMP player = ctx.getServerHandler().player;
            player.openGui(Main.INSTANCE, GuiHandler.INVENTORY_GUI_ID_1, player.getEntityWorld(), (int)player.posX, (int)player.posY, (int)player.posZ);
            return null;
        }
    }
}
 

timaxa007

Модератор
5,831
409
672

timaxa007

Модератор
5,831
409
672
не открывается другой контейнер,
Возможно пакет не отсылается.
Но если при нажатии, не только отсылаешь пакет, но и открываешь Gui в этом-же методе, то этот gui не откроется с нужным контейнером.
 
Сверху