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