Создание кнопки в инвенторе

Версия Minecraft
1.7.10
Скажи пожалуйста,а как в инвенторе создать кнопку (расположение на скриншоте)? При нажатии на кнопку должна выполняться определённая команда.Например-телепортироваться на спавн (/spawn).Версия 1.7.10.Создаю мод1613018120002.png
 

VeniVidiVici

Санта Барбарис
327
15
198
Какой вариант придумывается самый первый:
  • сделать свой Gui, наследник (extends) Gui инвентаря,
  • сделать в своём инвентаре кнопку, какую нужно,
  • в ивенте вызова Gui, заменять Gui инвентаря на своё
 

VeniVidiVici

Санта Барбарис
327
15
198
Ивент пишется легко. Его я тебе дам.
Java:
/**
* Перекрываем стандартный инвентарь своим
* @param event
*/
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onGuiOpen(GuiOpenEvent event) {
    if (event.gui instanceof GuiInventory && !(event.gui instanceof GuiModInventory) && !Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode){
        event.setCanceled(true);
        // Тут вызов твоего инвентаря
        // Например пакетом на сервер, как в этом случае:
        // PacketDispatcher.sendToServer(new OpenGuiMessage(ModMain.GUI_MOD_INV));
        // ! Сугубо как пример под рукой, не повторять в домашних условиях !
    }
}

Остальное тоже пишется легко. Но камень я не дам
 

VeniVidiVici

Санта Барбарис
327
15
198
Я хочу,чтобы в инвенторе была кнопка с текстом" Спавн",а команда была у кнопки (/Spawn).Только вот какой код?
Если ты хочешь целиком готовое решение, тебе в Поиск исполнителя , а в этом разделе люди учатся и разбирают свои ошибки.

1613019262620.png

----
Это у меня уже есть,но как уже создать кнопку с текстом и командой?
А ты пробовал заглянуть в ванильные гуишки?)
 

Eifel

Модератор
1,623
78
608
Ивенты: GuiScreenEvent.InitGuiEvent.Post для добавления кнопки и GuiScreenEvent.ActionPerformedEvent.Post для обработки нажатия (как один из вариантов). И не нужно ничего "перекрывать" и "заменять"

Готовый код - подумай и напиши сам, баттон лист там есть, как добавить в него кнопку думаю поймешь
 
Последнее редактирование:
Сверху