diff --git a/src/cn/citycraft/JoinMessage/Main.java b/src/cn/citycraft/JoinMessage/Main.java index 6a21d27..a1e9abd 100644 --- a/src/cn/citycraft/JoinMessage/Main.java +++ b/src/cn/citycraft/JoinMessage/Main.java @@ -4,12 +4,15 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import cn.citycraft.JoinMessage.listen.PlayerJoin; +import cn.citycraft.JoinMessage.listen.PlayerLogin; public class Main extends JavaPlugin{ @@ -29,6 +32,28 @@ public class Main extends JavaPlugin{ if (pm.isPluginEnabled("AuthMe")) { this.getLogger().info("Find AuthMe Hook..."); authme = true; + pm.registerEvents(new PlayerLogin(this), this); + } + } + + public void sendJoinMessage(Player p) { + String pn = p.getName(); + String pdn = p.getDisplayName(); + List> perms = this.getConfig().getMapList("Message"); + for (Map smp : perms) { + for (Entry key : smp.entrySet()) { + String permission = (String) key.getKey(); + if (p.hasPermission(permission)) { + String[] msg = ((ArrayList) key.getValue()) + .toArray(new String[0]); + for (String message : msg) { + message = message.replaceAll("%name%", pn) + .replaceAll("%displayname%", pdn) + .replaceAll("&", "§"); + Bukkit.broadcastMessage(message); + } + } + } } } diff --git a/src/cn/citycraft/JoinMessage/listen/PlayerJoin.java b/src/cn/citycraft/JoinMessage/listen/PlayerJoin.java index a6e337c..c68a1dd 100644 --- a/src/cn/citycraft/JoinMessage/listen/PlayerJoin.java +++ b/src/cn/citycraft/JoinMessage/listen/PlayerJoin.java @@ -1,11 +1,5 @@ package cn.citycraft.JoinMessage.listen; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -13,7 +7,6 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import cn.citycraft.JoinMessage.Main; -import fr.xephi.authme.events.LoginEvent; public class PlayerJoin implements Listener { @@ -45,34 +38,8 @@ public class PlayerJoin implements Listener { } e.setJoinMessage(null); Player p = e.getPlayer(); - this.sendJoinMessage(p); + plugin.sendJoinMessage(p); } - @EventHandler(priority = EventPriority.HIGHEST) - public void onLogin(LoginEvent e) { - Player p = e.getPlayer(); - this.sendJoinMessage(p); - } - - void sendJoinMessage(Player p) { - String pn = p.getName(); - String pdn = p.getDisplayName(); - List> perms = plugin.getConfig().getMapList("Message"); - for (Map smp : perms) { - for (Entry key : smp.entrySet()) { - String permission = (String) key.getKey(); - if (p.hasPermission(permission)) { - String[] msg = ((ArrayList) key.getValue()) - .toArray(new String[0]); - for (String message : msg) { - message = message.replaceAll("%name%", pn) - .replaceAll("%displayname%", pdn) - .replaceAll("&", "§"); - Bukkit.broadcastMessage(message); - } - } - } - } - } } diff --git a/src/cn/citycraft/JoinMessage/listen/PlayerLogin.java b/src/cn/citycraft/JoinMessage/listen/PlayerLogin.java new file mode 100644 index 0000000..d308f7c --- /dev/null +++ b/src/cn/citycraft/JoinMessage/listen/PlayerLogin.java @@ -0,0 +1,38 @@ +package cn.citycraft.JoinMessage.listen; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; + +import cn.citycraft.JoinMessage.Main; +import fr.xephi.authme.events.LoginEvent; + +public class PlayerLogin implements Listener { + + Main plugin; + + String[] lines; + + Player p; + + public PlayerLogin(Main main) { + plugin = main; + + } + + // Message: + // - joinmessage.vip: + // - '%name%' + // - '%displayname%' + // - joinmessage + // - vip + + + @EventHandler(priority = EventPriority.HIGHEST) + public void onLogin(LoginEvent e) { + Player p = e.getPlayer(); + plugin.sendJoinMessage(p); + } + +}