Make client disconnect from old server before connecting to a new one
This commit is contained in:
@@ -5,9 +5,14 @@ import exopandora.worldhandler.gui.container.Container;
|
|||||||
import exopandora.worldhandler.gui.content.impl.abstr.ContentChild;
|
import exopandora.worldhandler.gui.content.impl.abstr.ContentChild;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.GuiButton;
|
import net.minecraft.client.gui.GuiButton;
|
||||||
|
import net.minecraft.client.gui.GuiMainMenu;
|
||||||
import net.minecraft.client.gui.GuiMultiplayer;
|
import net.minecraft.client.gui.GuiMultiplayer;
|
||||||
|
import net.minecraft.client.gui.GuiScreen;
|
||||||
import net.minecraft.client.gui.GuiWorldSelection;
|
import net.minecraft.client.gui.GuiWorldSelection;
|
||||||
|
import net.minecraft.client.multiplayer.ServerData;
|
||||||
|
import net.minecraft.client.multiplayer.WorldClient;
|
||||||
import net.minecraft.client.resources.I18n;
|
import net.minecraft.client.resources.I18n;
|
||||||
|
import net.minecraftforge.fml.client.FMLClientHandler;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
@@ -33,7 +38,21 @@ public class ContentChangeWorld extends ContentChild
|
|||||||
Minecraft.getMinecraft().displayGuiScreen(new GuiWorldSelection(container));
|
Minecraft.getMinecraft().displayGuiScreen(new GuiWorldSelection(container));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(container));
|
ServerData server = Minecraft.getMinecraft().getCurrentServerData();
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().world.sendQuittingDisconnectingPacket();
|
||||||
|
Minecraft.getMinecraft().loadWorld((WorldClient)null);
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().displayGuiScreen(new GuiMultiplayer(new GuiScreen()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void initGui()
|
||||||
|
{
|
||||||
|
FMLClientHandler.instance().connectToServer(new GuiMultiplayer(new GuiMainMenu()), server);
|
||||||
|
Minecraft.getMinecraft().displayGuiScreen((GuiScreen) null);
|
||||||
|
Minecraft.getMinecraft().setIngameFocus();
|
||||||
|
}
|
||||||
|
}));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user