更新
This commit is contained in:
@@ -1,69 +1,68 @@
|
||||
package me.skymc.taboolib.message;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import lombok.Getter;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
|
||||
public class ChatCatcher implements Listener {
|
||||
|
||||
@Getter
|
||||
private static HashMap<String, LinkedList<Catcher>> playerdata = new HashMap<>();
|
||||
|
||||
public static boolean contains(Player player) {
|
||||
return playerdata.containsKey(player.getName()) && playerdata.get(player.getName()).size() > 0;
|
||||
}
|
||||
|
||||
public static void call(Player player, Catcher catcher) {
|
||||
if (!playerdata.containsKey(player.getName())) {
|
||||
playerdata.put(player.getName(), new LinkedList<>());
|
||||
}
|
||||
playerdata.get(player.getName()).add(catcher.before());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void quit(PlayerQuitEvent e) {
|
||||
playerdata.remove(e.getPlayer().getName());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void chat(AsyncPlayerChatEvent e) {
|
||||
if (playerdata.containsKey(e.getPlayer().getName()) && playerdata.get(e.getPlayer().getName()).size() > 0) {
|
||||
e.setCancelled(true);
|
||||
|
||||
if (e.getMessage().equalsIgnoreCase("quit()")) {
|
||||
// 退出引导
|
||||
playerdata.get(e.getPlayer().getName()).removeFirst().cancel();
|
||||
// 清理数据
|
||||
clearData(e.getPlayer());
|
||||
}
|
||||
else {
|
||||
Catcher catcher = playerdata.get(e.getPlayer().getName()).getFirst();
|
||||
// 如果终止引导
|
||||
if (!catcher.after(e.getMessage())) {
|
||||
// 移除
|
||||
playerdata.get(e.getPlayer().getName()).removeFirst();
|
||||
// 清理
|
||||
clearData(e.getPlayer());
|
||||
}
|
||||
else {
|
||||
catcher.before();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void clearData(Player player) {
|
||||
if (playerdata.containsKey(player.getName()) && playerdata.get(player.getName()).size() == 0) {
|
||||
playerdata.remove(player.getName());
|
||||
}
|
||||
}
|
||||
|
||||
private static HashMap<String, LinkedList<Catcher>> playerdata = new HashMap<>();
|
||||
|
||||
public static HashMap<String, LinkedList<Catcher>> getPlayerdata() {
|
||||
return playerdata;
|
||||
}
|
||||
|
||||
public static boolean contains(Player player) {
|
||||
return playerdata.containsKey(player.getName()) && playerdata.get(player.getName()).size() > 0;
|
||||
}
|
||||
|
||||
public static void call(Player player, Catcher catcher) {
|
||||
if (!playerdata.containsKey(player.getName())) {
|
||||
playerdata.put(player.getName(), new LinkedList<>());
|
||||
}
|
||||
playerdata.get(player.getName()).add(catcher.before());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void quit(PlayerQuitEvent e) {
|
||||
playerdata.remove(e.getPlayer().getName());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void chat(AsyncPlayerChatEvent e) {
|
||||
if (playerdata.containsKey(e.getPlayer().getName()) && playerdata.get(e.getPlayer().getName()).size() > 0) {
|
||||
e.setCancelled(true);
|
||||
|
||||
if (e.getMessage().equalsIgnoreCase("quit()")) {
|
||||
// 退出引导
|
||||
playerdata.get(e.getPlayer().getName()).removeFirst().cancel();
|
||||
// 清理数据
|
||||
clearData(e.getPlayer());
|
||||
} else {
|
||||
Catcher catcher = playerdata.get(e.getPlayer().getName()).getFirst();
|
||||
// 如果终止引导
|
||||
if (!catcher.after(e.getMessage())) {
|
||||
// 移除
|
||||
playerdata.get(e.getPlayer().getName()).removeFirst();
|
||||
// 清理
|
||||
clearData(e.getPlayer());
|
||||
} else {
|
||||
catcher.before();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void clearData(Player player) {
|
||||
if (playerdata.containsKey(player.getName()) && playerdata.get(player.getName()).size() == 0) {
|
||||
playerdata.remove(player.getName());
|
||||
}
|
||||
}
|
||||
|
||||
public interface Catcher {
|
||||
|
||||
@@ -72,5 +71,5 @@ public class ChatCatcher implements Listener {
|
||||
boolean after(String message);
|
||||
|
||||
void cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,73 +1,72 @@
|
||||
package me.skymc.taboolib.message;
|
||||
|
||||
import me.skymc.taboolib.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import me.skymc.taboolib.Main;
|
||||
public class MsgUtils {
|
||||
|
||||
public class MsgUtils{
|
||||
|
||||
public static void send(CommandSender sender, String s) {
|
||||
sender.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void send(org.bukkit.entity.Player player, String s) {
|
||||
player.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void send(String s) {
|
||||
Bukkit.getConsoleSender().sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void warn(String s) {
|
||||
warn(s, Main.getInst());
|
||||
}
|
||||
|
||||
public static void send(String s, Plugin plugin) {
|
||||
Bukkit.getConsoleSender().sendMessage("§8[§3" + plugin.getName() + "§8] §7" + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void warn(String s, Plugin plugin) {
|
||||
Bukkit.getConsoleSender().sendMessage("§4[§c" + plugin.getName() + "§4][WARN #!] §c" + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Console(String s) {
|
||||
Bukkit.getConsoleSender().sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void System(String s) {
|
||||
System.out.println("[TabooLib] " + s);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Sender(CommandSender p, String s) {
|
||||
p.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Player(org.bukkit.entity.Player p, String s) {
|
||||
p.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String noPe() {
|
||||
String s = Main.getInst().getConfig().getString("NO-PERMISSION-MESSAGE").replaceAll("&", "§");
|
||||
if (s.equals("")) {
|
||||
s = "§cCONFIG ERROR §8(NO-PERMISSION-MESSAGE)";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String noClaim(String a) {
|
||||
String s = Main.getInst().getConfig().getString("NO-CLAIM-MESSAGE").replaceAll("&", "§").replaceAll("%s%", a);
|
||||
if (s.equals("")) {
|
||||
s = "§cCONFIG ERROR §8(NO-CLAIM-MESSAGE)";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
public static void send(CommandSender sender, String s) {
|
||||
sender.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void send(org.bukkit.entity.Player player, String s) {
|
||||
player.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void send(String s) {
|
||||
Bukkit.getConsoleSender().sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void warn(String s) {
|
||||
warn(s, Main.getInst());
|
||||
}
|
||||
|
||||
public static void send(String s, Plugin plugin) {
|
||||
Bukkit.getConsoleSender().sendMessage("§8[§3" + plugin.getName() + "§8] §7" + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
public static void warn(String s, Plugin plugin) {
|
||||
Bukkit.getConsoleSender().sendMessage("§4[§c" + plugin.getName() + "§4][WARN #!] §c" + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Console(String s) {
|
||||
Bukkit.getConsoleSender().sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void System(String s) {
|
||||
System.out.println("[TabooLib] " + s);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Sender(CommandSender p, String s) {
|
||||
p.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void Player(org.bukkit.entity.Player p, String s) {
|
||||
p.sendMessage(Main.getPrefix() + s.replaceAll("&", "§"));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String noPe() {
|
||||
String s = Main.getInst().getConfig().getString("NO-PERMISSION-MESSAGE").replaceAll("&", "§");
|
||||
if (s.equals("")) {
|
||||
s = "§cCONFIG ERROR §8(NO-PERMISSION-MESSAGE)";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static String noClaim(String a) {
|
||||
String s = Main.getInst().getConfig().getString("NO-CLAIM-MESSAGE").replaceAll("&", "§").replaceAll("%s%", a);
|
||||
if (s.equals("")) {
|
||||
s = "§cCONFIG ERROR §8(NO-CLAIM-MESSAGE)";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user