1
0
mirror of https://e.coding.net/circlecloud/JoinMessage.git synced 2025-11-24 21:36:16 +00:00

fix some bug...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092
2015-05-06 23:11:34 +08:00
parent 7014e7947d
commit ffc67dddb5
3 changed files with 64 additions and 34 deletions

View File

@@ -4,12 +4,15 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import cn.citycraft.JoinMessage.listen.PlayerJoin; import cn.citycraft.JoinMessage.listen.PlayerJoin;
import cn.citycraft.JoinMessage.listen.PlayerLogin;
public class Main extends JavaPlugin{ public class Main extends JavaPlugin{
@@ -29,6 +32,28 @@ public class Main extends JavaPlugin{
if (pm.isPluginEnabled("AuthMe")) { if (pm.isPluginEnabled("AuthMe")) {
this.getLogger().info("Find AuthMe Hook..."); this.getLogger().info("Find AuthMe Hook...");
authme = true; authme = true;
pm.registerEvents(new PlayerLogin(this), this);
}
}
public void sendJoinMessage(Player p) {
String pn = p.getName();
String pdn = p.getDisplayName();
List<Map<?, ?>> 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);
}
}
}
} }
} }

View File

@@ -1,11 +1,5 @@
package cn.citycraft.JoinMessage.listen; 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.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
@@ -13,7 +7,6 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import cn.citycraft.JoinMessage.Main; import cn.citycraft.JoinMessage.Main;
import fr.xephi.authme.events.LoginEvent;
public class PlayerJoin implements Listener { public class PlayerJoin implements Listener {
@@ -45,34 +38,8 @@ public class PlayerJoin implements Listener {
} }
e.setJoinMessage(null); e.setJoinMessage(null);
Player p = e.getPlayer(); 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<Map<?, ?>> 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);
}
}
}
}
}
} }

View File

@@ -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);
}
}