diff --git a/core/src/main/java/net/momirealms/customfishing/bukkit/action/BukkitActionManager.java b/core/src/main/java/net/momirealms/customfishing/bukkit/action/BukkitActionManager.java index 3b8faef5..bb9409c7 100644 --- a/core/src/main/java/net/momirealms/customfishing/bukkit/action/BukkitActionManager.java +++ b/core/src/main/java/net/momirealms/customfishing/bukkit/action/BukkitActionManager.java @@ -693,14 +693,18 @@ public class BukkitActionManager implements ActionManager { private void registerSoundAction() { registerAction((args, chance) -> { if (args instanceof Section section) { - Sound sound = Sound.sound( - Key.key(section.getString("key")), - Sound.Source.valueOf(section.getString("source", "PLAYER").toUpperCase(Locale.ENGLISH)), - section.getDouble("volume", 1.0).floatValue(), - section.getDouble("pitch", 1.0).floatValue() - ); + MathValue volume = MathValue.auto(section.get("volume")); + MathValue pitch = MathValue.auto(section.get("pitch")); + Key key = Key.key(section.getString("key")); + Sound.Source source = Sound.Source.valueOf(section.getString("source", "PLAYER").toUpperCase(Locale.ENGLISH)); return context -> { if (Math.random() > chance.evaluate(context)) return; + Sound sound = Sound.sound( + key, + source, + (float) volume.evaluate(context), + (float) pitch.evaluate(context) + ); Audience audience = plugin.getSenderFactory().getAudience(context.holder()); AdventureHelper.playSound(audience, sound); };