diff options
Diffstat (limited to 'src/main/java')
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 |