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;
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
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));
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();
}
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());