Ало. Просто GuiScreenEvent для этой цели, как ты сам знаешь, не подойдет.Agravaine написал(а):Он-то как раз и наследует от GuiScreenEvent, ало.
Dahaka написал(а):Ало. Просто GuiScreenEvent для этой цели, как ты сам знаешь, не подойдет.Agravaine написал(а):Он-то как раз и наследует от GuiScreenEvent, ало.
С 1.6.4 я не работал. Может быть там название другое, может еще что. Посоветовал хоть что-то.
Ivasik написал(а):Ало! 2к17, уже 1.12 на подходе, а динозавры ещё на 1.6.4. Тебе в ините надо ловить нажатие ESC кнопки, а дальше рисовать майновскую.
mihael-i написал(а):Ivasik написал(а):Ало! 2к17, уже 1.12 на подходе, а динозавры ещё на 1.6.4. Тебе в ините надо ловить нажатие ESC кнопки, а дальше рисовать майновскую.
А можно пример?
@ForgeSubscribe
public void render(RenderGameOverlayEvent event) {
if (event.type == RenderGameOverlayEvent.ElementType.ALL) {
if (Minecraft.getMinecraft().currentScreen instanceof GuiIngameMenu) {
GuiButton button = new GuiButton(228, (Minecraft.getMinecraft().currentScreen.width-200)/2, Minecraft.getMinecraft().currentScreen.height-100, "Кнопка");
button.drawButton(mc, 100, 100);
}
}
}
@SubscribeEvent
public void onGuiOpened(final GuiOpenEvent e)
{
if (e.getGui() instanceof GuiIngameMenu)
{
GuiButton button = new GuiButton(228, (Minecraft.getMinecraft().currentScreen.width-200)/2, Minecraft.getMinecraft().currentScreen.height-100, "Кнопка");
button.drawButton(mc, 100, 100);
}
}
В таком случае кнопка появляется и сразу исчезаетIvasik написал(а):Код:@SubscribeEvent public void onGuiOpened(final GuiOpenEvent e) { if (e.getGui() instanceof GuiIngameMenu) { GuiButton button = new GuiButton(228, (Minecraft.getMinecraft().currentScreen.width-200)/2, Minecraft.getMinecraft().currentScreen.height-100, "Кнопка"); button.drawButton(mc, 100, 100); } }
С RenderGameOverlayEvent.Post отображается все равно так жеIvasik написал(а):Ты создаёшь кнопку до того как появится меню, юзай RenderGameOverlayEvent.Post или лучше если открывается GuiInGameMenu то создавать там кнопку, а не этим событием её создавать, так как оно рендерит в GuiInGame.
Причём тут это? Это событие рендерит в GuiInGame, соответственно, если открыто GuiInGameMenu оно перекроет GuiInGame! И да, оно вызывается каждый тик, как и большинство событий, так как GuiInGame ты постоянно видишь.Doc написал(а):А разве RenderGameOverlayEvent не вызывается каждый тик?