diff options
Diffstat (limited to 'src/main')
3 files changed, 100 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MutingComposter.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MutingComposter.java new file mode 100644 index 00000000..4b4d655b --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MutingComposter.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2023 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>. + */ + +package io.github.moulberry.notenoughupdates.miscfeatures; + +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.autosubscribe.NEUAutoSubscribe; +import io.github.moulberry.notenoughupdates.util.SBInfo; +import net.minecraftforge.client.event.sound.PlaySoundEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import java.util.Arrays; +import java.util.List; + +@NEUAutoSubscribe +public class MutingComposter { + + private static final MutingComposter INSTANCE = new MutingComposter(); + private final List<String> mutableSounds = Arrays.asList( + "mob.wolf.growl", + "tile.piston.out", + "liquid.water", + "mob.chicken.plop" + ); + + public static MutingComposter getInstance() { + return INSTANCE; + } + + protected boolean isEnabled() { + return SBInfo.getInstance().getLocation().equals("garden") + && NotEnoughUpdates.INSTANCE.config.garden.muteComposterSounds; + } + + @SubscribeEvent + public void onSoundPlay(PlaySoundEvent event) { + if (mutableSounds.contains(event.name) && isEnabled() && event.sound.getXPosF() == -11.5 && event.sound.getYPosF() == 72.5 && event.sound.getZPosF() == -26.5) { + event.result = null; + } + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java index a289ca51..6d6963e3 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java @@ -34,6 +34,8 @@ import io.github.moulberry.notenoughupdates.miscgui.GuiEnchantColour; import io.github.moulberry.notenoughupdates.miscgui.GuiInvButtonEditor; import io.github.moulberry.notenoughupdates.miscgui.NEUOverlayPlacements; import io.github.moulberry.notenoughupdates.options.customtypes.NEUDebugFlag; +import io.github.moulberry.notenoughupdates.options.seperateSections.Garden; +import io.github.moulberry.notenoughupdates.options.seperateSections.WorldConfig; import io.github.moulberry.notenoughupdates.options.seperateSections.AHGraph; import io.github.moulberry.notenoughupdates.options.seperateSections.AHTweaks; import io.github.moulberry.notenoughupdates.options.seperateSections.AccessoryBag; @@ -295,6 +297,13 @@ public class NEUConfig extends Config { @Expose @Category( + name = "Garden", + desc = "Garden" + ) + public Garden garden = new Garden(); + + @Expose + @Category( name = "NEU Auction House", desc = "NEU Auction House" ) diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Garden.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Garden.java new file mode 100644 index 00000000..8d0e564c --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Garden.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2022 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>. + */ + +package io.github.moulberry.notenoughupdates.options.seperateSections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; + +public class Garden { + @Expose + @ConfigOption( + name = "Mute Composter", + desc = "Mute sounds of composting" + ) + @ConfigEditorBoolean + public boolean muteComposterSounds = false; +} |