diff --git a/README.md b/README.md index 22d9690..0c486b2 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,11 @@ As a challenge I'm trying to make it as user-friendly as possible. (It ain't the - [x] Teleportation Angle Viewer for [this machine](https://www.youtube.com/watch?v=FnUE-ZaALLw) ![Teleportation Keybindings](https://i.imgur.com/gjO1H3d.png) - [x] Removed game fog (lava, water, etc.) - - [ ] Made it toggleable -- [ ] Mod Menu integration + - [x] All types individually toggleable +- [x] Mod Menu integration + - [x] Automatic config adaption (currently booleans only) +- [x] Removed darkness effect + - [x] Toggleable # Features to come diff --git a/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java b/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java index 4757a5c..94e7367 100644 --- a/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java +++ b/src/client/java/wtf/hak/survivalfabric/SurvivalFabricClient.java @@ -3,6 +3,7 @@ package wtf.hak.survivalfabric; import net.fabricmc.api.ClientModInitializer; import wtf.hak.survivalfabric.config.client.ClientConfigManager; import wtf.hak.survivalfabric.features.AngleViewer; +import wtf.hak.survivalfabric.features.RemoveDarknessEffect; public class SurvivalFabricClient implements ClientModInitializer { @@ -10,5 +11,6 @@ public class SurvivalFabricClient implements ClientModInitializer { public void onInitializeClient() { ClientConfigManager.getConfig(); AngleViewer.register(); + RemoveDarknessEffect.register(); } } \ No newline at end of file diff --git a/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java b/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java index 86c9799..5c3e8e8 100644 --- a/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java +++ b/src/client/java/wtf/hak/survivalfabric/config/client/ClientConfig.java @@ -9,4 +9,5 @@ public class ClientConfig { public boolean renderLavaFog = false; public boolean renderWaterFog = false; public boolean renderSnowFog = false; + public boolean removeDarknessEffect = true; } diff --git a/src/client/java/wtf/hak/survivalfabric/features/RemoveDarknessEffect.java b/src/client/java/wtf/hak/survivalfabric/features/RemoveDarknessEffect.java new file mode 100644 index 0000000..2744053 --- /dev/null +++ b/src/client/java/wtf/hak/survivalfabric/features/RemoveDarknessEffect.java @@ -0,0 +1,19 @@ +package wtf.hak.survivalfabric.features; + +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import wtf.hak.survivalfabric.config.client.ClientConfigManager; + +public class RemoveDarknessEffect { + + public static void register() { + ClientTickEvents.END_CLIENT_TICK.register(client -> { + if(client.player != null && ClientConfigManager.getConfig().removeDarknessEffect){ + StatusEffectInstance darknessEffect = client.player.getStatusEffect(StatusEffects.DARKNESS); + if(darknessEffect != null) + client.player.removeStatusEffect(darknessEffect.getEffectType()); + } + }); + } +}