diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java index 593abf8..6bc857f 100644 --- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java +++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java @@ -6,6 +6,7 @@ import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand; import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.Setting; import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners.OpenSettingsShortcutListener; import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners.SettingsInventoryListener; +import eu.mhsl.craftattack.spawn.core.util.world.InteractSounds; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -136,6 +137,7 @@ public class Settings extends Appliance { } player.openInventory(inventory); + InteractSounds.of(player).open(); this.openSettingsInventories.put(player, new OpenSettingsInventory(inventory, settings)); } @@ -166,6 +168,7 @@ public class Settings extends Appliance { if(!this.openSettingsInventories.containsKey(player)) return; this.openSettingsInventories.remove(player); player.updateInventory(); + InteractSounds.of(player).close(); } public boolean hasSettingsNotOpen(Player player) { diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java index 728332d..296a46b 100644 --- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java +++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java @@ -3,6 +3,7 @@ package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.dataty import eu.mhsl.craftattack.spawn.core.Main; import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings; import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil; +import eu.mhsl.craftattack.spawn.core.util.world.InteractSounds; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.format.NamedTextColor; @@ -37,7 +38,9 @@ public abstract class Setting { } public void triggerChange(Player p, ClickType clickType) { + if(clickType.equals(ClickType.DOUBLE_CLICK)) return; this.change(p, clickType); + InteractSounds.of(p).click(); this.toStorage(p.getPersistentDataContainer(), this.state()); } diff --git a/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java index 8c54e21..9c1c7e4 100644 --- a/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java +++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java @@ -34,4 +34,12 @@ public class InteractSounds { public void delete() { this.playSound(SoundEventKeys.ENTITY_SILVERFISH_DEATH); } + + public void open() { + this.playSound(SoundEventKeys.BLOCK_BARREL_OPEN); + } + + public void close() { + this.playSound(SoundEventKeys.BLOCK_BARREL_CLOSE); + } }