From 9aa9651a6d367d066aa5f090e17a0a18350b6e0f Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Sun, 19 Jan 2014 03:15:07 -0500 Subject: [PATCH 1/2] Fixed client dimData, link color, and nether doors --- .../mod_pocketDim/ConnectionHandler.java | 6 ++++-- .../mod_pocketDim/core/DDTeleporter.java | 2 +- .../mod_pocketDim/core/PocketManager.java | 21 ++++++++++++------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java b/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java index 7fe47b0..2e596d7 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/ConnectionHandler.java @@ -17,6 +17,7 @@ import net.minecraftforge.common.network.ForgePacket; import net.minecraftforge.common.network.packet.DimensionRegisterPacket; import StevenDimDoors.mod_pocketDim.core.NewDimData; import StevenDimDoors.mod_pocketDim.core.PocketManager; +import StevenDimDoors.mod_pocketDim.watcher.ClientDimData; import cpw.mods.fml.common.network.IConnectionHandler; import cpw.mods.fml.common.network.Player; @@ -31,10 +32,11 @@ public class ConnectionHandler implements IConnectionHandler { Packet250CustomPayload[] pkt = ForgePacket.makePacketSet(new DimensionRegisterPacket(data.id(), DimensionManager.getProviderType(data.id()))); manager.addToSendQueue(pkt[0]); + } catch(Exception E) { - + E.printStackTrace(); } @@ -64,7 +66,7 @@ public class ConnectionHandler implements IConnectionHandler @Override public void playerLoggedIn(Player player, NetHandler netHandler, INetworkManager manager) { - //Send information about all the registered dimensions and links to the client + PocketManager.getDimwatcher().onCreated(new ClientDimData(PocketManager.getDimensionData(0))); } } \ No newline at end of file diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/core/DDTeleporter.java b/src/main/java/StevenDimDoors/mod_pocketDim/core/DDTeleporter.java index 95e61ee..7aea893 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/core/DDTeleporter.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/core/DDTeleporter.java @@ -319,7 +319,7 @@ public class DDTeleporter { // We need to do all this special stuff to move a player between dimensions. //Give the client the dimensionData for the destination - PocketManager.dimWatcher.onCreated(new ClientDimData(PocketManager.getDimensionData(destination.getDimension()))); + PocketManager.getDimwatcher().onCreated(new ClientDimData(PocketManager.getDimensionData(destination.getDimension()))); diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java index 097b2c3..4c4b4f0 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java @@ -214,8 +214,8 @@ public class PocketManager * Set as true if we are a client that has connected to a dedicated server */ public static volatile boolean isConnected = false; - public static final UpdateWatcherProxy linkWatcher = new UpdateWatcherProxy(); - static final UpdateWatcherProxy dimWatcher = new UpdateWatcherProxy(); + private static final UpdateWatcherProxy linkWatcher = new UpdateWatcherProxy(); + private static final UpdateWatcherProxy dimWatcher = new UpdateWatcherProxy(); private static ArrayList rootDimensions = null; //HashMap that maps all the dimension IDs registered with DimDoors to their DD data. @@ -253,6 +253,7 @@ public class PocketManager //Shouldnt try to load everything if we are a client //This was preventing onPacket from loading properly isLoading=false; + isLoaded=true; return; } //Register Limbo @@ -298,7 +299,7 @@ public class PocketManager } PocketManager.dimensionData.put(dimData.id, dimData); - dimWatcher.onCreated(new ClientDimData(dimData)); + getDimwatcher().onCreated(new ClientDimData(dimData)); return true; } @@ -340,7 +341,7 @@ public class PocketManager dimensionData.remove(dimensionID); // Raise the dim deleted event - dimWatcher.onDeleted(new ClientDimData(dimension)); + getDimwatcher().onDeleted(new ClientDimData(dimension)); dimension.clear(); return true; } @@ -530,7 +531,7 @@ public class PocketManager { rootDimensions.add(dimension); } - dimWatcher.onCreated(new ClientDimData(dimension)); + getDimwatcher().onCreated(new ClientDimData(dimension)); return dimension; } @@ -656,12 +657,11 @@ public class PocketManager } public static void registerDimWatcher(IUpdateWatcher watcher) { - dimWatcher.registerReceiver(watcher); + getDimwatcher().registerReceiver(watcher); } - public static boolean unregisterDimWatcher(IUpdateWatcher watcher) { - return dimWatcher.unregisterReceiver(watcher); + return getDimwatcher().unregisterReceiver(watcher); } public static void registerLinkWatcher(IUpdateWatcher watcher) @@ -721,4 +721,9 @@ public class PocketManager isLoading = false; isConnected = true; } + + public static UpdateWatcherProxy getDimwatcher() + { + return dimWatcher; + } } From 8b108688f178c9acbac654d3eec69542552ee629 Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Sun, 19 Jan 2014 03:21:34 -0500 Subject: [PATCH 2/2] Clear status effects when entering limbo --- .../java/StevenDimDoors/mod_pocketDim/EventHookContainer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java b/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java index 19b7b1c..a1c7c6b 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java @@ -100,6 +100,8 @@ public class EventHookContainer Point4D destination = new Point4D((int) (coords.posX+entity.posX), coords.posY, (int) (coords.posZ+entity.posZ ), mod_pocketDim.properties.LimboDimensionID); DDTeleporter.teleportEntity(player, destination, false); player.setHealth(player.getMaxHealth()); + player.extinguish(); + player.clearActivePotions(); event.setCanceled(true); return false; }