feat: OpenSourceTools v2.1.0 - 升级 Bukkit 1.21.11, 补充 README 与自动化测试设施
This commit is contained in:
commit
6c7d7fedcb
50 files changed
+3241
No files matched your search
@@ -0,0 +1,27 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class Back_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if (unity.getLocationTempTemp(player.getName() + "_Back") == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l你没有死亡过!"));
|
||||
return false;
|
||||
} else {
|
||||
player.sendMessage(unity.ColorMessage("&a&l你已返回死亡地点\n传送前的位置是X:" + player.getLocation().getBlockX() + "Y:" + player.getLocation().getBlockY() + "Z:" + player.getLocation().getBlockZ()));
|
||||
player.teleport(unity.getLocationTempTemp(player.getName() + "_Back"));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class KickGUI_ClickGUI_Event implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void ClickGUI(InventoryClickEvent event) {
|
||||
if (event.getView().getTitle().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&',"&a选择你要踢出的玩家"))) {
|
||||
event.setCancelled(true);
|
||||
|
||||
if (event.getCurrentItem() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getCurrentItem().getType().equals(Material.AIR)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Objects.requireNonNull(event.getCurrentItem()).getType().equals(Material.ORANGE_STAINED_GLASS_PANE)) {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a这只是一个边框,你为什么要点"));
|
||||
}
|
||||
|
||||
if (Objects.requireNonNull(event.getCurrentItem()).getType().equals(Material.REDSTONE_BLOCK)) {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
player.closeInventory();
|
||||
}
|
||||
|
||||
if (Objects.requireNonNull(event.getCurrentItem()).getType().equals(Material.PLAYER_HEAD)) {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
String PlayerName = Objects.requireNonNull(event.getCurrentItem().getItemMeta()).getDisplayName();
|
||||
Player KickPlayer = Bukkit.getPlayer(PlayerName);
|
||||
if(Bukkit.getPlayer(PlayerName) == null) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个玩家不存在或不在线"));
|
||||
}else {
|
||||
if (Objects.requireNonNull(KickPlayer).isOnline()) {
|
||||
if (!KickPlayer.isOp()) {
|
||||
if (!KickPlayer.getName().equals(player.getName())) {
|
||||
KickPlayer.kickPlayer(ChatColor.translateAlternateColorCodes('&',"&d你被踢出服务器" ));
|
||||
}else {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d你不能踢出自己"));
|
||||
}
|
||||
}else {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d你不能踢出管理员"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class PlaceholderAPI extends PlaceholderExpansion {
|
||||
|
||||
public PlaceholderAPI(main main) {}
|
||||
|
||||
@Override
|
||||
public @NotNull String getAuthor() {
|
||||
return "Open Source";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdentifier() {
|
||||
return "OpenSourceTools";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getVersion() {
|
||||
return main.getDescriptionFile().getVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onRequest(OfflinePlayer player, String params) {
|
||||
if (params.equalsIgnoreCase("Nick")) {
|
||||
if (main.instance.getConfig().getString(player.getName() + "_Nick") == null) {
|
||||
return player.getName();
|
||||
} else {
|
||||
return main.instance.getConfig().getString(player.getName() + "_Nick");
|
||||
}
|
||||
}
|
||||
if (params.equalsIgnoreCase("Title")) {
|
||||
if (main.instance.getConfig().getString(player.getName() + "_Title") == null) {
|
||||
return "";
|
||||
} else {
|
||||
return unity.ColorMessage("&7[" + main.instance.getConfig().getString(player.getName() + "_Title") + "&7]&f");
|
||||
}
|
||||
}
|
||||
if (params.equalsIgnoreCase("Suffix")) {
|
||||
if (main.instance.getConfig().getString(player.getName() + "_Suffix") == null) {
|
||||
return "";
|
||||
} else {
|
||||
return unity.ColorMessage("&7[" + main.instance.getConfig().getString(player.getName() + "_Suffix") + "&7]");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
|
||||
public class PlayerChangedWorld_Event implements Listener {
|
||||
@EventHandler
|
||||
public void On_Event(PlayerChangedWorldEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (player.hasPermission("OpenSourceTools.FLY")) {
|
||||
if (unity.getStringTemp(player.getName() + "_Fly").equals("已开启")) {
|
||||
player.setAllowFlight(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class PlayerChat_Event implements Listener {
|
||||
@EventHandler
|
||||
public void PlayerChat(AsyncPlayerChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
String Message = event.getMessage();
|
||||
if (player.isOp()) {
|
||||
if (main.instance.getConfig().getBoolean("ColorChatSetting.AllowAdminUsedColorChat")) {
|
||||
event.setMessage(unity.ColorMessage(Message));
|
||||
}
|
||||
}else {
|
||||
if (main.instance.getConfig().getBoolean("ColorChatSetting.AllowPlayerUsedColorChat")) {
|
||||
event.setMessage(unity.ColorMessage(Message));
|
||||
}
|
||||
}
|
||||
|
||||
for (String ColorChatPlayers : main.instance.getConfig().getStringList("ColorChatSetting.AllowPlayers")) {
|
||||
if (player.getName().equals(ColorChatPlayers)) {
|
||||
event.setMessage(unity.ColorMessage(Message));
|
||||
}
|
||||
}
|
||||
|
||||
List<String> keywords = new ArrayList<>(main.instance.getConfig().getStringList("AntiKeyWords"));
|
||||
for (String keyword : keywords) {
|
||||
if (Message.toUpperCase().contentEquals(keyword)) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d&l检测到屏蔽词,已阻止发送\n屏蔽词内容:" + keyword));
|
||||
event.setCancelled(true);
|
||||
for (Player player1 : Bukkit.getOnlinePlayers()) {
|
||||
if (player1.isOp()) {
|
||||
if (!player1.getName().equals(player.getName())) {
|
||||
player1.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a&l" + player.getName() + "尝试发送屏蔽词,已被阻止发送\n屏蔽词内容:" + keyword));
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 建议多线程处理。
|
||||
if (Objects.equals(unity.getStringTemp(player.getName() + "_Message"), Message)) {
|
||||
player.sendMessage(unity.ColorMessage("&d&l请不要刷屏!"));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (unity.GetIntTemp(player.getName() + "_ChatTime") != null) {
|
||||
player.sendMessage(unity.ColorMessage("&e&l您发送消息太快了,请在" + unity.GetIntTemp(player.getName() + "_ChatTime") + "后发送"));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
unity.SetStringTemp(player.getName() + "_Message", Message);
|
||||
unity.SetIntTemp(player.getName() + "_ChatTime", main.instance.getConfig().getInt("ChatSetting.ChatTime"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class PlayerDeath_Event implements Listener {
|
||||
@EventHandler
|
||||
public void On_Event(PlayerDeathEvent event) {
|
||||
Player player = event.getEntity();
|
||||
unity.SetLocationTempTemp(player.getName() + "_Back",player.getLocation());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class PlayerJoin_Event implements Listener {
|
||||
@EventHandler
|
||||
public void PlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
unity.GetLoggerPlus("&e&l" + player.getName() + " IP:" + player.getAddress());
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_TpaPlayerName",null);
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_Tpa",null);
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_TpaTime",null);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
String PlayerJoinMessage = main.instance.getConfig().getString("PlayerJoinServerMessage").replaceAll("%PlayerName%",player.getPlayerListName());
|
||||
String AdminJoinMessage = main.instance.getConfig().getString("AdminJoinServerMessage").replaceAll("%PlayerName%",player.getPlayerListName());
|
||||
if (player.isOp()) {
|
||||
event.setJoinMessage(ChatColor.translateAlternateColorCodes('&', PlaceholderAPI.setPlaceholders(player, AdminJoinMessage)));
|
||||
} else {
|
||||
event.setJoinMessage(ChatColor.translateAlternateColorCodes('&', PlaceholderAPI.setPlaceholders(player, PlayerJoinMessage)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class PlayerQuit_Event implements Listener {
|
||||
@EventHandler
|
||||
public void PlayerQuit(PlayerQuitEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_TpaPlayerName", null);
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_Tpa", null);
|
||||
main.instance.getConfig().set(player.getName() + "_Temp_TpaTime", null);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
String PlayerQuitMessage = main.instance.getConfig().getString("PlayerQuitServerMessage").replaceAll("%PlayerName%",player.getPlayerListName());
|
||||
String AdminQuitMessage = main.instance.getConfig().getString("AdminQuitServerMessage").replaceAll("%PlayerName%",player.getPlayerListName());
|
||||
if (player.isOp()) {
|
||||
event.setQuitMessage(ChatColor.translateAlternateColorCodes('&', PlaceholderAPI.setPlaceholders(player, AdminQuitMessage)));
|
||||
} else {
|
||||
event.setQuitMessage(ChatColor.translateAlternateColorCodes('&', PlaceholderAPI.setPlaceholders(player, PlayerQuitMessage)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
|
||||
public class PlayerReSpawn_Event implements Listener {
|
||||
@EventHandler
|
||||
public void On_Event(PlayerRespawnEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
Location DiedLocation = unity.getLocationTempTemp(player.getName() + "_Back");
|
||||
player.sendMessage(unity.ColorMessage("&a&l您的死亡位置是X:" + DiedLocation.getBlockX() + " Y:" + DiedLocation.getBlockY() + "_DiedY" + " Z:" + DiedLocation.getBlockZ()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PlayerTitle_Command implements TabExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length >= 1) {
|
||||
if(sender.isOp()) {
|
||||
if (args[0].equals("help")) {
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " help"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " addTitle <玩家ID> <称号>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " addSuffix <玩家ID> <后缀>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " delTitle <玩家ID>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " delSuffix <玩家ID>"));
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args[0].equals("addTitle")) {
|
||||
if (args.length == 3) {
|
||||
String PlayerName = args[1];
|
||||
String Title = args[2];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线"));
|
||||
return false;
|
||||
}
|
||||
sender.sendMessage(unity.ColorMessage("&a操作成功!"));
|
||||
main.instance.getConfig().set(PlayerName + "_Title",Title);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
return false;
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l参数错误,用法:/" + label + " addTitle <玩家ID> <称号>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equals("addSuffix")) {
|
||||
if (args.length == 3) {
|
||||
String PlayerName = args[1];
|
||||
String Suffix = args[2];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线"));
|
||||
return false;
|
||||
}
|
||||
sender.sendMessage(unity.ColorMessage("&a操作成功!"));
|
||||
main.instance.getConfig().set(PlayerName + "_Suffix",Suffix);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
return false;
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l参数错误,用法:/" + label + " addSuffix <玩家ID> <后缀>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equals("delTitle")) {
|
||||
if (args.length == 2) {
|
||||
String PlayerName = args[1];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线"));
|
||||
return false;
|
||||
}
|
||||
sender.sendMessage(unity.ColorMessage("&a操作成功!"));
|
||||
main.instance.getConfig().set(PlayerName + "_Title",null);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
return false;
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l参数错误,用法:/" + label + " delTitle <玩家ID>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equals("delSuffix")) {
|
||||
if (args.length == 2) {
|
||||
String PlayerName = args[1];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线"));
|
||||
return false;
|
||||
}
|
||||
sender.sendMessage(unity.ColorMessage("&a操作成功!"));
|
||||
main.instance.getConfig().set(PlayerName + "_Suffix",null);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
return false;
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l参数错误,用法:/" + label + " delSuffix <玩家ID>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " help"));
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
}
|
||||
}else {
|
||||
if (sender.isOp()) {
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " help"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " addTitle <玩家ID> <称号>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " addSuffix <玩家ID> <后缀>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " delTitle <玩家ID>"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " delSuffix <玩家ID>"));
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
sender.sendMessage(unity.ColorMessage("/" + label + " help"));
|
||||
sender.sendMessage(unity.ColorMessage("&7---------------&dOpenSourceTitleSystem&7---------------"));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
List<String> tablist = new ArrayList<>();
|
||||
tablist.add("addTitle");
|
||||
tablist.add("addSuffix");
|
||||
tablist.add("delTitle");
|
||||
tablist.add("delSuffix");
|
||||
tablist.removeIf(s -> !s.startsWith(args[0]));
|
||||
return tablist;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
List<String> tablist = new ArrayList<>();
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
tablist.add(player.getName());
|
||||
}
|
||||
tablist.removeIf(s -> !s.startsWith(args[1]));
|
||||
return tablist;
|
||||
}
|
||||
if (args.length == 3) {
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class Reload_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
main.instance.reloadConfig();
|
||||
if (unity.GetIntTemp("TimeMessageTaskId") != null) {
|
||||
Bukkit.getScheduler().cancelTask(unity.GetIntTemp("TimeMessageTaskId"));
|
||||
}
|
||||
if (main.instance.getConfig().getBoolean("TimeMessageSetting.TimeMessage")) {
|
||||
BukkitTask TimeMessage = (new TimeMessage(main.instance)).runTaskTimer(main.instance, 0L, (main.instance.getConfig().getInt("TimeMessageSetting.TimeMessageTime") * 20L));
|
||||
unity.SetIntTemp("TimeMessageTaskId",TimeMessage.getTaskId());
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a重载完成!"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class SignChange_Event implements Listener {
|
||||
@EventHandler
|
||||
public void ChangeSignEvent(SignChangeEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (player.isOp()) {
|
||||
if (main.instance.getConfig().getBoolean("ColorSignSetting.AllowAdminUsedColorSign")) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (!Objects.equals(event.getLine(i), "&"))
|
||||
event.setLine(i, Objects.requireNonNull(event.getLine(i)).replace("&", "§"));
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (main.instance.getConfig().getBoolean("ColorSignSetting.AllowPlayerUsedColorSign")) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (!Objects.equals(event.getLine(i), "&"))
|
||||
event.setLine(i, Objects.requireNonNull(event.getLine(i)).replace("&", "§"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class Stop_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
String ServerName = main.instance.getConfig().getString("ServerName");
|
||||
String StopMessage = args[0];
|
||||
if (Bukkit.getOnlinePlayers().size() != 0) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&',ServerName + "\n" +StopMessage));
|
||||
}
|
||||
Bukkit.shutdown();
|
||||
}else {
|
||||
Bukkit.shutdown();
|
||||
}
|
||||
}else {
|
||||
String ServerName = main.instance.getConfig().getString("ServerName");
|
||||
String StopMessage = main.instance.getConfig().getString("DefaultStopMessage");
|
||||
if (Bukkit.getOnlinePlayers().size() != 0) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&',ServerName + "\n" +StopMessage));
|
||||
}
|
||||
Bukkit.shutdown();
|
||||
}else {
|
||||
Bukkit.shutdown();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class SuperKick_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
String PlayerName = args[0];
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线"));
|
||||
} else {
|
||||
if (Objects.requireNonNull(player).isOnline()) {
|
||||
if (sender instanceof Player) {
|
||||
if (!player.isOp()) {
|
||||
if (!player.getName().equals(player.getName())) {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&', "&d你被踢出服务器"));
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d你不能踢出自己"));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d你不能踢出管理员"));
|
||||
}
|
||||
} else {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&', "&d你被踢出服务器"));
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args.length == 2) {
|
||||
String PlayerName = args[0];
|
||||
String message = args[1];
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线"));
|
||||
} else {
|
||||
if (Objects.requireNonNull(player).isOnline()) {
|
||||
if (sender instanceof Player) {
|
||||
if (!player.isOp()) {
|
||||
if (!player.getName().equals(player.getName())) {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&', message));
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d你不能踢出自己"));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d你不能踢出管理员"));
|
||||
}
|
||||
} else {
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&', message));
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
unity.KickGui(player);
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a正确用法&f: /kick &f<&e玩家ID&f> &f[&e理由&f]"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SuperList_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
List<String> OnlinePlayers = new ArrayList<>();
|
||||
String MemUsedMessage = "&a服务器内存占用&f:&e%server_ram_used%/%server_ram_max%";
|
||||
MemUsedMessage = PlaceholderAPI.setPlaceholders(null, MemUsedMessage);
|
||||
String ServerTPSMessage = "&a服务器TPS&f:&e%server_tps%";
|
||||
ServerTPSMessage = PlaceholderAPI.setPlaceholders(null, ServerTPSMessage);
|
||||
for (Player OnlinePlayer : Bukkit.getOnlinePlayers()) {
|
||||
String PlayerName = OnlinePlayer.getName();
|
||||
OnlinePlayers.add(PlayerName);
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', MemUsedMessage));
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', ServerTPSMessage));
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a在线人数&f:&e" + Bukkit.getOnlinePlayers().size() + "&f/&e" + Bukkit.getMaxPlayers()));
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a在线玩家列表&f:&e" + OnlinePlayers));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class TimeMessage extends BukkitRunnable {
|
||||
main pluginmain;
|
||||
|
||||
private int i = 0;
|
||||
|
||||
public TimeMessage(main main1) {
|
||||
this.pluginmain = main1;
|
||||
}
|
||||
|
||||
private static int order(int i) {
|
||||
i++;
|
||||
return i;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
if (main.instance.getConfig().getBoolean("TimeMessageSetting.TimeMessage"))
|
||||
if (this.i < main.instance.getConfig().getStringList("TimeMessageSetting.Message").size()) {
|
||||
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', main.instance.getConfig().getStringList("TimeMessageSetting.Message").get(this.i)));
|
||||
this.i = order(this.i);
|
||||
} else {
|
||||
this.i = 0;
|
||||
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', main.instance.getConfig().getStringList("TimeMessageSetting.Message").get(this.i)));
|
||||
this.i = order(this.i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.chat.HoverEvent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.md_5.bungee.api.chat.hover.content.Text;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class Tpa_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
if (args.length == 1) {
|
||||
String TpaPlayerName = args[0];
|
||||
if (Bukkit.getPlayer(TpaPlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个玩家不存在"));
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = (Player) sender;
|
||||
Player TpaPlayer = Bukkit.getPlayer(TpaPlayerName);
|
||||
String PlayerName = player.getName();
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a传送请求已发送"));
|
||||
TextComponent Message = new TextComponent();
|
||||
TextComponent AccentMessage = new TextComponent(unity.ColorMessage("&7[&a&l同意&7]"));
|
||||
AccentMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(unity.ColorMessage("&a接受" + PlayerName + "的传送请求"))));
|
||||
AccentMessage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tpaaccept "+ PlayerName));
|
||||
TextComponent RefuseMessage = new TextComponent(unity.ColorMessage("&7[&d&l拒绝&7]"));
|
||||
RefuseMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(unity.ColorMessage("&a拒绝" + PlayerName + "的传送请求"))));
|
||||
RefuseMessage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tpadefuse "+ PlayerName));
|
||||
TextComponent Null = new TextComponent(" ");
|
||||
Message.addExtra(AccentMessage);
|
||||
Message.addExtra(Null);
|
||||
Message.addExtra(RefuseMessage);
|
||||
Objects.requireNonNull(TpaPlayer).sendMessage(ChatColor.translateAlternateColorCodes('&',"&7--------------&9Tpa系统&7--------------\n&a玩家:" + PlayerName + "想来你这里看看"));
|
||||
Objects.requireNonNull(TpaPlayer).spigot().sendMessage(Message);
|
||||
TpaPlayer.sendMessage(ChatColor.translateAlternateColorCodes('&',"&7--------------&9Tpa系统&7--------------"));
|
||||
unity.SetStringTemp(PlayerName + "_Temp_TpaPlayerName",TpaPlayer.getName());
|
||||
unity.SetBooleanTemp(PlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(PlayerName + "_Temp_TpaTime",0);
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/tpa <玩家ID>"));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class Tpa_Detect extends BukkitRunnable {
|
||||
main pluginmain;
|
||||
|
||||
public Tpa_Detect(main main1) {
|
||||
this.pluginmain = main1;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
String PlayerName = player.getName();
|
||||
if (unity.getStringTemp(PlayerName + "_Temp_TpaPlayerName") != null) {
|
||||
if (unity.getBooleanTemp(PlayerName + "_Temp_Tpa")) {
|
||||
if (Bukkit.getPlayer(Objects.requireNonNull(unity.getStringTemp(PlayerName + "_Temp_TpaPlayerName"))) == null) {
|
||||
player.sendMessage(ChatColor.RED + "错误,那个玩家突然下线了!传送已取消");
|
||||
}else {
|
||||
Player TpaPlayer = Bukkit.getPlayer(Objects.requireNonNull(unity.getStringTemp(PlayerName + "_Temp_TpaPlayerName")));
|
||||
Location TpaLocation = Objects.requireNonNull(TpaPlayer).getLocation();
|
||||
unity.SetLocationTempTemp(player.getName() + "_Tpa",player.getLocation());
|
||||
player.teleport(TpaLocation);
|
||||
player.sendMessage(ChatColor.GREEN + "传送成功!");
|
||||
TpaPlayer.sendMessage(ChatColor.GREEN + player.getName() + "传送到了你这里!");
|
||||
}
|
||||
unity.SetStringTemp(PlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(PlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(PlayerName + "_Temp_TpaTime",0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class Tpa_Time extends BukkitRunnable {
|
||||
main pluginmain;
|
||||
|
||||
public Tpa_Time(main main1) {
|
||||
this.pluginmain = main1;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
String PlayerName = player.getName();
|
||||
if (unity.GetIntTemp(PlayerName + "_ChatTime") != null) {
|
||||
int ChatTime = unity.GetIntTemp(PlayerName + "_ChatTime");
|
||||
int NewChatTime = ChatTime-1;
|
||||
unity.SetIntTemp(PlayerName + "_ChatTime",NewChatTime);
|
||||
if (unity.GetIntTemp(PlayerName + "_ChatTime") == 0) {
|
||||
unity.SetIntTemp(PlayerName + "_ChatTime",null);
|
||||
}
|
||||
}
|
||||
|
||||
if (unity.getStringTemp(PlayerName + "_Temp_TpaPlayerName") != null) {
|
||||
if (!unity.getBooleanTemp(PlayerName + "_Temp_Tpa")) {
|
||||
int TpaTime = unity.GetIntTemp(PlayerName + "_Temp_TpaTime");
|
||||
unity.SetIntTemp(PlayerName + "_Temp_TpaTime",TpaTime+1);
|
||||
if (TpaTime+1 >= 60) {
|
||||
String TpaPlayerName = unity.getStringTemp(PlayerName + "_Temp_TpaPlayerName");
|
||||
Player TpaPlayer = Bukkit.getPlayer(Objects.requireNonNull(TpaPlayerName));
|
||||
Objects.requireNonNull(TpaPlayer).sendMessage(ChatColor.translateAlternateColorCodes('&',"&d" + PlayerName + "给你发的的传送请求已超时"));
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d你发给" + TpaPlayerName + "的传送请求已超时"));
|
||||
unity.SetStringTemp(PlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(PlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(PlayerName + "_Temp_TpaTime",0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class YamlFile_Utils {
|
||||
|
||||
private InputStream getResource(@NotNull String filename) {
|
||||
try {
|
||||
URL URL = getClass().getClassLoader().getResource(filename);
|
||||
if (URL == null)
|
||||
return null;
|
||||
URLConnection Connection = URL.openConnection();
|
||||
Connection.setUseCaches(false);
|
||||
return Connection.getInputStream();
|
||||
} catch (IOException ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void saveYmlFile(String FilePath, String FileName, String ResourcePath) {
|
||||
File Folder = new File(FilePath);
|
||||
if (!Folder.exists())
|
||||
Folder.mkdirs();
|
||||
saveResource(FilePath, ResourcePath, FileName, false);
|
||||
}
|
||||
|
||||
public void saveYamlFile(String FilePath, String FileName, String ResourcePath,boolean Replace) {
|
||||
File Folder = new File(FilePath);
|
||||
if (!Folder.exists())
|
||||
Folder.mkdirs();
|
||||
saveResource(FilePath, ResourcePath, FileName, Replace);
|
||||
}
|
||||
|
||||
public void saveResource(String FilePath, @NotNull String ResourcePath, String OutFileName, boolean Replace) {
|
||||
if (ResourcePath.equals(""))
|
||||
throw new IllegalArgumentException("ResourcePath cannot be null or empty");
|
||||
ResourcePath = ResourcePath.replace('\\', '/');
|
||||
InputStream in = getResource(ResourcePath);
|
||||
if (in == null)
|
||||
throw new IllegalArgumentException("The embedded resource '" + ResourcePath + "' cannot be found in " + ResourcePath);
|
||||
File OutFile = new File(FilePath, OutFileName);
|
||||
try {
|
||||
if (!OutFile.exists() || Replace) {
|
||||
OutputStream out = new FileOutputStream(OutFile);
|
||||
byte[] buf = new byte[1024];
|
||||
int Len;
|
||||
while ((Len = in.read(buf)) > 0)
|
||||
out.write(buf, 0, Len);
|
||||
out.close();
|
||||
in.close();
|
||||
} else {
|
||||
System.out.println("Could not save " + OutFile.getName() + " to " + OutFile + " because " + OutFile.getName() + " already exists.");
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Could not save " + OutFile.getName() + " to " + OutFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class day_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
World world = player.getWorld();
|
||||
world.setTime(1000);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a完成!"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只能是玩家执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static top.gtb520.tools.main.main.instance;
|
||||
|
||||
public class feed_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
String CommandName = "Feed";
|
||||
if (player.isOp()) {
|
||||
if (!instance.getConfig().getBoolean(CommandName + "CommandSetting.AllowAdminUsed" + CommandName + "Command")) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个服务器禁止管理员使用Feed命令!"));
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
if (!instance.getConfig().getBoolean(CommandName + "CommandSetting.AllowPlayerUsed" + CommandName + "Command")) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个服务器禁止玩家使用Feed命令!"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
player.setSaturation(20);
|
||||
player.setFoodLevel(20);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a你的饱食度被神奇的恢复了"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class fly_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
String PlayerName = args[0];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
assert player != null;
|
||||
if (player.getAllowFlight()) {
|
||||
sender.sendMessage(unity.ColorMessage("&e&l" + player.getName() + "飞行模式已关闭"));
|
||||
player.sendMessage(unity.ColorMessage("&e&l飞行模式已关闭"));
|
||||
unity.SetStringTemp(player.getName() + "_Fly",null);
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&a&l" + player.getName() + "操作成功!"));
|
||||
player.sendMessage(unity.ColorMessage("&e&l飞行模式已开启"));
|
||||
unity.SetStringTemp(player.getName() + "_Fly","已开启");
|
||||
}
|
||||
player.setAllowFlight(!player.getAllowFlight());
|
||||
}else {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if (player.getAllowFlight()) {
|
||||
player.sendMessage(unity.ColorMessage("&e&l飞行模式已关闭"));
|
||||
unity.SetStringTemp(player.getName() + "_Fly",null);
|
||||
}else {
|
||||
player.sendMessage(unity.ColorMessage("&e&l飞行模式已开启"));
|
||||
unity.SetStringTemp(player.getName() + "_Fly","已开启");
|
||||
}
|
||||
player.setAllowFlight(!player.getAllowFlight());
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l用法错误,正确用法:/fly [玩家ID]"));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class gm_Command implements TabExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
if (sender instanceof Player) {
|
||||
String args1 = args[0];
|
||||
String senderName = sender.getName();
|
||||
Player player = (Player) sender;
|
||||
if (args1.equalsIgnoreCase("1") || args1.equalsIgnoreCase("创造") || args1.equalsIgnoreCase("creative")) {
|
||||
player.setGameMode(GameMode.CREATIVE);
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 创造模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 创造模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("2") || args1.equalsIgnoreCase("冒险") || args1.equalsIgnoreCase("adventure")) {
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 冒险模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 冒险模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("3") || args1.equalsIgnoreCase("旁观") || args1.equalsIgnoreCase("spectator")) {
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 旁观模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 旁观模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("0") || args1.equalsIgnoreCase("生存") || args1.equalsIgnoreCase("survival")) {
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 生存模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 生存模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d" + args1 + "不是一个有效的模式"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/gamemode <模式> [玩家]"));
|
||||
}
|
||||
}else {
|
||||
if (args.length == 2) {
|
||||
String args1 = args[0];
|
||||
if (Bukkit.getPlayer(args[1]) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个玩家不存在或不在线"));
|
||||
return false;
|
||||
}else {
|
||||
String senderName;
|
||||
if (sender instanceof Player) {
|
||||
senderName = sender.getName();
|
||||
}else {
|
||||
senderName = "Server";
|
||||
}
|
||||
Player player = Bukkit.getPlayer(args[1]);
|
||||
if (args1.equalsIgnoreCase("1") || args1.equalsIgnoreCase("创造") || args1.equalsIgnoreCase("creative")) {
|
||||
Objects.requireNonNull(player).setGameMode(GameMode.CREATIVE);
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 创造模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 创造模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("2") || args1.equalsIgnoreCase("冒险") || args1.equalsIgnoreCase("adventure")) {
|
||||
Objects.requireNonNull(player).setGameMode(GameMode.ADVENTURE);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a设置成功"));
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 冒险模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 冒险模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("3") || args1.equalsIgnoreCase("旁观") || args1.equalsIgnoreCase("spectator")) {
|
||||
Objects.requireNonNull(player).setGameMode(GameMode.SPECTATOR);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a设置成功"));
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 旁观模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 旁观模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args1.equalsIgnoreCase("0") || args1.equalsIgnoreCase("生存") || args1.equalsIgnoreCase("survival")) {
|
||||
Objects.requireNonNull(player).setGameMode(GameMode.SURVIVAL);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a设置成功"));
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&f你的模式已被更改成 生存模式"));
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
if (AllPlayer.isOp()) {
|
||||
if (!AllPlayer.getName().equals(player.getName())) {
|
||||
AllPlayer.sendMessage(ChatColor.GRAY + "[" + senderName + ":更改了玩家" + player.getName() + "的游戏模式为 生存模式]");
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d" + args1 + "不是一个有效的模式"));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/gamemode <模式> [玩家]"));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] strings) {
|
||||
if (strings.length == 1) {
|
||||
List<String> tablist = new ArrayList<>();
|
||||
tablist.add("冒险");
|
||||
tablist.add("创造");
|
||||
tablist.add("旁观");
|
||||
tablist.add("生存");
|
||||
if (!strings[0].equalsIgnoreCase("冒险") && !strings[0].equalsIgnoreCase("创造") && !strings[0].equalsIgnoreCase("旁观") && !strings[0].equalsIgnoreCase("生存")) {
|
||||
return tablist;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static top.gtb520.tools.main.main.instance;
|
||||
|
||||
public class heal_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
String CommandName = "heal";
|
||||
if (player.isOp()) {
|
||||
if (!instance.getConfig().getBoolean(CommandName + "CommandSetting.AllowAdminUsed" + CommandName + "Command")) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个服务器禁止管理员使用heal命令!"));
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
if (!instance.getConfig().getBoolean(CommandName + "CommandSetting.AllowPlayerUsed" + CommandName + "Command")) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个服务器禁止玩家使用heal命令!"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
player.setSaturation(20);
|
||||
player.setFoodLevel(20);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a你的血量被神奇的恢复了"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public final class main extends JavaPlugin implements Listener {
|
||||
public static YamlFile_Utils Yaml;
|
||||
|
||||
public static main instance;
|
||||
private static PluginDescriptionFile descriptionFile;
|
||||
|
||||
public static PluginDescriptionFile getDescriptionFile() {
|
||||
return descriptionFile;
|
||||
}
|
||||
|
||||
public static main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
instance = this;
|
||||
descriptionFile = getDescription();
|
||||
|
||||
unity.GetLoggerPlus("\n" +
|
||||
" ___ ___ \n" +
|
||||
" / _ \\ _ __ ___ _ _ / __| ___ _ _ _ _ __ ___ \n" +
|
||||
" | (_) | '_ \\/ -_) ' \\\\__ \\/ _ \\ || | '_/ _/ -_)\n" +
|
||||
" \\___/| .__/\\___|_||_|___/\\___/\\_,_|_| \\__\\___|\n" +
|
||||
" |_| \n");
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") == null) {
|
||||
unity.GetLoggerPlus("&d找不到PlaceholderAPI,请安装PlaceholderAPI后才能使用本插件");
|
||||
Bukkit.getPluginManager().disablePlugins();
|
||||
try {
|
||||
Thread.sleep(2300);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
System.exit(0);
|
||||
} else if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
|
||||
unity.GetLoggerPlus("&2已检测到PlaceholderAPI前置");
|
||||
}
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(this, this);
|
||||
new PlaceholderAPI(this).register();
|
||||
|
||||
File Folder = new File(String.valueOf(getDataFolder()));
|
||||
File Config_File = new File(getDataFolder(), "config.yml");
|
||||
Yaml = new YamlFile_Utils();
|
||||
if (!Folder.exists() || !Config_File.exists()) {
|
||||
Folder.mkdirs();
|
||||
Yaml.saveYamlFile(getDataFolder().getPath(), "config.yml", "config.yml",true);
|
||||
}
|
||||
|
||||
List<File> Folders = new ArrayList<>();
|
||||
Folders.add(new File(getDataFolder().getPath()));
|
||||
Makedirs(Folders);
|
||||
|
||||
unity.GetLoggerPlus("&f-----------OpenSourceTools-----------");
|
||||
BukkitTask TpaTime = new Tpa_Time(this).runTaskTimer(this, 0L, 20);
|
||||
unity.SetIntTemp("TpaTimeTaskId",TpaTime.getTaskId());
|
||||
|
||||
BukkitTask TpaDetect = new Tpa_Detect(this).runTaskTimer(this, 0L, 60*20);
|
||||
unity.SetIntTemp("TpaDetectTaskId",TpaDetect.getTaskId());
|
||||
|
||||
if (getConfig().getBoolean("TimeMessageSetting.TimeMessage")) {
|
||||
BukkitTask TimeMessage = new TimeMessage(this).runTaskTimer(this, 0L, getConfig().getInt("TimeMessageSetting.TimeMessageTime")*20L);
|
||||
unity.SetIntTemp("TimeMessageTaskId",TimeMessage.getTaskId());
|
||||
}
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(new KickGUI_ClickGUI_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerJoin_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerQuit_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerChat_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new SignChange_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerDeath_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerReSpawn_Event(),this);
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerChangedWorld_Event(),this);
|
||||
|
||||
Objects.requireNonNull(getCommand("OSTReload")).setExecutor(new Reload_Command());
|
||||
Objects.requireNonNull(getCommand("Stop")).setExecutor(new Stop_Command());
|
||||
Objects.requireNonNull(getCommand("gamemode")).setExecutor(new gm_Command());
|
||||
Objects.requireNonNull(getCommand("gamemode")).setTabCompleter(new gm_Command());
|
||||
Objects.requireNonNull(getCommand("day")).setExecutor(new day_Command());
|
||||
Objects.requireNonNull(getCommand("sun")).setExecutor(new sun_Command());
|
||||
Objects.requireNonNull(getCommand("spawn")).setExecutor(new spawn_Command());
|
||||
Objects.requireNonNull(getCommand("setspawn")).setExecutor(new setspawn_Command());
|
||||
Objects.requireNonNull(getCommand("tpa")).setExecutor(new Tpa_Command());
|
||||
Objects.requireNonNull(getCommand("tpaaccept")).setExecutor(new tpaAccept_Command());
|
||||
Objects.requireNonNull(getCommand("tpadefuse")).setExecutor(new tpaDefuse_Command());
|
||||
Objects.requireNonNull(getCommand("vanish")).setExecutor(new vanish_Command());
|
||||
Objects.requireNonNull(getCommand("fly")).setExecutor(new fly_Command());
|
||||
Objects.requireNonNull(getCommand("mute")).setExecutor(new mute_Command());
|
||||
Objects.requireNonNull(getCommand("unmute")).setExecutor(new unmute_Command());
|
||||
Objects.requireNonNull(getCommand("kick")).setExecutor(new SuperKick_Command());
|
||||
Objects.requireNonNull(getCommand("feed")).setExecutor(new feed_Command());
|
||||
Objects.requireNonNull(getCommand("heal")).setExecutor(new heal_Command());
|
||||
Objects.requireNonNull(getCommand("list")).setExecutor(new SuperList_Command());
|
||||
Objects.requireNonNull(getCommand("back")).setExecutor(new Back_Command());
|
||||
Objects.requireNonNull(getCommand("testGUI")).setExecutor(new testGUI());
|
||||
Objects.requireNonNull(getCommand("PlayerTitle")).setExecutor(new PlayerTitle_Command());
|
||||
|
||||
unity.GetLoggerPlus("插件启动成功");
|
||||
unity.GetLoggerPlus("&f-----------OpenSourceTools-----------");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
instance = null;
|
||||
unity.GetLoggerPlus("&f-----------OpenSourceTools-----------");
|
||||
unity.GetLoggerPlus("插件已卸载");
|
||||
unity.GetLoggerPlus("&f-----------OpenSourceTools-----------");
|
||||
unity.GetLoggerPlus("\n" +
|
||||
" ___ ___ \n" +
|
||||
" / _ \\ _ __ ___ _ _ / __| ___ _ _ _ _ __ ___ \n" +
|
||||
" | (_) | '_ \\/ -_) ' \\\\__ \\/ _ \\ || | '_/ _/ -_)\n" +
|
||||
" \\___/| .__/\\___|_||_|___/\\___/\\_,_|_| \\__\\___|\n" +
|
||||
" |_| \n");
|
||||
}
|
||||
|
||||
private static void Makedirs(List<File> Folders) {
|
||||
for (File EachFolder : Folders) {
|
||||
if (!EachFolder.exists()) {
|
||||
EachFolder.mkdirs();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package cn.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import top.gtb520.tools.main.main;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
public class multi {
|
||||
|
||||
public static void SaveAndReloadConfig() {
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
}
|
||||
public static String ColorMessage(String String1) {
|
||||
return ChatColor.translateAlternateColorCodes('&',String1);
|
||||
}
|
||||
|
||||
public static void GetLoggerPlus(String String1) {
|
||||
CommandSender Console = Bukkit.getConsoleSender();
|
||||
Console.sendMessage(ColorMessage(String1));
|
||||
}
|
||||
|
||||
static HashMap<String, Integer> IntTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, String> StringTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, Boolean> BooleanTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, Location> LocationTemp = new HashMap<>();
|
||||
|
||||
public static void SetLocationTempTemp(String String1, Location String2) {
|
||||
LocationTemp.put(String1,String2);
|
||||
}
|
||||
|
||||
public static Location getLocationTempTemp(String String1) {
|
||||
return LocationTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetStringTemp(String String1,String String2) {
|
||||
StringTemp.put(String1,String2);
|
||||
}
|
||||
|
||||
public static String getStringTemp(String String1) {
|
||||
return StringTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetIntTemp(String String1, Integer Int1) {
|
||||
IntTemp.put(String1,Int1);
|
||||
}
|
||||
|
||||
public static Integer GetIntTemp(String String1) {
|
||||
return IntTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetBooleanTemp(String String1, boolean Boolean1) {
|
||||
BooleanTemp.put(String1, Boolean1);
|
||||
}
|
||||
|
||||
public static boolean getBooleanTemp(String String1) {
|
||||
return BooleanTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void KickGui(Player player) {
|
||||
Inventory UI = Bukkit.createInventory(player,45, ColorMessage("&a选择你要踢出的玩家"));
|
||||
|
||||
ItemStack Bk = new ItemStack(Material.ORANGE_STAINED_GLASS_PANE);
|
||||
ItemMeta Bk_Meta = Bk.getItemMeta();
|
||||
Objects.requireNonNull(Bk_Meta).setDisplayName(ColorMessage("&e这只是一个边框"));
|
||||
ArrayList<String> Bk_Lore = new ArrayList<>();
|
||||
Bk_Lore.add(null);
|
||||
Bk_Lore.add(ColorMessage("&e这只是一个边框"));
|
||||
Bk_Meta.setLore(Bk_Lore);
|
||||
Bk.setItemMeta(Bk_Meta);
|
||||
|
||||
for (int i1 = 0 ; i1 <9 ; i1++) {
|
||||
UI.setItem(i1,Bk);
|
||||
}
|
||||
|
||||
for (int i2 = 36 ; i2 <40 ; i2++) {
|
||||
UI.setItem(i2,Bk);
|
||||
}
|
||||
|
||||
for (int i3 = 41 ; i3 <45 ; i3++) {
|
||||
UI.setItem(i3,Bk);
|
||||
}
|
||||
|
||||
UI.setItem(9,Bk);
|
||||
UI.setItem(17,Bk);
|
||||
|
||||
UI.setItem(18,Bk);
|
||||
UI.setItem(26,Bk);
|
||||
|
||||
UI.setItem(27,Bk);
|
||||
UI.setItem(35,Bk);
|
||||
|
||||
ItemStack Gb = new ItemStack(Material.REDSTONE_BLOCK);
|
||||
ItemMeta Gb_Meta = Gb.getItemMeta();
|
||||
Objects.requireNonNull(Gb_Meta).setDisplayName(ColorMessage("&d关闭菜单"));
|
||||
ArrayList<String> Gb_Lore = new ArrayList<>();
|
||||
Gb_Lore.add(null);
|
||||
Gb_Lore.add(ColorMessage("&e点击关闭菜单"));
|
||||
Gb_Meta.setLore(Gb_Lore);
|
||||
Gb.setItemMeta(Gb_Meta);
|
||||
|
||||
UI.setItem(40,Gb);
|
||||
|
||||
ArrayList<Player> players = new ArrayList<>(player.getServer().getOnlinePlayers());
|
||||
for (Player value : players) {
|
||||
ItemStack PlayerHead = new ItemStack(Material.PLAYER_HEAD);
|
||||
SkullMeta PlayerHead_meta = (SkullMeta) PlayerHead.getItemMeta();
|
||||
Objects.requireNonNull(PlayerHead_meta).setOwningPlayer(value);
|
||||
Objects.requireNonNull(PlayerHead_meta).setDisplayName(ChatColor.RESET + value.getDisplayName() + ChatColor.RESET);
|
||||
ArrayList<String> PlayerHead_Lore = new ArrayList<>();
|
||||
PlayerHead_Lore.add(null);
|
||||
PlayerHead_Lore.add(ColorMessage( "&e点击踢出玩家"));
|
||||
PlayerHead_meta.setLore(PlayerHead_Lore);
|
||||
PlayerHead.setItemMeta(PlayerHead_meta);
|
||||
|
||||
UI.addItem(PlayerHead);
|
||||
}
|
||||
player.openInventory(UI);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class mute_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
if (args.length == 1) {
|
||||
Player senderPlayer = (Player) sender;
|
||||
String PlayerName = args[0];
|
||||
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
|
||||
if (PlayerName.equals(senderPlayer.getName())) {
|
||||
sender.sendMessage(ChatColor.RED + "你不能禁言你自己");
|
||||
return false;
|
||||
}
|
||||
if (Objects.requireNonNull(player).isOp()) {
|
||||
sender.sendMessage(ChatColor.RED + "你不能禁言管理员");
|
||||
return false;
|
||||
}
|
||||
|
||||
List<String> MutePlayerList = new ArrayList<>(main.instance.getConfig().getStringList("MutePlayerList"));
|
||||
|
||||
for (String MutePlayers : MutePlayerList) {
|
||||
if (MutePlayers.equals(Objects.requireNonNull(player).getName())) {
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家已经被禁言过了,请勿重复禁言!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
MutePlayerList.add(Objects.requireNonNull(player).getName());
|
||||
main.instance.getConfig().set("MutePlayerList", MutePlayerList);
|
||||
unity.SaveAndReloadConfig();
|
||||
sender.sendMessage(ChatColor.GREEN + "你禁言了" + player.getName());
|
||||
player.sendMessage(ChatColor.RED + "你被 " + senderPlayer.getName() + " 禁言了!");
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
if (args.length == 1) {
|
||||
String PlayerName = args[0];
|
||||
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
|
||||
List<String> MutePlayerList = new ArrayList<>(main.instance.getConfig().getStringList("MutePlayerList"));
|
||||
|
||||
for (String MutePlayers : MutePlayerList) {
|
||||
if (MutePlayers.equals(Objects.requireNonNull(player).getName())) {
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家已经被禁言过了,请勿重复禁言!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
MutePlayerList.add(Objects.requireNonNull(player).getName());
|
||||
main.instance.getConfig().set("MutePlayerList", MutePlayerList);
|
||||
unity.SaveAndReloadConfig();
|
||||
sender.sendMessage(ChatColor.GREEN + "你禁言了" + player.getName());
|
||||
player.sendMessage(ChatColor.RED + "你被 控制台 禁言了!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/mute <玩家ID>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class setspawn_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
World world = player.getWorld();
|
||||
String worldName = world.getName();
|
||||
Double locationX = player.getLocation().getX();
|
||||
Double locationY = player.getLocation().getY();
|
||||
Double locationZ = player.getLocation().getZ();
|
||||
main.instance.getConfig().set("SpawnSetting.WorldName",worldName);
|
||||
main.instance.getConfig().set("SpawnSetting.locationX",locationX);
|
||||
main.instance.getConfig().set("SpawnSetting.locationY",locationY);
|
||||
main.instance.getConfig().set("SpawnSetting.locationZ",locationZ);
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a设置完成!"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只能是玩家执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class spawn_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
String worldName = main.instance.getConfig().getString("SpawnSetting.WorldName");
|
||||
double locationX = main.instance.getConfig().getDouble("SpawnSetting.locationX");
|
||||
double locationY = main.instance.getConfig().getDouble("SpawnSetting.locationY");
|
||||
double locationZ = main.instance.getConfig().getDouble("SpawnSetting.locationZ");
|
||||
if (worldName == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d你好像还没有设置主城呢,使用/setspawn设置主城吧!"));
|
||||
}else {
|
||||
World world = Bukkit.getWorld(worldName);
|
||||
Location location = new Location(world,locationX,locationY,locationZ);
|
||||
location.setX(locationX);
|
||||
location.setY(locationY);
|
||||
location.setZ(locationZ);
|
||||
player.teleport(location);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a欢迎来到主城!"));
|
||||
}
|
||||
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只能是玩家执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class sun_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
player.getWorld().setStorm(false);
|
||||
player.getWorld().setThundering(false);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&a完成!"));
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只能是玩家执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class testGUI implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if (!player.isOp()) {
|
||||
if (args.length == 1) {
|
||||
String GUIName = args[0];
|
||||
if (GUIName.equals("KickGUI")) {
|
||||
unity.KickGui(player);
|
||||
return false;
|
||||
}
|
||||
|
||||
sender.sendMessage(unity.ColorMessage("&d这个命令只有插件作者才能使用"));
|
||||
System.out.println("玩家:" + sender + "使用了内部测试命令");
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d这个命令只有插件作者才能使用"));
|
||||
System.out.println("玩家:" + sender + "使用了内部测试命令");
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d这个命令只有插件作者才能使用"));
|
||||
System.out.println("玩家:" + sender + "使用了内部测试命令");
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d这个命令只有插件作者才能使用"));
|
||||
System.out.println("玩家:" + sender + "使用了内部测试命令");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class tpaAccept_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
if (args.length == 1) {
|
||||
String AcceptPlayerName = args[0];
|
||||
if (Bukkit.getPlayer(AcceptPlayerName) == null) {
|
||||
unity.SetStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(AcceptPlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(AcceptPlayerName + "_Temp_TpaTime",0);
|
||||
sender.sendMessage(ChatColor.RED + "错误,那个玩家突然下线了!传送已取消");
|
||||
return false;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
if (unity.getStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName") == null|| !Objects.equals(unity.getStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName"), player.getName())) {
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家没有给你发传送请求");
|
||||
return false;
|
||||
}
|
||||
Player AcceptPlayer = Bukkit.getPlayer(AcceptPlayerName);
|
||||
Location SenderLocation = player.getLocation();
|
||||
Objects.requireNonNull(AcceptPlayer).teleport(SenderLocation);
|
||||
AcceptPlayer.sendMessage(ChatColor.GREEN + "传送成功!");
|
||||
player.sendMessage(ChatColor.GREEN + player.getName() + "传送到了你这里!");
|
||||
unity.SetStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(AcceptPlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(AcceptPlayerName + "_Temp_TpaTime",0);
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/tpa <玩家ID>"));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class tpaDefuse_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
if (args.length == 1) {
|
||||
String AcceptPlayerName = args[0];
|
||||
if (Bukkit.getPlayer(AcceptPlayerName) == null) {
|
||||
unity.SetStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(AcceptPlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(AcceptPlayerName + "_Temp_TpaTime",0);
|
||||
sender.sendMessage(ChatColor.RED + "错误,那个玩家突然下线了!传送已取消");
|
||||
return false;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
if (unity.getStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName") == null|| !Objects.equals(unity.getStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName"), player.getName())) {
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家没有给你发传送请求");
|
||||
return false;
|
||||
}
|
||||
Player AcceptPlayer = Bukkit.getPlayer(AcceptPlayerName);
|
||||
Objects.requireNonNull(AcceptPlayer).sendMessage(ChatColor.RED + "对方拒绝了你的请求!");
|
||||
unity.SetStringTemp(AcceptPlayerName + "_Temp_TpaPlayerName",null);
|
||||
unity.SetBooleanTemp(AcceptPlayerName + "_Temp_Tpa",false);
|
||||
unity.SetIntTemp(AcceptPlayerName + "_Temp_TpaTime",0);
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/tpaDefuse <玩家ID>"));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d这个命令只有玩家才能执行"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class tpaback_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
Location BackLocation = unity.getLocationTempTemp(player.getName() + "_Tpa");
|
||||
player.teleport(BackLocation);
|
||||
player.sendMessage(unity.ColorMessage("&a传送成功!"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
public class unity {
|
||||
|
||||
public static void SaveAndReloadConfig() {
|
||||
main.instance.saveConfig();
|
||||
main.instance.reloadConfig();
|
||||
}
|
||||
public static String ColorMessage(String String1) {
|
||||
return ChatColor.translateAlternateColorCodes('&',String1);
|
||||
}
|
||||
|
||||
public static void GetLoggerPlus(String String1) {
|
||||
CommandSender Console = Bukkit.getConsoleSender();
|
||||
Console.sendMessage(ColorMessage(String1));
|
||||
}
|
||||
|
||||
static HashMap<String, Integer> IntTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, String> StringTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, Boolean> BooleanTemp = new HashMap<>();
|
||||
|
||||
static HashMap<String, Location> LocationTemp = new HashMap<>();
|
||||
|
||||
public static void SetLocationTempTemp(String String1, Location String2) {
|
||||
LocationTemp.put(String1,String2);
|
||||
}
|
||||
|
||||
public static Location getLocationTempTemp(String String1) {
|
||||
return LocationTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetStringTemp(String String1,String String2) {
|
||||
StringTemp.put(String1,String2);
|
||||
}
|
||||
|
||||
public static String getStringTemp(String String1) {
|
||||
return StringTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetIntTemp(String String1, Integer Int1) {
|
||||
IntTemp.put(String1,Int1);
|
||||
}
|
||||
|
||||
public static Integer GetIntTemp(String String1) {
|
||||
return IntTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void SetBooleanTemp(String String1, boolean Boolean1) {
|
||||
BooleanTemp.put(String1, Boolean1);
|
||||
}
|
||||
|
||||
public static boolean getBooleanTemp(String String1) {
|
||||
return BooleanTemp.get(String1);
|
||||
}
|
||||
|
||||
public static void KickGui(Player player) {
|
||||
Inventory UI = Bukkit.createInventory(player,45, ColorMessage("&a选择你要踢出的玩家"));
|
||||
|
||||
ItemStack Bk = new ItemStack(Material.ORANGE_STAINED_GLASS_PANE);
|
||||
ItemMeta Bk_Meta = Bk.getItemMeta();
|
||||
Objects.requireNonNull(Bk_Meta).setDisplayName(ColorMessage("&e这只是一个边框"));
|
||||
ArrayList<String> Bk_Lore = new ArrayList<>();
|
||||
Bk_Lore.add(null);
|
||||
Bk_Lore.add(ColorMessage("&e这只是一个边框"));
|
||||
Bk_Meta.setLore(Bk_Lore);
|
||||
Bk.setItemMeta(Bk_Meta);
|
||||
|
||||
for (int i1 = 0 ; i1 <9 ; i1++) {
|
||||
UI.setItem(i1,Bk);
|
||||
}
|
||||
|
||||
for (int i2 = 36 ; i2 <40 ; i2++) {
|
||||
UI.setItem(i2,Bk);
|
||||
}
|
||||
|
||||
for (int i3 = 41 ; i3 <45 ; i3++) {
|
||||
UI.setItem(i3,Bk);
|
||||
}
|
||||
|
||||
UI.setItem(9,Bk);
|
||||
UI.setItem(17,Bk);
|
||||
|
||||
UI.setItem(18,Bk);
|
||||
UI.setItem(26,Bk);
|
||||
|
||||
UI.setItem(27,Bk);
|
||||
UI.setItem(35,Bk);
|
||||
|
||||
ItemStack Gb = new ItemStack(Material.REDSTONE_BLOCK);
|
||||
ItemMeta Gb_Meta = Gb.getItemMeta();
|
||||
Objects.requireNonNull(Gb_Meta).setDisplayName(ColorMessage("&d关闭菜单"));
|
||||
ArrayList<String> Gb_Lore = new ArrayList<>();
|
||||
Gb_Lore.add(null);
|
||||
Gb_Lore.add(ColorMessage("&e点击关闭菜单"));
|
||||
Gb_Meta.setLore(Gb_Lore);
|
||||
Gb.setItemMeta(Gb_Meta);
|
||||
|
||||
UI.setItem(40,Gb);
|
||||
|
||||
ArrayList<Player> players = new ArrayList<>(player.getServer().getOnlinePlayers());
|
||||
for (Player value : players) {
|
||||
ItemStack PlayerHead = new ItemStack(Material.PLAYER_HEAD);
|
||||
SkullMeta PlayerHead_meta = (SkullMeta) PlayerHead.getItemMeta();
|
||||
Objects.requireNonNull(PlayerHead_meta).setOwningPlayer(value);
|
||||
Objects.requireNonNull(PlayerHead_meta).setDisplayName(ChatColor.RESET + value.getDisplayName() + ChatColor.RESET);
|
||||
ArrayList<String> PlayerHead_Lore = new ArrayList<>();
|
||||
PlayerHead_Lore.add(null);
|
||||
PlayerHead_Lore.add(ColorMessage( "&e点击踢出玩家"));
|
||||
PlayerHead_meta.setLore(PlayerHead_Lore);
|
||||
PlayerHead.setItemMeta(PlayerHead_meta);
|
||||
|
||||
UI.addItem(PlayerHead);
|
||||
}
|
||||
player.openInventory(UI);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class unmute_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (sender instanceof Player) {
|
||||
if (args.length == 1) {
|
||||
Player senderPlayer = (Player) sender;
|
||||
String PlayerName = args[0];
|
||||
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
|
||||
List<String> MutePlayerList = new ArrayList<>(main.instance.getConfig().getStringList("MutePlayerList"));
|
||||
|
||||
for (String MutePlayers : MutePlayerList) {
|
||||
if (MutePlayers.equals(Objects.requireNonNull(player).getName())) {
|
||||
MutePlayerList.remove(Objects.requireNonNull(player).getName());
|
||||
main.instance.getConfig().set("MutePlayerList", MutePlayerList);
|
||||
unity.SaveAndReloadConfig();
|
||||
sender.sendMessage(ChatColor.GREEN + "你解除了 " + player.getName() + " 的禁言");
|
||||
player.sendMessage(ChatColor.RED + "你被 " + senderPlayer.getName() + " 解除禁言了!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家没有被禁言过!");
|
||||
}
|
||||
}else {
|
||||
if (args.length == 1) {
|
||||
String PlayerName = args[0];
|
||||
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&d这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
|
||||
List<String> MutePlayerList = new ArrayList<>(main.instance.getConfig().getStringList("MutePlayerList"));
|
||||
|
||||
for (String MutePlayers : MutePlayerList) {
|
||||
if (MutePlayers.equals(Objects.requireNonNull(player).getName())) {
|
||||
MutePlayerList.add(Objects.requireNonNull(player).getName());
|
||||
main.instance.getConfig().set("MutePlayerList", MutePlayerList);
|
||||
unity.SaveAndReloadConfig();
|
||||
sender.sendMessage(ChatColor.GREEN + "你解除了 控制台 的禁言");
|
||||
player.sendMessage(ChatColor.RED + "你被 控制台 解除禁言了!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.RED + "这个玩家没有被禁言过!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&d用法错误,用法:/unmute <玩家ID>"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package top.gtb520.tools.main;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class vanish_Command implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
String PlayerName = args[0];
|
||||
if (Bukkit.getPlayer(PlayerName) == null) {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l这个玩家不存在或不在线!"));
|
||||
return false;
|
||||
}
|
||||
Player player = Bukkit.getPlayer(PlayerName);
|
||||
if (unity.getStringTemp(player.getName() + "_Vanish") != null) {
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
AllPlayer.showPlayer(main.instance,player);
|
||||
}
|
||||
player.removePotionEffect(PotionEffectType.INVISIBILITY);
|
||||
unity.SetStringTemp(player.getName() + "_Vanish",null);
|
||||
sender.sendMessage(unity.ColorMessage("&a&l操作成功!"));
|
||||
player.sendMessage(unity.ColorMessage("&e&l隐身模式已关闭"));
|
||||
}else {
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
AllPlayer.hidePlayer(main.instance,player);
|
||||
}
|
||||
PotionEffect pot = new PotionEffect(PotionEffectType.INVISIBILITY, 99999, 255, true);
|
||||
player.addPotionEffect(pot);
|
||||
unity.SetStringTemp(player.getName() + "_Vanish","已开启");
|
||||
sender.sendMessage(unity.ColorMessage("&a&l操作成功!"));
|
||||
player.sendMessage(unity.ColorMessage("&e&l隐身模式已开启"));
|
||||
}
|
||||
}else {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if (unity.getStringTemp(player.getName() + "_Vanish") != null) {
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
AllPlayer.showPlayer(main.instance,player);
|
||||
}
|
||||
player.removePotionEffect(PotionEffectType.INVISIBILITY);
|
||||
unity.SetStringTemp(player.getName() + "_Vanish",null);
|
||||
player.sendMessage(unity.ColorMessage("&e&l隐身模式已关闭"));
|
||||
}else {
|
||||
for (Player AllPlayer : Bukkit.getOnlinePlayers()) {
|
||||
AllPlayer.hidePlayer(main.instance,player);
|
||||
}
|
||||
PotionEffect pot = new PotionEffect(PotionEffectType.INVISIBILITY, 99999, 255, true);
|
||||
player.addPotionEffect(pot);
|
||||
unity.SetStringTemp(player.getName() + "_Vanish","已开启");
|
||||
player.sendMessage(unity.ColorMessage("&e&l隐身模式已开启"));
|
||||
}
|
||||
}else {
|
||||
sender.sendMessage(unity.ColorMessage("&d&l用法错误,正确用法:/" + label + " [玩家ID]"));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user