]> git.lizzy.rs Git - LightOverlay.git/commitdiff
Merge pull request #82
authorPlamen K. Kosseff <plamen@anti-ad.org>
Tue, 16 Feb 2021 05:14:57 +0000 (07:14 +0200)
committerGitHub <noreply@github.com>
Tue, 16 Feb 2021 05:14:57 +0000 (13:14 +0800)
* Adds option to not render the overlay in mushroom biomes.

common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java
common/src/main/java/me/shedaniel/lightoverlay/common/LightOverlay.java
common/src/main/resources/assets/lightoverlay/lang/en_us.json

index 42021c36b445c3c1e9c76c6eefb07fbf0f12e83e..71753438c159b4e71689ef2ecaffb8002ae0539a 100644 (file)
@@ -33,6 +33,7 @@ public class ClothScreen {
         general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build());
         general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.smoothLines"), LightOverlay.smoothLines).setDefaultValue(true).setSaveConsumer(bool -> LightOverlay.smoothLines = bool).build());
         general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build());
+        general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.mushroom"), LightOverlay.mushroom).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.mushroom = bool).build());
         general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> new TextComponent("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build());
         general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build());
         general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build());
index ec86af8545a8ef408f71bd4ac5f296b27d06dcd7..f6e3eb7556086f8872e5e977a5597f603eaba293 100644 (file)
@@ -33,8 +33,10 @@ import net.minecraft.world.level.BlockGetter;
 import net.minecraft.world.level.ChunkPos;
 import net.minecraft.world.level.Level;
 import net.minecraft.world.level.LightLayer;
+import net.minecraft.world.level.biome.Biome;
 import net.minecraft.world.level.block.Block;
 import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.chunk.ChunkBiomeContainer;
 import net.minecraft.world.level.chunk.ChunkStatus;
 import net.minecraft.world.level.chunk.LevelChunk;
 import net.minecraft.world.level.lighting.LayerLightEventListener;
@@ -68,9 +70,11 @@ public class LightOverlay {
     public static boolean showNumber = false;
     public static boolean smoothLines = true;
     public static boolean underwater = false;
+    public static boolean mushroom = false;
     public static float lineWidth = 1.0F;
     public static int yellowColor = 0xFFFF00, redColor = 0xFF0000, secondaryColor = 0x0000FF;
     public static File configFile;
+
     private static KeyMapping enableOverlay;
     private static boolean enabled = false;
     private static final LazyLoadedValue<EntityType<Entity>> TESTING_ENTITY_TYPE = new LazyLoadedValue<>(() ->
@@ -250,6 +254,8 @@ public class LightOverlay {
         // Check block state allow spawning (excludes bedrock and barriers automatically)
         if (!blockBelowState.isValidSpawn(world, down, TESTING_ENTITY_TYPE.get()))
             return CrossType.NONE;
+        if (!mushroom && CLIENT.level != null && Biome.BiomeCategory.MUSHROOM.equals(CLIENT.level.getBiome(pos).getBiomeCategory()))
+            return CrossType.NONE;
         int blockLightLevel = block.getLightValue(pos);
         int skyLightLevel = sky.getLightValue(pos);
         if (blockLightLevel > higherCrossLevel)
index 53465501db09a22be84422e4af9b721c4bc6a51c..201186b05e551c2efa52875ef35447f5a95570f8 100755 (executable)
@@ -14,5 +14,6 @@
   "config.lightoverlay.yellowColor": "Yellow Color:",
   "config.lightoverlay.secondaryColor": "Secondary Color:",
   "config.lightoverlay.redColor": "Red Color:",
-  "config.lightoverlay.invalidColor": "Invalid Color"
+  "config.lightoverlay.invalidColor": "Invalid Color",
+  "config.lightoverlay.mushroom": "Display in Mushroom Biomes:"
 }
\ No newline at end of file