]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/commitdiff
Fixes #13
authorIrtimaled <irtimaled@gmail.com>
Mon, 23 Feb 2015 14:02:06 +0000 (14:02 +0000)
committerIrtimaled <irtimaled@gmail.com>
Mon, 23 Feb 2015 15:33:53 +0000 (15:33 +0000)
Sorry about that!

java/com/irtimaled/bbor/CommonProxy.java
java/com/irtimaled/bbor/DimensionProcessor.java
java/com/irtimaled/bbor/forge/ForgeCommonProxy.java

index 02700b9512446b87a3fb5d37c9c33a0df143b7aa..3f6c2a64a919b39801609e28d26a0fcdaf1523d1 100644 (file)
@@ -8,12 +8,13 @@ import net.minecraft.world.gen.ChunkProviderServer;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-public class CommonProxy implements IEventHandler {
+public class CommonProxy {
 
     public Map<Integer, BoundingBoxCache> boundingBoxCacheMap = new ConcurrentHashMap<Integer, BoundingBoxCache>();
 
     public ConfigManager configManager;
     protected WorldData worldData;
+    private IEventHandler eventHandler = null;
 
     public void init(ConfigManager configManager) {
         this.configManager = configManager;
@@ -26,7 +27,7 @@ public class CommonProxy implements IEventHandler {
             setWorldData(new WorldData(world.getSeed(), world.getWorldInfo().getSpawnX(), world.getWorldInfo().getSpawnZ()));
             int dimensionId = world.provider.getDimensionId();
             Logger.info("create world dimension: %d, %s (chunkprovider: %s) (seed: %d)", dimensionId, world.getClass().toString(), chunkProvider.getClass().toString(), worldData.getSeed());
-            boundingBoxCacheMap.put(dimensionId, new DimensionProcessor(this, configManager, world, dimensionId, chunkProvider));
+            boundingBoxCacheMap.put(dimensionId, new DimensionProcessor(eventHandler, configManager, world, dimensionId, chunkProvider));
         }
     }
 
@@ -37,9 +38,6 @@ public class CommonProxy implements IEventHandler {
         }
     }
 
-    public void boundingBoxRemoved(BoundingBox bb) {
-    }
-
     public WorldData getWorldData() {
         return worldData;
     }
@@ -47,4 +45,8 @@ public class CommonProxy implements IEventHandler {
     public void setWorldData(WorldData worldData) {
         this.worldData = worldData;
     }
+
+    public void setEventHandler(IEventHandler eventHandler) {
+        this.eventHandler = eventHandler;
+    }
 }
index 5062a52dfd696dd78b8493989a3a990f2f34fd4c..afa2eb725d667823ee38f479eb60cb7cc6e94534 100644 (file)
@@ -187,7 +187,9 @@ public class DimensionProcessor extends BoundingBoxCache {
     private void processDelta(Map<Integer, BoundingBoxVillage> oldVillages, Map<Integer, BoundingBoxVillage> newVillages) {
         for (BoundingBox village : oldVillages.values()) {
             removeBoundingBox(village);
-            eventHandler.boundingBoxRemoved(village);
+            if(eventHandler!=null) {
+                eventHandler.boundingBoxRemoved(village);
+            }
         }
         for (BoundingBox village : newVillages.values()) {
             if (!isCached(village))
index 141b73517884e084e975572d940d9bd49e807dca..55489e5822115422d86ec9b07aaa2858b6118d0f 100644 (file)
@@ -35,7 +35,9 @@ public class ForgeCommonProxy implements IEventHandler {
     private CommonProxy commonProxy;
 
     public void init(ConfigManager configManager) {
-        getProxy().init(configManager);
+        CommonProxy proxy = getProxy();
+        proxy.setEventHandler(this);
+        proxy.init(configManager);
         network = NetworkRegistry.INSTANCE.newSimpleChannel("bbor");
         network.registerMessage(AddBoundingBoxMessageHandler.class, AddBoundingBoxMessage.class, 0, Side.CLIENT);
         network.registerMessage(RemoveBoundingBoxMessageHandler.class, RemoveBoundingBoxMessage.class, 1, Side.CLIENT);
@@ -157,10 +159,6 @@ public class ForgeCommonProxy implements IEventHandler {
         getProxy().setWorldData(worldData);
     }
 
-    public void setConfigManager(ConfigManager configManager) {
-        getProxy().configManager = configManager;
-    }
-
     public void addBoundingBox(int dimension, BoundingBox key, Set<BoundingBox> boundingBoxes) {
         Map<Integer, BoundingBoxCache> boundingBoxCacheMap = getProxy().boundingBoxCacheMap;
         if (!boundingBoxCacheMap.containsKey(dimension)) {