diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | FEATURES.md | 5 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/SkyHanniMod.java | 1 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/Misc.java | 36 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/ParticleHider.kt | 38 |
5 files changed, 73 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 196293292..945842ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ + Added **Tps Display** - Show the Tps of the current server. + Added Kuudra Key Number overlay. + Added colored highlight support for zealots, bruisers and special zealots. ++ Added more particle hiders. (Far particles, near redstone particles and smoke particles) ## Removals - Removed Blaze slayer Pillar warning + timer (The Feature caused lags and Soopy's approach is better) diff --git a/FEATURES.md b/FEATURES.md index ba468fe7b..11e9c64aa 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -173,7 +173,6 @@ - Option to hide all damage splashes, from anywhere in Skyblock. - Hide armor or just helmet of other player or yourself - Display the active non-god potion effects. -- Option to hide blaze particles. - Wishing compass uses amount display. - Brewing Stand Overlay. - Crimson Isle Reputation Helper. @@ -181,5 +180,5 @@ + **Tia Relay Waypoint** - Show the next Relay waypoint for Tia The Fairy, where maintenance for the abiphone network needs to be done. + **Tia Relay Helper** - Helps with solving the sound puzzle. + **Hide dead entities** - Similar to Skytil's feature for inside dungeon, but for everywhere. -+ Hide Fireball particles and hide Fire Block particles. -+ **Tps Display** - Show the Tps of the current server.
\ No newline at end of file ++ **Tps Display** - Show the Tps of the current server. ++ **Particle Hider** - Hide blaze particles, fire block particles, fireball particles, near redstone particles, far particles or smoke particles.
\ No newline at end of file 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 |