From d923e678a022ba49265a2a02903e900efb320422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20R=2E=20O?= Date: Tue, 2 Apr 2024 03:57:09 -0300 Subject: [PATCH 1/8] Add new sound-related action types --- .../java/com/extendedclip/deluxemenus/action/ActionType.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java index f8433157..bb2c7408 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java @@ -32,8 +32,11 @@ public enum ActionType { CLOSE("[close]", "Close the viewers open menu", "- '[close]"), REFRESH("[refresh]", "Refresh items in the current menu view", "- '[refresh]"), BROADCAST_SOUND("[broadcastsound]", "Broadcast a sound to the server", "- '[broadcastsound]"), + BROADCAST_RAW_SOUND("[rawsound]", "Broadcast a RAW sound to the server", "- '[rawsound]"), BROADCAST_WORLD_SOUND("[broadcastsoundworld]", "Broadcast a sound to the player's world", "- '[broadcastsoundworld]"), + BROADCAST_WORLD_RAW_SOUND("[rawsoundworld]", "Broadcast a RAW sound to the player's world", "- '[rawsoundworld]"), PLAY_SOUND("[sound]", "Play a sound for a the specific player", "- '[sound]"), + PLAY_RAW_SOUND("[rawsound]", "Play a RAW sound for a the specific player", "- '[rawsound]"), TAKE_MONEY("[takemoney]", "Take money from a player (requires Vault)", "- '[takemoney] "), GIVE_MONEY("[givemoney]", "Give money to a player (requires Vault)", "- '[givemoney] "), TAKE_EXP("[takeexp]", "Take exp points/levels from a player", "- '[takeexp] L'"), From b560619fd391f7db07b48a1826a0f30e360663ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20R=2E=20O?= Date: Tue, 2 Apr 2024 03:57:20 -0300 Subject: [PATCH 2/8] Refactor sound handling in ClickActionTask --- .../deluxemenus/action/ClickActionTask.java | 54 +++++++++++++++---- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java index e2b26b31..c6a865bf 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java @@ -338,13 +338,19 @@ public void run() { break; case BROADCAST_SOUND: + case BROADCAST_RAW_SOUND: case BROADCAST_WORLD_SOUND: + case BROADCAST_WORLD_RAW_SOUND: + case PLAY_RAW_SOUND: case PLAY_SOUND: - final Sound sound; + boolean isRaw = isRaw(actionType); + + Sound sound = null; + final String soundName = executable; float volume = 1; float pitch = 1; - if (!executable.contains(" ")) { + if (!executable.contains(" ") && !isRaw) { try { sound = Sound.valueOf(executable.toUpperCase()); } catch (final IllegalArgumentException exception) { @@ -357,14 +363,16 @@ public void run() { } else { String[] parts = executable.split(" ", 3); - try { - sound = Sound.valueOf(parts[0].toUpperCase()); - } catch (final IllegalArgumentException exception) { - DeluxeMenus.printStacktrace( - "Sound name given for sound action: " + parts[0] + ", is not a valid sound!", - exception - ); - break; + if (!isRaw) { + try { + sound = Sound.valueOf(parts[0].toUpperCase()); + } catch (final IllegalArgumentException exception) { + DeluxeMenus.printStacktrace( + "Sound name given for sound action: " + parts[0] + ", is not a valid sound!", + exception + ); + break; + } } if (parts.length == 3) { @@ -401,6 +409,27 @@ public void run() { } } + if (isRaw) { + switch (actionType) { + case BROADCAST_WORLD_RAW_SOUND: + for (final Player target : player.getWorld().getPlayers()) { + target.playSound(target.getLocation(), soundName, volume, pitch); + } + break; + + case BROADCAST_RAW_SOUND: + for (final Player target : Bukkit.getOnlinePlayers()) { + target.playSound(target.getLocation(), soundName, volume, pitch); + } + break; + + case PLAY_RAW_SOUND: + player.playSound(player.getLocation(), soundName, volume, pitch); + break; + } + break; + } + switch (actionType) { case BROADCAST_SOUND: for (final Player target : Bukkit.getOnlinePlayers()) { @@ -424,4 +453,9 @@ public void run() { break; } } + + private boolean isRaw(ActionType actionType) { + return actionType == ActionType.PLAY_RAW_SOUND || actionType == ActionType.BROADCAST_RAW_SOUND || actionType == ActionType.BROADCAST_WORLD_RAW_SOUND; + } + } \ No newline at end of file From 95abfd55eaddc3a9658e14d982c81567d74caee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20R=2E=20O?= Date: Tue, 2 Apr 2024 04:03:22 -0300 Subject: [PATCH 3/8] Refactor sound handling in ClickActionTask --- .../deluxemenus/action/ClickActionTask.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java index c6a865bf..090ac298 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java @@ -350,15 +350,17 @@ public void run() { float volume = 1; float pitch = 1; - if (!executable.contains(" ") && !isRaw) { - try { - sound = Sound.valueOf(executable.toUpperCase()); - } catch (final IllegalArgumentException exception) { - DeluxeMenus.printStacktrace( - "Sound name given for sound action: " + executable + ", is not a valid sound!", - exception - ); - break; + if (!executable.contains(" ")) { + if (!isRaw) { + try { + sound = Sound.valueOf(executable.toUpperCase()); + } catch (final IllegalArgumentException exception) { + DeluxeMenus.printStacktrace( + "Sound name given for sound action: " + executable + ", is not a valid sound!", + exception + ); + break; + } } } else { String[] parts = executable.split(" ", 3); From 930406f7d3350d291047288e3eadf0f58d162ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20R=2E=20O?= Date: Tue, 2 Apr 2024 04:27:37 -0300 Subject: [PATCH 4/8] Fix soundName assignment in ClickActionTask --- .../com/extendedclip/deluxemenus/action/ClickActionTask.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java index 090ac298..917c2439 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java @@ -346,7 +346,7 @@ public void run() { boolean isRaw = isRaw(actionType); Sound sound = null; - final String soundName = executable; + String soundName = executable; float volume = 1; float pitch = 1; @@ -375,6 +375,8 @@ public void run() { ); break; } + } else { + soundName = parts[0]; } if (parts.length == 3) { From 67d4565df3d1fa0bb7c94168ab256d7934a153e6 Mon Sep 17 00:00:00 2001 From: "Martin R. O" Date: Sun, 4 Aug 2024 21:26:57 -0300 Subject: [PATCH 5/8] refactor: update ActionType enum for sound-related actions --- .../java/com/extendedclip/deluxemenus/action/ActionType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java index bb2c7408..b64b7a37 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java @@ -32,7 +32,7 @@ public enum ActionType { CLOSE("[close]", "Close the viewers open menu", "- '[close]"), REFRESH("[refresh]", "Refresh items in the current menu view", "- '[refresh]"), BROADCAST_SOUND("[broadcastsound]", "Broadcast a sound to the server", "- '[broadcastsound]"), - BROADCAST_RAW_SOUND("[rawsound]", "Broadcast a RAW sound to the server", "- '[rawsound]"), + BROADCAST_RAW_SOUND("[broadcastrawsound]", "Broadcast a RAW sound to the server", "- '[broadcastrawsound]"), BROADCAST_WORLD_SOUND("[broadcastsoundworld]", "Broadcast a sound to the player's world", "- '[broadcastsoundworld]"), BROADCAST_WORLD_RAW_SOUND("[rawsoundworld]", "Broadcast a RAW sound to the player's world", "- '[rawsoundworld]"), PLAY_SOUND("[sound]", "Play a sound for a the specific player", "- '[sound]"), From 0a1bd38b6b14c99a35fb96ebe90aff0b0f948f65 Mon Sep 17 00:00:00 2001 From: "Martin R. O" Date: Sun, 4 Aug 2024 21:28:16 -0300 Subject: [PATCH 6/8] chore: Refactor sound handling in ClickActionTask --- .../deluxemenus/action/ClickActionTask.java | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java index 917c2439..61a627f3 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java @@ -413,28 +413,22 @@ public void run() { } } - if (isRaw) { - switch (actionType) { - case BROADCAST_WORLD_RAW_SOUND: - for (final Player target : player.getWorld().getPlayers()) { - target.playSound(target.getLocation(), soundName, volume, pitch); - } - break; - - case BROADCAST_RAW_SOUND: - for (final Player target : Bukkit.getOnlinePlayers()) { - target.playSound(target.getLocation(), soundName, volume, pitch); - } - break; + switch (actionType) { + case BROADCAST_WORLD_RAW_SOUND: + for (final Player target : player.getWorld().getPlayers()) { + target.playSound(target.getLocation(), soundName, volume, pitch); + } + break; - case PLAY_RAW_SOUND: - player.playSound(player.getLocation(), soundName, volume, pitch); - break; - } - break; - } + case BROADCAST_RAW_SOUND: + for (final Player target : Bukkit.getOnlinePlayers()) { + target.playSound(target.getLocation(), soundName, volume, pitch); + } + break; - switch (actionType) { + case PLAY_RAW_SOUND: + player.playSound(player.getLocation(), soundName, volume, pitch); + break; case BROADCAST_SOUND: for (final Player target : Bukkit.getOnlinePlayers()) { target.playSound(target.getLocation(), sound, volume, pitch); From e7479ac42c003a32388099e3d52274bb779d1a4b Mon Sep 17 00:00:00 2001 From: "Martin R. O" Date: Wed, 7 Aug 2024 19:22:25 -0300 Subject: [PATCH 7/8] Refactor sound handling in ClickActionTask --- .../extendedclip/deluxemenus/action/ClickActionTask.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java index c49fcd08..020bbb89 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java @@ -429,14 +429,14 @@ public void run() { switch (actionType) { case BROADCAST_WORLD_RAW_SOUND: - for (final Player target : player.getWorld().getPlayers()) { - target.playSound(target.getLocation(), soundName, volume, pitch); + for (final Player broadcastTarget : player.getWorld().getPlayers()) { + broadcastTarget.playSound(broadcastTarget.getLocation(), soundName, volume, pitch); } break; case BROADCAST_RAW_SOUND: - for (final Player target : Bukkit.getOnlinePlayers()) { - target.playSound(target.getLocation(), soundName, volume, pitch); + for (final Player broadcastTarget : Bukkit.getOnlinePlayers()) { + broadcastTarget.playSound(broadcastTarget.getLocation(), soundName, volume, pitch); } break; From a1623d758f0f5b008f02549c3dbec62c5e9142a2 Mon Sep 17 00:00:00 2001 From: "Martin R. O" Date: Fri, 9 Aug 2024 14:49:48 -0300 Subject: [PATCH 8/8] refactor: update ActionType enum for sound-related actions --- .../java/com/extendedclip/deluxemenus/action/ActionType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java index b64b7a37..01966471 100644 --- a/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java +++ b/src/main/java/com/extendedclip/deluxemenus/action/ActionType.java @@ -34,7 +34,7 @@ public enum ActionType { BROADCAST_SOUND("[broadcastsound]", "Broadcast a sound to the server", "- '[broadcastsound]"), BROADCAST_RAW_SOUND("[broadcastrawsound]", "Broadcast a RAW sound to the server", "- '[broadcastrawsound]"), BROADCAST_WORLD_SOUND("[broadcastsoundworld]", "Broadcast a sound to the player's world", "- '[broadcastsoundworld]"), - BROADCAST_WORLD_RAW_SOUND("[rawsoundworld]", "Broadcast a RAW sound to the player's world", "- '[rawsoundworld]"), + BROADCAST_WORLD_RAW_SOUND("[broadcastrawsoundworld]", "Broadcast a RAW sound to the player's world", "- '[broadcastrawsoundworld]"), PLAY_SOUND("[sound]", "Play a sound for a the specific player", "- '[sound]"), PLAY_RAW_SOUND("[rawsound]", "Play a RAW sound for a the specific player", "- '[rawsound]"), TAKE_MONEY("[takemoney]", "Take money from a player (requires Vault)", "- '[takemoney] "),