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