From 6d642853c5fa6ed91bdc7971285f4d956346342e Mon Sep 17 00:00:00 2001 From: LDS_XiaoYe Date: Wed, 8 Feb 2023 22:25:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=91=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starjoinmessage/StarJoinMessage.java | 6 --- .../listener/PlayerJoinListener.java | 41 ++++++++----------- 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/mcstaralliance/starjoinmessage/StarJoinMessage.java b/src/main/java/com/mcstaralliance/starjoinmessage/StarJoinMessage.java index 148d6da..086869c 100644 --- a/src/main/java/com/mcstaralliance/starjoinmessage/StarJoinMessage.java +++ b/src/main/java/com/mcstaralliance/starjoinmessage/StarJoinMessage.java @@ -11,7 +11,6 @@ public final class StarJoinMessage extends JavaPlugin { @Override public void onEnable() { - // Plugin startup logic instance = this; saveDefaultConfig(); getServer().getPluginManager().registerEvents(new PlayerJoinListener(), this); @@ -19,11 +18,6 @@ public void onEnable() { } - @Override - public void onDisable() { - // Plugin shutdown logic - } - public static StarJoinMessage getInstance(){ return instance; } diff --git a/src/main/java/com/mcstaralliance/starjoinmessage/listener/PlayerJoinListener.java b/src/main/java/com/mcstaralliance/starjoinmessage/listener/PlayerJoinListener.java index ab93982..582dff2 100644 --- a/src/main/java/com/mcstaralliance/starjoinmessage/listener/PlayerJoinListener.java +++ b/src/main/java/com/mcstaralliance/starjoinmessage/listener/PlayerJoinListener.java @@ -9,7 +9,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; -import java.util.*; +import java.util.List; public class PlayerJoinListener implements Listener { @@ -17,21 +17,25 @@ public class PlayerJoinListener implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { Player player = e.getPlayer(); - if(player.isOp()) - return; + if(player.isOp()) return; FileConfiguration config = StarJoinMessage.getInstance().getConfig(); List permissions = config.getStringList("settings.permissions"); List messages = config.getStringList("settings.messages"); - List processedMessages = new ArrayList<>(); - processedMessages = processMultiline(messages, processedMessages); - processSend(permissions, processedMessages, player); + processSend(permissions, messages, player); } - public void processSend(List permissions, List processedMessages, Player player){ - for (String permission : permissions) { - if (player.hasPermission(permission)) { - for (String processedMessage : processedMessages) { - String messageToSend = processedMessage.replaceAll("%player%", player.getName()); + public void processSend(List permissions, List messages, Player player){ + for (int i = 0;i < permissions.size();i++) { + if (player.hasPermission(permissions.get(i))) { + if(isMultiline(messages.get(i))){ + String[] processedMessages = messages.get(i).split("\n"); + for (String processedMessage : processedMessages) { + String messageToSend = processedMessage.replaceAll("%player%", player.getName()); + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', messageToSend)); + } + }else{ + String processedMessages = messages.get(i); + String messageToSend = processedMessages.replaceAll("%player%", player.getName()); Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', messageToSend)); } return; @@ -39,21 +43,10 @@ public void processSend(List permissions, List processedMessages } } - public boolean isMultiline(List messages){ - for (String message : messages) { - return message.contains("\n"); - } - return false; + public boolean isMultiline(String message){ + return message.contains("\n"); } - public List processMultiline(List messages, List processed) { - for (int i = 0; i < messages.size(); i++) { - if (isMultiline(messages)) { - Collections.addAll(processed, messages.get(i).split("\n")); - } - } - return processed; - } }