aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorheyngra <heyngra.wspolpraca@gmail.com>2023-02-18 14:53:11 +0100
committerGitHub <noreply@github.com>2023-02-18 14:53:11 +0100
commitbfb3bb0f2e5075534dc8814de668d49aed643d0c (patch)
tree7be66c3a3a8fddb9b8c1896327e942ba55e591ca /src/main/java
parent1d75ac44c20fafd9f834dc7c01066a85a74f89e7 (diff)
downloadNotEnoughUpdates-bfb3bb0f2e5075534dc8814de668d49aed643d0c.tar.gz
NotEnoughUpdates-bfb3bb0f2e5075534dc8814de668d49aed643d0c.tar.bz2
NotEnoughUpdates-bfb3bb0f2e5075534dc8814de668d49aed643d0c.zip
Add option to mute composter (#618)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MutingComposter.java57
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Garden.java34
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;
+}