]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/config/BoundingBoxTypeHelper.java
Don't provide client side boxes if they are off
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / config / BoundingBoxTypeHelper.java
1 package com.irtimaled.bbor.client.config;
2
3 import com.irtimaled.bbor.common.BoundingBoxType;
4 import com.irtimaled.bbor.config.ConfigManager;
5 import com.irtimaled.bbor.config.Setting;
6
7 import java.util.HashMap;
8 import java.util.Map;
9
10 public class BoundingBoxTypeHelper {
11     private static final Map<String, Setting<Boolean>> structureTypeMap = new HashMap<>();
12
13     private static void registerType(BoundingBoxType type, Setting<Boolean> shouldRenderSetting) {
14         structureTypeMap.put(type.getName(), shouldRenderSetting);
15     }
16
17     static {
18         registerType(BoundingBoxType.WorldSpawn, ConfigManager.drawWorldSpawn);
19         registerType(BoundingBoxType.SpawnChunks, ConfigManager.drawWorldSpawn);
20         registerType(BoundingBoxType.LazySpawnChunks, ConfigManager.drawLazySpawnChunks);
21         registerType(BoundingBoxType.MobSpawner, ConfigManager.drawMobSpawners);
22         registerType(BoundingBoxType.SlimeChunks, ConfigManager.drawSlimeChunks);
23         registerType(BoundingBoxType.AFKSphere, ConfigManager.drawAFKSpheres);
24         registerType(BoundingBoxType.BiomeBorder, ConfigManager.drawBiomeBorders);
25         registerType(BoundingBoxType.Beacon, ConfigManager.drawBeacons);
26         registerType(BoundingBoxType.Conduit, ConfigManager.drawConduits);
27
28         registerType(BoundingBoxType.JungleTemple, ConfigManager.drawJungleTemples);
29         registerType(BoundingBoxType.DesertTemple, ConfigManager.drawDesertTemples);
30         registerType(BoundingBoxType.WitchHut, ConfigManager.drawWitchHuts);
31         registerType(BoundingBoxType.OceanMonument, ConfigManager.drawOceanMonuments);
32         registerType(BoundingBoxType.Shipwreck, ConfigManager.drawShipwrecks);
33         registerType(BoundingBoxType.OceanRuin, ConfigManager.drawOceanRuins);
34         registerType(BoundingBoxType.BuriedTreasure, ConfigManager.drawBuriedTreasure);
35         registerType(BoundingBoxType.Stronghold, ConfigManager.drawStrongholds);
36         registerType(BoundingBoxType.MineShaft, ConfigManager.drawMineShafts);
37         registerType(BoundingBoxType.NetherFortress, ConfigManager.drawNetherFortresses);
38         registerType(BoundingBoxType.EndCity, ConfigManager.drawEndCities);
39         registerType(BoundingBoxType.Mansion, ConfigManager.drawMansions);
40         registerType(BoundingBoxType.Igloo, ConfigManager.drawIgloos);
41         registerType(BoundingBoxType.PillagerOutpost, ConfigManager.drawPillagerOutposts);
42         registerType(BoundingBoxType.Village, ConfigManager.drawVillages);
43         registerType(BoundingBoxType.VillageSpheres, ConfigManager.drawVillageSpheres);
44         registerType(BoundingBoxType.NetherFossil, ConfigManager.drawNetherFossils);
45         registerType(BoundingBoxType.BastionRemnant, ConfigManager.drawBastionRemnants);
46         registerType(BoundingBoxType.RuinedPortal, ConfigManager.drawRuinedPortals);
47     }
48
49     public static boolean shouldRender(BoundingBoxType type) {
50         Setting<Boolean> setting = structureTypeMap.get(type.getName());
51         return setting != null ? setting.get() : false;
52     }
53 }