Fix crash when cancelling change to multiplayer server

This commit is contained in:
Marcel Konrad
2018-04-11 15:50:34 +02:00
parent 36a2ffa335
commit a6c6e171f5
2 changed files with 34 additions and 12 deletions

View File

@@ -11,7 +11,7 @@ apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
def mcversion = "1.12.2"
def modversion = "2.1.2"
def modversion = "2.1.3"
def mccompatible = "1.12"
def url = "https://minecraft.curseforge.com/projects/world-handler-command-gui"
def update_url = "https://raw.githubusercontent.com/Exopandora/worldhandler/master/version.json"

View File

@@ -40,19 +40,41 @@ public class ContentChangeWorld extends ContentChild
case 3:
ServerData server = Minecraft.getMinecraft().getCurrentServerData();
Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket();
Minecraft.getMinecraft().loadWorld((WorldClient)null);
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
if(server != null)
{
@Override
public void initGui()
Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket();
Minecraft.getMinecraft().loadWorld((WorldClient)null);
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
{
FMLClientHandler.instance().connectToServer(new GuiMultiplayer(new GuiMainMenu()), server);
Minecraft.getMinecraft().displayGuiScreen((GuiScreen) null);
Minecraft.getMinecraft().setIngameFocus();
}
}));
@Override
public void initGui()
{
FMLClientHandler.instance().connectToServer(new GuiMultiplayer(new GuiMainMenu()), server);
Minecraft.getMinecraft().displayGuiScreen((GuiScreen) null);
Minecraft.getMinecraft().setIngameFocus();
}
}));
}
else
{
String worldName = Minecraft.getMinecraft().getIntegratedServer().getWorldName();
String folderName = Minecraft.getMinecraft().getIntegratedServer().getFolderName();
Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket();
Minecraft.getMinecraft().loadWorld((WorldClient)null);
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
{
@Override
public void initGui()
{
Minecraft.getMinecraft().launchIntegratedServer(folderName, worldName, null);
Minecraft.getMinecraft().displayGuiScreen((GuiScreen) null);
Minecraft.getMinecraft().setIngameFocus();
}
}));
}
break;
default:
break;