mirror of
https://e.coding.net/circlecloud/JoinMessage.git
synced 2025-11-24 21:36:16 +00:00
@@ -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<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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
38
src/cn/citycraft/JoinMessage/listen/PlayerLogin.java
Normal file
38
src/cn/citycraft/JoinMessage/listen/PlayerLogin.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user