aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java1
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/Misc.java36
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/ParticleHider.kt38
3 files changed, 70 insertions, 5 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java
index 962471ec2..8dede3fd8 100644
--- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java
+++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java
@@ -191,6 +191,7 @@ public class SkyHanniMod {
loadModule(new MinionCraftHelper());
loadModule(new HideDeadEntities());
loadModule(new TpsCounter());
+ loadModule(new ParticleHider());
Commands.INSTANCE.init();
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java b/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java
index 467a6c1b6..994b5c9ac 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java
@@ -167,24 +167,50 @@ public class Misc {
public Position tpsDisplayPosition = new Position(10, 10, false, true);
@Expose
- @ConfigOption(name = "Exp Bottles", desc = "Hides all the experience bottles lying on the ground.")
- @ConfigEditorBoolean
- public boolean hideExpBottles = false;
+ @ConfigOption(name = "Particle Hider", desc = "")
+ @ConfigEditorAccordion(id = 9)
+ public boolean particleHider = false;
@Expose
@ConfigOption(name = "Blaze Particles", desc = "Hide blaze particles")
@ConfigEditorBoolean
+ @ConfigAccordionId(id = 9)
public boolean hideBlazeParticles = false;
@Expose
@ConfigOption(name = "Fireball Particles", desc = "Hide fireball particles")
@ConfigEditorBoolean
- public boolean hideFireballParticles = false;
+ @ConfigAccordionId(id = 9)
+ public boolean hideFireballParticles = true;
@Expose
@ConfigOption(name = "Fire Particles", desc = "Hide particles from the fire block.")
@ConfigEditorBoolean
- public boolean hideFireBlockParticles = false;
+ @ConfigAccordionId(id = 9)
+ public boolean hideFireBlockParticles = true;
+
+ @Expose
+ @ConfigOption(name = "Smoke Particle", desc = "Hide smoke particles.")
+ @ConfigEditorBoolean
+ @ConfigAccordionId(id = 9)
+ public boolean hideSmokeParticles = false;
+
+ @Expose
+ @ConfigOption(name = "Far Particles", desc = "Hide particles that are more than 40 blocks away.")
+ @ConfigEditorBoolean
+ @ConfigAccordionId(id = 9)
+ public boolean hideFarParticles = true;
+
+ @Expose
+ @ConfigOption(name = "Close Redstone Particles", desc = "Hide redstone particles around the player. (They spawn when having some potion effects active)")
+ @ConfigEditorBoolean
+ @ConfigAccordionId(id = 9)
+ public boolean hideCloseRedstoneparticles = true;
+
+ @Expose
+ @ConfigOption(name = "Exp Bottles", desc = "Hides all the experience bottles lying on the ground.")
+ @ConfigEditorBoolean
+ public boolean hideExpBottles = false;
@Expose
@ConfigOption(name = "Collection Counter Position", desc = "Tracking the number of items you collect. §cDoes not work with sacks.")
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/ParticleHider.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/ParticleHider.kt
new file mode 100644
index 000000000..1f4eda9a5
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/ParticleHider.kt
@@ -0,0 +1,38 @@
+package at.hannibal2.skyhanni.features.misc
+
+import at.hannibal2.skyhanni.SkyHanniMod
+import at.hannibal2.skyhanni.events.ReceiveParticleEvent
+import at.hannibal2.skyhanni.utils.LocationUtils
+import net.minecraft.util.EnumParticleTypes
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+
+class ParticleHider {
+
+ @SubscribeEvent
+ fun onHypExplosions(event: ReceiveParticleEvent) {
+ val distance = event.location.distance(LocationUtils.playerLocation())
+ if (SkyHanniMod.feature.misc.hideFarParticles) {
+ if (distance > 40) {
+ event.isCanceled = true
+ return
+ }
+ }
+
+ val type = event.type
+ if (SkyHanniMod.feature.misc.hideCloseRedstoneparticles) {
+ if (type == EnumParticleTypes.REDSTONE) {
+ if (distance < 2) {
+ event.isCanceled = true
+ return
+ }
+ }
+ }
+
+ if (SkyHanniMod.feature.misc.hideFireballParticles) {
+ if (type == EnumParticleTypes.SMOKE_NORMAL || type == EnumParticleTypes.SMOKE_LARGE) {
+ event.isCanceled = true
+ return
+ }
+ }
+ }
+} \ No newline at end of file