From bb2525d94ec66b3914bae153fd2d13bda3e99969 Mon Sep 17 00:00:00 2001 From: CannibalVox Date: Thu, 12 Mar 2015 12:16:39 -0500 Subject: [PATCH] Moved the onlogin network message to do what it should have been doing --- .../mod_pocketDim/ConnectionHandler.java | 10 ++++------ .../mod_pocketDim/EventHookContainer.java | 3 +-- .../mod_pocketDim/core/PocketManager.java | 7 +++++++ .../mod_pocketDim/helpers/Compactor.java | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java b/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java index 1eab95a..a978b54 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java @@ -1,5 +1,6 @@ package StevenDimDoors.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.network.ClientJoinPacket; import StevenDimDoors.mod_pocketDim.network.DimDoorsNetwork; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -42,17 +43,14 @@ public class ConnectionHandler @SubscribeEvent public void connectionClosed(FMLNetworkEvent.ClientDisconnectionFromServerEvent event) { - if(PocketManager.isConnected) - { - PocketManager.unload(); - } + PocketManager.tryUnload(); } @SubscribeEvent public void playerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { - // Hax... please don't do this! >_< - PocketManager.getDimwatcher().onCreated(new ClientDimData(PocketManager.createDimensionDataDangerously(0))); + // Hax... please don't do this! >_< + DimDoorsNetwork.sendToPlayer(new ClientJoinPacket(), event.player); } } \ No newline at end of file diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java b/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java index 2704b29..c241004 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java @@ -119,10 +119,9 @@ public class EventHookContainer // fires before we can use DimensionManager and onServerStarting fires // after the game tries to generate terrain. If a gateway tries to // generate before PocketManager has initialized, we get a crash. - if (!PocketManager.isLoaded()) + if (!event.world.isRemote && !PocketManager.isLoaded()) { PocketManager.load(); - PocketManager.isConnected = true; } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java index 9a5090c..a476e36 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java @@ -629,6 +629,13 @@ public class PocketManager return (ArrayList) rootDimensions.clone(); } + public static void tryUnload() { + if (isConnected) + unload(); + isLoading = false; + isLoaded = false; + } + public static void unload() { System.out.println("Unloading Pocket Dimensions..."); diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/helpers/Compactor.java b/src/main/java/StevenDimDoors/mod_pocketDim/helpers/Compactor.java index b5dc629..8a9aba7 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/helpers/Compactor.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/helpers/Compactor.java @@ -33,11 +33,11 @@ public class Compactor { output.writeInt(dimension.id()); output.writeInt(dimension.root().id()); + output.writeInt(dimension.type().index); output.writeInt(dimension.linkCount()); for (DimLink link : dimension.links()) { - Point4D.write(link.source(), output); - output.writeInt(link.orientation()); + (new ClientLinkData(link)).write(output); } }