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. //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 mcversion = "1.12.2"
def modversion = "2.1.2" def modversion = "2.1.3"
def mccompatible = "1.12" def mccompatible = "1.12"
def url = "https://minecraft.curseforge.com/projects/world-handler-command-gui" def url = "https://minecraft.curseforge.com/projects/world-handler-command-gui"
def update_url = "https://raw.githubusercontent.com/Exopandora/worldhandler/master/version.json" 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: case 3:
ServerData server = Minecraft.getMinecraft().getCurrentServerData(); ServerData server = Minecraft.getMinecraft().getCurrentServerData();
Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket(); if(server != null)
Minecraft.getMinecraft().loadWorld((WorldClient)null);
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
{ {
@Override Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket();
public void initGui() Minecraft.getMinecraft().loadWorld((WorldClient)null);
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
{ {
FMLClientHandler.instance().connectToServer(new GuiMultiplayer(new GuiMainMenu()), server); @Override
Minecraft.getMinecraft().displayGuiScreen((GuiScreen) null); public void initGui()
Minecraft.getMinecraft().setIngameFocus(); {
} 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; break;
default: default:
break; break;