]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/commitdiff
Switch Renderer back to static
authorIrtimaled <irtimaled@gmail.com>
Mon, 2 Dec 2019 06:56:04 +0000 (22:56 -0800)
committerIrtimaled <irtimaled@gmail.com>
Mon, 2 Dec 2019 06:56:04 +0000 (22:56 -0800)
src/main/java/com/irtimaled/bbor/client/ClientProxy.java
src/main/java/com/irtimaled/bbor/client/ClientRenderer.java
src/main/java/com/irtimaled/bbor/client/events/Render.java [deleted file]
src/main/java/com/irtimaled/bbor/client/interop/ClientInterop.java

index cf9afd050e6f7df9d6c0a455f3c75b9b7fe27cf2..ae8fee1ebc2c9163fce95cf545212e4a1be63438 100644 (file)
@@ -21,34 +21,20 @@ public class ClientProxy extends CommonProxy {
                 .onKeyPressHandler(() -> ConfigManager.Toggle(ConfigManager.outerBoxesOnly));
     }
 
-    private ClientRenderer renderer;
-
     @Override
     public void init() {
         super.init();
-        EventBus.subscribe(Render.class, this::render);
         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);
 
-        renderer = new ClientRenderer(this::getCache)
-                .registerProvider(new SlimeChunkProvider())
-                .registerProvider(new WorldSpawnProvider())
-                .registerProvider(new SpawningSphereProvider())
-                .registerProvider(new BeaconProvider())
-                .registerProvider(new CustomBoxProvider())
-                .registerProvider(new BiomeBorderProvider())
-                .registerProvider(new CacheProvider(this::getCache));
+        ClientRenderer.registerProvider(new CacheProvider(this::getCache));
 
         KeyListener.init();
     }
 
-    private void render(Render event) {
-        renderer.render(event.getDimensionId());
-    }
-
     private void disconnectedFromServer() {
         ClientRenderer.deactivate();
         if (ConfigManager.keepCacheBetweenSessions.get()) return;
index 34a8aa4d47a3004f3a1ffac4cbb73c73e9069c1d..68f7c9bd1686d58112c1663c4832de1646ad5e21 100644 (file)
@@ -1,9 +1,8 @@
 package com.irtimaled.bbor.client;
 
 import com.irtimaled.bbor.client.interop.ClientInterop;
-import com.irtimaled.bbor.client.providers.IBoundingBoxProvider;
+import com.irtimaled.bbor.client.providers.*;
 import com.irtimaled.bbor.client.renderers.*;
-import com.irtimaled.bbor.common.BoundingBoxCache;
 import com.irtimaled.bbor.common.MathHelper;
 import com.irtimaled.bbor.common.models.*;
 import com.irtimaled.bbor.config.ConfigManager;
@@ -19,7 +18,7 @@ public class ClientRenderer {
     private static final Map<Class<? extends AbstractBoundingBox>, AbstractRenderer> boundingBoxRendererMap = new HashMap<>();
 
     private static boolean active;
-    private Set<IBoundingBoxProvider> providers = new HashSet<>();
+    private static Set<IBoundingBoxProvider> providers = new HashSet<>();
 
     public static boolean getActive() {
         return active;
@@ -36,10 +35,7 @@ public class ClientRenderer {
         active = false;
     }
 
-    private final GetCache getCache;
-
-    ClientRenderer(GetCache getCache) {
-        this.getCache = getCache;
+    static {
         registerRenderer(BoundingBoxVillage.class, new VillageRenderer());
         registerRenderer(BoundingBoxSlimeChunk.class, new SlimeChunkRenderer());
         registerRenderer(BoundingBoxWorldSpawn.class, new WorldSpawnRenderer());
@@ -48,19 +44,24 @@ public class ClientRenderer {
         registerRenderer(BoundingBoxSpawningSphere.class, new SpawningSphereRenderer());
         registerRenderer(BoundingBoxBeacon.class, new CuboidRenderer());
         registerRenderer(BoundingBoxBiomeBorder.class, new BiomeBorderRenderer());
+
+        registerProvider(new SlimeChunkProvider());
+        registerProvider(new WorldSpawnProvider());
+        registerProvider(new SpawningSphereProvider());
+        registerProvider(new BeaconProvider());
+        registerProvider(new CustomBoxProvider());
+        registerProvider(new BiomeBorderProvider());
     }
 
-    public <T extends AbstractBoundingBox> ClientRenderer registerProvider(IBoundingBoxProvider<T> provider) {
-        this.providers.add(provider);
-        return this;
+    public static <T extends AbstractBoundingBox> void registerProvider(IBoundingBoxProvider<T> provider) {
+        providers.add(provider);
     }
 
-    public <T extends AbstractBoundingBox> ClientRenderer registerRenderer(Class<? extends T> type, AbstractRenderer<T> renderer) {
+    public static <T extends AbstractBoundingBox> void registerRenderer(Class<? extends T> type, AbstractRenderer<T> renderer) {
         boundingBoxRendererMap.put(type, renderer);
-        return this;
     }
 
-    private boolean isWithinRenderDistance(AbstractBoundingBox boundingBox) {
+    private static boolean isWithinRenderDistance(AbstractBoundingBox boundingBox) {
         int renderDistanceBlocks = ClientInterop.getRenderDistanceChunks() * CHUNK_SIZE;
         int minX = MathHelper.floor(PlayerCoords.getX() - renderDistanceBlocks);
         int maxX = MathHelper.floor(PlayerCoords.getX() + renderDistanceBlocks);
@@ -70,7 +71,7 @@ public class ClientRenderer {
         return boundingBox.intersectsBounds(minX, minZ, maxX, maxZ);
     }
 
-    public void render(int dimensionId) {
+    public static void render(int dimensionId) {
         if(!active) return;
 
         Set<AbstractBoundingBox> boundingBoxes = getBoundingBoxes(dimensionId);
@@ -98,7 +99,7 @@ public class ClientRenderer {
         GL11.glEnable(GL11.GL_TEXTURE_2D);
     }
 
-    private Set<AbstractBoundingBox> getBoundingBoxes(int dimensionId) {
+    private static Set<AbstractBoundingBox> getBoundingBoxes(int dimensionId) {
         Set<AbstractBoundingBox> boundingBoxes = new HashSet<>();
         for(IBoundingBoxProvider<?> provider: providers) {
             for (AbstractBoundingBox boundingBox : provider.get(dimensionId)) {
diff --git a/src/main/java/com/irtimaled/bbor/client/events/Render.java b/src/main/java/com/irtimaled/bbor/client/events/Render.java
deleted file mode 100644 (file)
index 46222c0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.irtimaled.bbor.client.events;
-
-public class Render {
-    private final int dimensionId;
-
-    public Render(int dimensionId) {
-        this.dimensionId = dimensionId;
-    }
-
-    public int getDimensionId() {
-        return dimensionId;
-    }
-}
index b313e2db33f60bb25f0f7f9b476f4bb08710d3be..c8c646210dc8e97759621f43c431d9099adfa330 100644 (file)
@@ -1,12 +1,12 @@
 package com.irtimaled.bbor.client.interop;
 
+import com.irtimaled.bbor.client.ClientRenderer;
 import com.irtimaled.bbor.client.PlayerCoords;
 import com.irtimaled.bbor.client.commands.BeaconCommand;
 import com.irtimaled.bbor.client.commands.BoxCommand;
 import com.irtimaled.bbor.client.commands.SeedCommand;
 import com.irtimaled.bbor.client.commands.SpawningSphereCommand;
 import com.irtimaled.bbor.client.events.DisconnectedFromRemoteServer;
-import com.irtimaled.bbor.client.events.Render;
 import com.irtimaled.bbor.client.events.UpdateWorldSpawnReceived;
 import com.irtimaled.bbor.client.providers.SlimeChunkProvider;
 import com.irtimaled.bbor.common.EventBus;
@@ -29,7 +29,7 @@ public class ClientInterop {
 
     public static void render(float partialTicks, EntityPlayerSP player) {
         PlayerCoords.setPlayerPosition(partialTicks, player);
-        EventBus.publish(new Render(player.dimension.getId()));
+        ClientRenderer.render(player.dimension.getId());
     }
 
     public static boolean interceptChatMessage(String message) {