]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/ClientProxy.java
Upgrade to 1.14.2
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / ClientProxy.java
index 3974c42360af6d7907cd8f4a4d015feac63db99f..c09764cd08f55fd508af0df7857ccfb5abe04aea 100644 (file)
@@ -1,6 +1,8 @@
 package com.irtimaled.bbor.client;
 
+import com.irtimaled.bbor.client.config.ConfigManager;
 import com.irtimaled.bbor.client.events.*;
+import com.irtimaled.bbor.client.gui.LoadSavesScreen;
 import com.irtimaled.bbor.client.gui.SettingsScreen;
 import com.irtimaled.bbor.client.keyboard.Key;
 import com.irtimaled.bbor.client.keyboard.KeyListener;
@@ -8,17 +10,21 @@ import com.irtimaled.bbor.client.providers.*;
 import com.irtimaled.bbor.common.BoundingBoxCache;
 import com.irtimaled.bbor.common.CommonProxy;
 import com.irtimaled.bbor.common.EventBus;
-import com.irtimaled.bbor.common.VillageColorCache;
-import com.irtimaled.bbor.config.ConfigManager;
 
 public class ClientProxy extends CommonProxy {
-    static {
+    public static void registerKeyBindings() {
         Key mainKey = KeyListener.register("bbor.key.toggleActive", "key.keyboard.b")
                 .onKeyPressHandler(ClientRenderer::toggleActive);
         mainKey.register("key.keyboard.g")
                 .onKeyPressHandler(SettingsScreen::show);
         mainKey.register("key.keyboard.o")
                 .onKeyPressHandler(() -> ConfigManager.Toggle(ConfigManager.outerBoxesOnly));
+        mainKey.register("key.keyboard.l")
+                .onKeyPressHandler(LoadSavesScreen::show);
+    }
+
+    public ClientProxy() {
+        ConfigManager.loadConfig();
     }
 
     @Override
@@ -27,8 +33,8 @@ public class ClientProxy extends CommonProxy {
         EventBus.subscribe(DisconnectedFromRemoteServer.class, e -> disconnectedFromServer());
         EventBus.subscribe(InitializeClientReceived.class, this::onInitializeClientReceived);
         EventBus.subscribe(AddBoundingBoxReceived.class, this::addBoundingBox);
-        EventBus.subscribe(RemoveBoundingBoxReceived.class, this::onRemoveBoundingBoxReceived);
         EventBus.subscribe(UpdateWorldSpawnReceived.class, this::onUpdateWorldSpawnReceived);
+        EventBus.subscribe(SaveLoaded.class, e -> clear());
 
         ClientRenderer.registerProvider(new CacheProvider(this::getCache));
 
@@ -38,13 +44,16 @@ public class ClientProxy extends CommonProxy {
     private void disconnectedFromServer() {
         ClientRenderer.deactivate();
         if (ConfigManager.keepCacheBetweenSessions.get()) return;
+        clear();
+    }
+
+    private void clear() {
         SlimeChunkProvider.clear();
         WorldSpawnProvider.clear();
         SpawningSphereProvider.clear();
         CustomBeaconProvider.clear();
         CustomBoxProvider.clear();
         BiomeBorderProvider.clear();
-        VillageColorCache.clear();
         clearCaches();
     }
 
@@ -55,10 +64,6 @@ public class ClientProxy extends CommonProxy {
         cache.addBoundingBoxes(event.getKey(), event.getBoundingBoxes());
     }
 
-    private void onRemoveBoundingBoxReceived(RemoveBoundingBoxReceived event) {
-        super.removeBoundingBox(event.getDimensionId(), event.getKey());
-    }
-
     private void onInitializeClientReceived(InitializeClientReceived event) {
         setWorldSpawn(event.getSpawnX(), event.getSpawnZ());
         setSeed(event.getSeed());