aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--FEATURES.md5
-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
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