aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-07-16 07:11:23 -0500
committeringlettronald <inglettronald@gmail.com>2023-07-16 07:11:23 -0500
commit46e64e85b65d3a6d896f352a7b9de8323870c96d (patch)
tree00b006433f493e24b1036f3d2b33e203ce5fbf25 /src/main/kotlin/com
parent59f0d43c301b926bef01439adb7ab2a5d465837b (diff)
downloadDulkirMod-Fabric-46e64e85b65d3a6d896f352a7b9de8323870c96d.tar.gz
DulkirMod-Fabric-46e64e85b65d3a6d896f352a7b9de8323870c96d.tar.bz2
DulkirMod-Fabric-46e64e85b65d3a6d896f352a7b9de8323870c96d.zip
Explosion Particles Culling Option
Diffstat (limited to 'src/main/kotlin/com')
-rw-r--r--src/main/kotlin/com/dulkirfabric/Registrations.kt1
-rw-r--r--src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt6
-rw-r--r--src/main/kotlin/com/dulkirfabric/events/AddParticleEvent.kt8
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt19
4 files changed, 33 insertions, 1 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/Registrations.kt b/src/main/kotlin/com/dulkirfabric/Registrations.kt
index d8dea01..5fa7cd8 100644
--- a/src/main/kotlin/com/dulkirfabric/Registrations.kt
+++ b/src/main/kotlin/com/dulkirfabric/Registrations.kt
@@ -58,6 +58,7 @@ object Registrations {
EVENT_BUS.subscribe(AliasImpl)
EVENT_BUS.subscribe(EffigyDisplay)
EVENT_BUS.subscribe(TablistUtils)
+ EVENT_BUS.subscribe(CullExplosionParticles)
}
fun registerEvents() {
diff --git a/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt
index c9fd0dd..75bd592 100644
--- a/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt
+++ b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt
@@ -101,6 +101,9 @@ class DulkirConfig {
general.addEntry(
entryBuilder.mkToggle(Text.literal("Inactive Effigy Waypoints"), configOptions::inactiveEffigyDisplay)
)
+ general.addEntry(
+ entryBuilder.mkToggle(Text.literal("Disable Explosion Particles"), configOptions::disableExplosionParticles)
+ )
val shortcuts = builder.getOrCreateCategory(Text.literal("Shortcuts"))
shortcuts.addEntry(
@@ -156,7 +159,8 @@ class DulkirConfig {
var abiPhoneCallerID: Boolean = false,
var tooltipScale: Float = 1f,
var statusEffectHidden: Boolean = false,
- var inactiveEffigyDisplay: Boolean = false
+ var inactiveEffigyDisplay: Boolean = false,
+ var disableExplosionParticles: Boolean = false
)
@Serializable
diff --git a/src/main/kotlin/com/dulkirfabric/events/AddParticleEvent.kt b/src/main/kotlin/com/dulkirfabric/events/AddParticleEvent.kt
new file mode 100644
index 0000000..2091adf
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/events/AddParticleEvent.kt
@@ -0,0 +1,8 @@
+package com.dulkirfabric.events
+
+import com.dulkirfabric.events.base.CancellableEvent
+import net.minecraft.client.particle.Particle
+
+data class AddParticleEvent(
+ val particle: Particle
+) : CancellableEvent() \ No newline at end of file
diff --git a/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt b/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt
new file mode 100644
index 0000000..8c034b6
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt
@@ -0,0 +1,19 @@
+package com.dulkirfabric.features
+
+import com.dulkirfabric.events.AddParticleEvent
+import meteordevelopment.orbit.EventHandler
+import net.minecraft.client.particle.ExplosionLargeParticle
+
+/**
+ * Remove nearby Explosions that would be intrusive visually
+ */
+object CullExplosionParticles {
+
+ @EventHandler
+ fun onParticle(event: AddParticleEvent) {
+ val particle = event.particle
+ if (particle is ExplosionLargeParticle) {
+ event.cancel()
+ }
+ }
+} \ No newline at end of file