diff options
Diffstat (limited to 'src/main/kotlin/features/garden')
| -rw-r--r-- | src/main/kotlin/features/garden/HideComposterNoises.kt | 34 |
1 files changed, 34 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..edd511f --- /dev/null +++ b/src/main/kotlin/features/garden/HideComposterNoises.kt @@ -0,0 +1,34 @@ +package moe.nea.firmament.features.garden + +import net.minecraft.world.entity.animal.wolf.WolfSoundVariants +import net.minecraft.sounds.SoundEvent +import net.minecraft.sounds.SoundEvents +import moe.nea.firmament.annotations.Subscribe +import moe.nea.firmament.events.SoundReceiveEvent +import moe.nea.firmament.util.SBData +import moe.nea.firmament.util.SkyBlockIsland +import moe.nea.firmament.util.data.Config +import moe.nea.firmament.util.data.ManagedConfig + +object HideComposterNoises { + @Config + object TConfig : ManagedConfig("composter", Category.GARDEN) { + val hideComposterNoises by toggle("no-more-noises") { false } + } + + val composterSoundEvents: List<SoundEvent> = listOf( + SoundEvents.PISTON_EXTEND, + SoundEvents.WATER_AMBIENT, + SoundEvents.CHICKEN_EGG, + SoundEvents.WOLF_SOUNDS[WolfSoundVariants.SoundSet.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() + } + } +} |
