From 7240f34ff0a181bd8e09eee1b3b405a74bde5901 Mon Sep 17 00:00:00 2001 From: EmrageGHC Date: Wed, 26 Feb 2025 16:24:14 +0100 Subject: [PATCH 1/4] fix PressurePlateListener --- .../listener/PressurePlateListener.java | 25 +++++++++++++++---- src/main/resources/config.yml | 15 ++++++++++- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java index a293d62..247ac7e 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java @@ -5,6 +5,7 @@ import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.Particle; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -40,9 +41,8 @@ public class PressurePlateListener implements Listener { config.getDouble("spawn-location.y", 200), config.getDouble("spawn-location.z", 0) ); - // Verwende die zentrale Nachricht aus der messages.json teleportMessage = L4M4.get("pressureplate.teleport"); - teleportDelay = 5*20L; // Default to 5 seconds (100 ticks) + teleportDelay = 5 * 20L; } @EventHandler @@ -59,11 +59,26 @@ public class PressurePlateListener implements Listener { }; task.runTaskLater(plugin, teleportDelay); playerTasks.put(event.getPlayer().getUniqueId(), task); + + new BukkitRunnable() { + @Override + public void run() { + if (playerTasks.containsKey(event.getPlayer().getUniqueId())) { + event.getPlayer().getWorld().spawnParticle(Particle.PORTAL, event.getPlayer().getLocation(), 30, 0.5, 0.5, 0.5, 0.1); + } else { + cancel(); + } + } + }.runTaskTimer(plugin, 0, 10); } } else { if (playerTasks.containsKey(event.getPlayer().getUniqueId())) { - playerTasks.get(event.getPlayer().getUniqueId()).cancel(); - playerTasks.remove(event.getPlayer().getUniqueId()); + if (event.getFrom().getBlockX() != event.getTo().getBlockX() || + event.getFrom().getBlockY() != event.getTo().getBlockY() || + event.getFrom().getBlockZ() != event.getTo().getBlockZ()) { + playerTasks.get(event.getPlayer().getUniqueId()).cancel(); + playerTasks.remove(event.getPlayer().getUniqueId()); + } } } } @@ -75,4 +90,4 @@ public class PressurePlateListener implements Listener { event.setCancelled(true); } } -} +} \ No newline at end of file diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index dd4a5e3..a428008 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -2,4 +2,17 @@ op-prefix: '[Team[Player] ' discord-report-webhook: '' discord-url: 'https://discord.gg/cww2YDt2bx' -tab_update_interval: 5 #Seconds \ No newline at end of file +tab_update_interval: 5 #Seconds +isEndOpen: false + +pressure-plate: + world: "world" + x: 1 + y: 68 + z: 0 + +spawn-location: + world: "world" + x: 0 + y: 200 + z: 0 \ No newline at end of file From af781435b6ec3a539d0697867ba160db286572aa Mon Sep 17 00:00:00 2001 From: DaTTV <104141141+DrFreezyYT@users.noreply.github.com> Date: Wed, 26 Feb 2025 16:41:38 +0100 Subject: [PATCH 2/4] Fix typo --- .../papermc/blazesmp/listener/PressurePlateListener.java | 6 +++--- src/main/resources/config.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java index 247ac7e..c98b61a 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java @@ -31,7 +31,7 @@ public class PressurePlateListener implements Listener { FileConfiguration config = plugin.getConfig(); pressurePlateLocation = new Location( Bukkit.getWorld(config.getString("pressure-plate.world", "world")), - config.getDouble("pressure-plate.x", 1), + config.getDouble("pressure-plate.x", 0), config.getDouble("pressure-plate.y", 68), config.getDouble("pressure-plate.z", 0) ); @@ -74,8 +74,8 @@ public class PressurePlateListener implements Listener { } else { if (playerTasks.containsKey(event.getPlayer().getUniqueId())) { if (event.getFrom().getBlockX() != event.getTo().getBlockX() || - event.getFrom().getBlockY() != event.getTo().getBlockY() || - event.getFrom().getBlockZ() != event.getTo().getBlockZ()) { + event.getFrom().getBlockY() != event.getTo().getBlockY() || + event.getFrom().getBlockZ() != event.getTo().getBlockZ()) { playerTasks.get(event.getPlayer().getUniqueId()).cancel(); playerTasks.remove(event.getPlayer().getUniqueId()); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index a428008..0fcbe3f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -7,7 +7,7 @@ isEndOpen: false pressure-plate: world: "world" - x: 1 + x: 0 y: 68 z: 0 From 2f6a9051af595e6e32eb09cc3e26649dea7e0158 Mon Sep 17 00:00:00 2001 From: EmrageGHC Date: Wed, 26 Feb 2025 16:50:36 +0100 Subject: [PATCH 3/4] fix PressurePlateListener --- .../papermc/blazesmp/listener/PressurePlateListener.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java index c98b61a..b52ba33 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PressurePlateListener.java @@ -2,6 +2,8 @@ package me.freezy.plugins.papermc.blazesmp.listener; import me.freezy.plugins.papermc.blazesmp.BlazeSMP; import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -24,7 +26,7 @@ public class PressurePlateListener implements Listener { private final Location pressurePlateLocation; private final Location spawnLocation; private final Map playerTasks = new HashMap<>(); - private final String teleportMessage; + private final Component teleportMessage; private final long teleportDelay; public PressurePlateListener() { @@ -41,7 +43,7 @@ public class PressurePlateListener implements Listener { config.getDouble("spawn-location.y", 200), config.getDouble("spawn-location.z", 0) ); - teleportMessage = L4M4.get("pressureplate.teleport"); + teleportMessage = MiniMessage.miniMessage().deserialize(L4M4.get("pressureplate.teleport")); teleportDelay = 5 * 20L; } From 727ac2651dd2e1c42dc38b807e6d40b9aa1f4ffd Mon Sep 17 00:00:00 2001 From: DaTTV <104141141+DrFreezyYT@users.noreply.github.com> Date: Wed, 26 Feb 2025 17:18:24 +0100 Subject: [PATCH 4/4] Fix click event in messages --- .../papermc/blazesmp/command/ClanCommand.java | 20 ++++++++++++------- .../blazesmp/listener/PlayerChatListener.java | 5 ++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/command/ClanCommand.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/ClanCommand.java index 1382417..35b6923 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/command/ClanCommand.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/ClanCommand.java @@ -7,7 +7,6 @@ import me.freezy.plugins.papermc.blazesmp.module.manager.Clans; import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.TextDecoration; -import static net.kyori.adventure.text.minimessage.MiniMessage.miniMessage; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; @@ -20,6 +19,8 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; +import static net.kyori.adventure.text.minimessage.MiniMessage.miniMessage; + public class ClanCommand extends SimpleCommand { private final Clans clans; @@ -66,7 +67,8 @@ public class ClanCommand extends SimpleCommand { } String clanName = args[1]; String clanTag = String.join(" ", Arrays.copyOfRange(args, 2, args.length)); - Component tagComponent = miniMessage().deserialize(clanTag); + String formattedMessage = clanTag.replaceAll("]+>(.*?)", "$1"); + Component tagComponent = miniMessage().deserialize(formattedMessage); Clan newClan = new Clan(clanName, tagComponent, playerUUID); clans.addClan(newClan); @@ -678,6 +680,7 @@ public class ClanCommand extends SimpleCommand { } String whatToModify = args[1].toLowerCase(); String newValue = String.join(" ", Arrays.copyOfRange(args, 2, args.length)); + String formattedMessage = newValue.replaceAll("]+>(.*?)", "$1"); Clan currentClan = clans.getClanByMember(playerUUID); if (currentClan == null) { player.sendMessage(miniMessage().deserialize(L4M4.get("error.clan_not_found"))); @@ -692,11 +695,11 @@ public class ClanCommand extends SimpleCommand { )); } case "tag" -> { - Component newTag = miniMessage().deserialize(newValue); + Component newTag = miniMessage().deserialize(formattedMessage); currentClan.setTag(newTag); currentClan.save(); player.sendMessage(miniMessage().deserialize( - String.format("Clan tag changed to %s.", newValue) + String.format("Clan tag changed to %s.", formattedMessage) )); } default -> player.sendMessage(miniMessage().deserialize(L4M4.get("error.modify_invalid"))); @@ -778,7 +781,8 @@ public class ClanCommand extends SimpleCommand { .filter(s -> s.startsWith(args[1])) .collect(Collectors.toList()); } - default -> {} + default -> { + } } } else if (clans.isVice(playerUUID)) { switch (args[0].toLowerCase()) { @@ -809,7 +813,8 @@ public class ClanCommand extends SimpleCommand { List joins = getClanJoinRequests(args, playerUUID); if (joins != null) return joins; } - default -> {} + default -> { + } } } else { switch (args[0].toLowerCase()) { @@ -829,7 +834,8 @@ public class ClanCommand extends SimpleCommand { case "create" -> { return Collections.singletonList(""); } - default -> {} + default -> { + } } } } diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerChatListener.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerChatListener.java index 983c574..98517a4 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerChatListener.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/listener/PlayerChatListener.java @@ -13,7 +13,10 @@ public class PlayerChatListener implements Listener { public void onChat(AsyncChatEvent event) { Player player = event.getPlayer(); - Component messageComponent = MiniMessage.miniMessage().deserialize(PlainTextComponentSerializer.plainText().serialize(event.message())); + String message = PlainTextComponentSerializer.plainText().serialize(event.message()); + String formattedMessage = message.replaceAll("]+>(.*?)", "$1"); + + Component messageComponent = MiniMessage.miniMessage().deserialize(formattedMessage); Component chatComponent = Component.empty() .append(player.playerListName())