Как отобразить GUI над уже существующим GUI

Версия Minecraft
1.7.10
1,159
38
544
Здарова всем. Хочу сделать диалоговое окно, подтверждающее действие игрока. Только вот все способы нарисовать GUI, которые я знаю, закрывают предыдущее GUI.

Java:
// Все три способа закрвают предыдущее GUI
Minecraft.getMinecraft().displayGuiScreen(new Dialog());
player.getEntityPlayer().openGui(RSStats.instance, RSStats.DIALOG_GUI_CODE, player.getEntityPlayer().worldObj, (int) player.getEntityPlayer().posX, (int) player.getEntityPlayer().posY, (int) player.getEntityPlayer().posZ);
FMLClientHandler.instance().displayGuiScreen(this.player.getEntityPlayer(), new Dialog());

Кто-нибудь знает как быть?
 
1,159
38
544
1,159
38
544
И какое исключение выкидывает?
net.minecraft.util.ReportedException: Rendering screen
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1168) ~[EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Caused by: java.lang.NullPointerException
at rsstats.client.gui.MainMenuGUI$Dialog.drawScreen(MainMenuGUI.java:345) ~[MainMenuGUI$Dialog.class:?]
at rsstats.client.gui.MainMenuGUI.drawScreen(MainMenuGUI.java:307) ~[MainMenuGUI.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137) ~[EntityRenderer.class:?]
... 11 more
[10:27:45] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ----
// Ooh. Shiny.

Time: 25.05.18 10:27
Description: Rendering screen

java.lang.NullPointerException: Rendering screen
at rsstats.client.gui.MainMenuGUI$Dialog.drawScreen(MainMenuGUI.java:345)
at rsstats.client.gui.MainMenuGUI.drawScreen(MainMenuGUI.java:307)
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
at net.minecraft.client.Minecraft.run(Minecraft.java:962)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at rsstats.client.gui.MainMenuGUI$Dialog.drawScreen(MainMenuGUI.java:345)
at rsstats.client.gui.MainMenuGUI.drawScreen(MainMenuGUI.java:307)

-- Screen render details --
Details:
Screen name: rsstats.client.gui.MainMenuGUI
Mouse location: Scaled: (226, 84). Absolute: (453, 311)
Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Player738'/224, l='MpServer', x=75,67, y=64,62, z=232,33]]
Chunk stats: MultiplayerChunkCache: 565, 565
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options:
Level spawn location: World: (113,64,288), Chunk: (at 1,4,0 in 7,18; contains blocks 112,0,288 to 127,255,303), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 140911 game time, 22744 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 70 total; [EntityBat['Летучая мышь'/128, l='MpServer', x=142,96, y=44,11, z=311,15], EntitySpider['Паук'/130, l='MpServer', x=154,56, y=64,00, z=304,28], EntityCreeper['Крипер'/13, l='MpServer', x=-1,69, y=31,00, z=261,69], EntityCreeper['Крипер'/15, l='MpServer', x=7,41, y=30,00, z=170,53], EntitySpider['Паук'/18, l='MpServer', x=3,06, y=29,00, z=251,34], EntityCreeper['Крипер'/19, l='MpServer', x=0,47, y=31,00, z=262,03], EntitySquid['Спрут'/22, l='MpServer', x=13,66, y=57,16, z=179,81], EntitySquid['Спрут'/23, l='MpServer', x=17,38, y=52,38, z=194,09], EntityZombie['Зомби'/24, l='MpServer', x=16,03, y=30,00, z=265,41], EntitySkeleton['Скелет'/25, l='MpServer', x=29,50, y=16,00, z=284,50], EntityZombie['Зомби'/26, l='MpServer', x=22,03, y=31,00, z=275,50], EntitySkeleton['Скелет'/27, l='MpServer', x=21,56, y=30,00, z=279,50], EntitySquid['Спрут'/35, l='MpServer', x=42,28, y=56,38, z=252,91], EntityChicken['Курица'/38, l='MpServer', x=62,53, y=62,38, z=196,53], EntitySquid['Спрут'/39, l='MpServer', x=57,56, y=53,72, z=189,56], EntitySquid['Спрут'/40, l='MpServer', x=56,50, y=47,31, z=233,98], EntitySquid['Спрут'/41, l='MpServer', x=48,50, y=46,34, z=245,13], EntityZombie['Зомби'/42, l='MpServer', x=61,50, y=63,00, z=297,50], EntityItem['item.item.egg'/50, l='MpServer', x=64,84, y=50,13, z=197,88], EntityCreeper['Крипер'/51, l='MpServer', x=67,00, y=62,34, z=247,97], EntityZombie['Зомби'/52, l='MpServer', x=65,25, y=63,00, z=295,88], EntityBat['Летучая мышь'/59, l='MpServer', x=111,78, y=37,25, z=192,07], EntitySquid['Спрут'/60, l='MpServer', x=104,82, y=55,00, z=236,52], EntitySheep['Овца'/61, l='MpServer', x=108,26, y=65,00, z=262,44], EntitySkeleton['Скелет'/62, l='MpServer', x=104,50, y=18,00, z=288,94], EntitySkeleton['Скелет'/63, l='MpServer', x=102,69, y=17,00, z=290,69], EntitySkeleton['Скелет'/64, l='MpServer', x=102,88, y=50,00, z=312,50], EntityCreeper['Крипер'/66, l='MpServer', x=122,50, y=63,00, z=253,31], EntityItem['item.item.egg'/67, l='MpServer', x=121,88, y=62,13, z=244,22], EntityChicken['Курица'/68, l='MpServer', x=128,44, y=65,00, z=244,53], EntitySheep['Овца'/69, l='MpServer', x=116,31, y=64,00, z=248,78], EntityBat['Летучая мышь'/70, l='MpServer', x=124,92, y=27,00, z=260,41], EntityCreeper['Крипер'/71, l='MpServer', x=115,50, y=22,00, z=284,50], EntityBat['Летучая мышь'/72, l='MpServer', x=116,41, y=20,10, z=284,78], EntityBat['Летучая мышь'/73, l='MpServer', x=124,40, y=15,21, z=272,41], EntitySlime['Слизень'/74, l='MpServer', x=121,31, y=35,00, z=277,31], EntityCreeper['Крипер'/75, l='MpServer', x=121,50, y=35,00, z=281,50], EntityBat['Летучая мышь'/76, l='MpServer', x=113,86, y=21,05, z=283,34], EntityBat['Летучая мышь'/77, l='MpServer', x=115,48, y=20,37, z=303,49], EntityBat['Летучая мышь'/78, l='MpServer', x=116,45, y=18,13, z=288,58], EntitySkeleton['Скелет'/86, l='MpServer', x=134,56, y=24,81, z=256,27], EntityCreeper['Крипер'/87, l='MpServer', x=135,58, y=24,00, z=256,21], EntityChicken['Курица'/88, l='MpServer', x=127,75, y=65,00, z=250,03], EntityCow['Корова'/89, l='MpServer', x=127,31, y=65,00, z=248,43], EntityZombie['Зомби'/90, l='MpServer', x=135,50, y=69,00, z=255,50], EntityCow['Корова'/91, l='MpServer', x=128,50, y=69,00, z=260,25], EntityPig['Свинья'/92, l='MpServer', x=126,90, y=70,00, z=254,08], EntityZombie['Зомби'/93, l='MpServer', x=134,47, y=69,00, z=260,84], EntityCreeper['Крипер'/94, l='MpServer', x=141,31, y=65,00, z=262,72], EntityItem['item.item.egg'/95, l='MpServer', x=135,03, y=63,13, z=283,31], EntityChicken['Курица'/96, l='MpServer', x=135,44, y=64,00, z=281,63], EntitySkeleton['Скелет'/97, l='MpServer', x=142,47, y=27,00, z=297,94], EntityChicken['Курица'/98, l='MpServer', x=137,47, y=63,00, z=301,59], EntityCow['Корова'/99, l='MpServer', x=126,48, y=71,17, z=290,37], EntityBat['Летучая мышь'/100, l='MpServer', x=130,52, y=28,75, z=309,46], EntityClientPlayerMP['Player738'/224, l='MpServer', x=75,67, y=64,62, z=232,33], EntityZombie['Зомби'/109, l='MpServer', x=154,45, y=24,00, z=209,55], EntityZombie['Зомби'/110, l='MpServer', x=153,50, y=26,00, z=218,50], EntityZombie['Зомби'/111, l='MpServer', x=154,50, y=26,00, z=217,50], EntitySkeleton['Скелет'/623, l='MpServer', x=37,50, y=17,00, z=285,50], EntityZombie['Зомби'/112, l='MpServer', x=155,50, y=26,00, z=219,50], EntitySpider['Паук'/624, l='MpServer', x=39,50, y=17,00, z=284,50], EntityCreeper['Крипер'/625, l='MpServer', x=36,50, y=17,00, z=285,50], EntitySkeleton['Скелет'/117, l='MpServer', x=144,50, y=63,00, z=250,16], EntityChicken['Курица'/118, l='MpServer', x=144,63, y=68,00, z=241,41], EntityChicken['Курица'/120, l='MpServer', x=153,56, y=71,00, z=252,53], EntityZombie['Зомби'/121, l='MpServer', x=153,30, y=26,14, z=287,70], EntityChicken['Курица'/122, l='MpServer', x=154,21, y=67,00, z=274,47], EntityCow['Корова'/123, l='MpServer', x=154,15, y=71,00, z=271,50], EntityZombie['Зомби'/126, l='MpServer', x=154,30, y=26,18, z=288,70]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566)
at net.minecraft.client.Minecraft.run(Minecraft.java:984)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)
 
1,159
38
544
7,099
324
1,510
Не справиться с NPE в своем же коде? Серьезно?
Надо было юзать Option

Можно на джаве?
Java:
//YourGui
var alert:YourAlertGui=null

//YourGui#drawScreen
if(alert!=null)
    alert.drawScreen(...)

//YourGui#actionPerformed, или еще где-то, где нужно открывать YourAlertGui поверх YourGui
alert=new YourAlertGui(...)
 
Сверху