aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features/garden
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-06-08 01:16:20 +0200
committerLinnea Gräf <nea@nea.moe>2025-06-08 01:16:44 +0200
commitaf57636ae0a674a11318e95c797218f18f768421 (patch)
tree38d759c977cdf5ff5093745cc7e2186f2fad258f /src/main/kotlin/features/garden
parentfc4874d1e353e2f5f8c91ebf8a6584b3e70c9f9c (diff)
downloadFirmament-master.tar.gz
Firmament-master.tar.bz2
Firmament-master.zip
feat: Add composter sound mufflerHEADmaster
Diffstat (limited to 'src/main/kotlin/features/garden')
-rw-r--r--src/main/kotlin/features/garden/HideComposterNoises.kt32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/kotlin/features/garden/HideComposterNoises.kt b/src/main/kotlin/features/garden/HideComposterNoises.kt
new file mode 100644
index 0000000..69207a9
--- /dev/null
+++ b/src/main/kotlin/features/garden/HideComposterNoises.kt
@@ -0,0 +1,32 @@
+package moe.nea.firmament.features.garden
+
+import net.minecraft.entity.passive.WolfSoundVariants
+import net.minecraft.sound.SoundEvent
+import net.minecraft.sound.SoundEvents
+import moe.nea.firmament.annotations.Subscribe
+import moe.nea.firmament.events.SoundReceiveEvent
+import moe.nea.firmament.gui.config.ManagedConfig
+import moe.nea.firmament.util.SBData
+import moe.nea.firmament.util.SkyBlockIsland
+
+object HideComposterNoises {
+ object TConfig : ManagedConfig("composter", Category.GARDEN) {
+ val hideComposterNoises by toggle("no-more-noises") { false }
+ }
+
+ val composterSoundEvents: List<SoundEvent> = listOf(
+ SoundEvents.BLOCK_PISTON_EXTEND,
+ SoundEvents.BLOCK_WATER_AMBIENT,
+ SoundEvents.ENTITY_CHICKEN_EGG,
+ SoundEvents.WOLF_SOUNDS[WolfSoundVariants.Type.CLASSIC]!!.growlSound().value(),
+ )
+
+ @Subscribe
+ fun onNoise(event: SoundReceiveEvent) {
+ if (!TConfig.hideComposterNoises) return
+ if (SBData.skyblockLocation == SkyBlockIsland.GARDEN) {
+ if (event.sound.value() in composterSoundEvents)
+ event.cancel()
+ }
+ }
+}