遵循开发规约

This commit is contained in:
筱锋xiao_lfeng 2023-05-23 21:22:13 +08:00
parent f8d2180b73
commit 202c15b22d
10 changed files with 283 additions and 226 deletions

View File

@ -7,68 +7,76 @@ import org.frontleaves.xf_tools.XF_Tools;
import java.util.Objects;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class MenuCommandExecutor implements CommandExecutor {
public XF_Tools Tools;
public MenuCommandExecutor(XF_Tools Tools) {
this.Tools = Tools;
public XF_Tools tools;
public MenuCommandExecutor(XF_Tools plugins) {
this.tools = plugins;
}
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
if (command.getName().equalsIgnoreCase("xftool")
|| command.getName().equalsIgnoreCase("xftl")
|| command.getName().equalsIgnoreCase("xf-tool")
|| command.getName().equalsIgnoreCase("xf-tl")) {
if ("xftool".equalsIgnoreCase(command.getName())
|| "xftl".equalsIgnoreCase(command.getName())
|| "xf-tool".equalsIgnoreCase(command.getName())
|| "xf-tl".equalsIgnoreCase(command.getName())) {
System.out.println();
if (strings.length == 0) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§3筱锋工具箱[XF_Tool](版本号:%s", Tools.XF_Version));
sender.sendMessage(String.format("§3作者%s", Tools.XF_Author));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage(String.format("§3筱锋工具箱[XF_Tool](版本号:%s", tools.xfVersion));
sender.sendMessage(String.format("§3作者%s", tools.xfAuthor));
sender.sendMessage("§3博客§ehttps://blog.x-lf.com/");
sender.sendMessage("§2输入 §6/xf-tool help §2 查看插件帮助吧");
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
} else {
if (Objects.equals(strings[0], "help")) {
if (strings.length == 1) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§6/xf-tool §7- 查看插件信息");
sender.sendMessage("§6/xf-tool help [page] §7- 查看指令帮助");
sender.sendMessage("§6/xf-tool drop §7- 丢弃管理");
sender.sendMessage("§6/xf-op §7- OP管理");
sender.sendMessage("§6/xf-tool setting §7- 插件基础设置");
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§a页码 §71§8/§71");
} else if (strings.length == 2) {
if (Objects.equals(strings[1], "1")) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§6/xf-tool §7- 查看插件信息");
sender.sendMessage("§6/xf-tool help [page] §7- 查看指令帮助");
sender.sendMessage("§6/xf-op §7- OP管理");
sender.sendMessage("§6/xf-tool setting §7- 插件基础设置");
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§a页码 §71§8/§71");
} else sender.sendMessage(String.format("%s§r%s §r§c页码超出范围", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else {
sender.sendMessage(String.format("%s§r%s §r§c页码超出范围", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
} else if (Objects.equals(strings[0], "setting")) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§6/xf-tool update §7- 查看是否有可选更新");
sender.sendMessage("§6/xf-tool version §7- 查看插件版本");
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
} else if (Objects.equals(strings[0], "update"))
sender.sendMessage(String.format("%s§r%s §r§c很抱歉我还没有做接口哈", Tools.XF_Prefix, Tools.XF_PrefixArrow));
else if (Objects.equals(strings[0], "drop")) {
if (Tools.getConfig().getBoolean("Plugin_Drop")) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
} else if (Objects.equals(strings[0], "update")) {
sender.sendMessage(String.format("%s§r%s §r§c很抱歉我还没有做接口哈", tools.xfPrefix, tools.xfPrefixArrow));
} else if (Objects.equals(strings[0], "drop")) {
if (tools.getConfig().getBoolean("Plugin_Drop")) {
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
sender.sendMessage("§6/xf-drop §7- 解除丢弃物品");
sender.sendMessage("§6/xf-drop <on or off> §7- 设置是否允许丢弃物品");
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==", tools.xfPrefix));
} else {
sender.sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", tools.xfPrefix, tools.xfPrefixArrow));
}
} else if (Objects.equals(strings[0],"version"))
sender.sendMessage(String.format("%s§r%s §r§3版本号%s", Tools.XF_Prefix, Tools.XF_PrefixArrow,Tools.XF_Version));
else sender.sendMessage(String.format("%s§r%s §r§c参数错误请输入 §6/xf-tool help §c查看帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else if (Objects.equals(strings[0],"version")) {
sender.sendMessage(String.format("%s§r%s §r§3版本号%s", tools.xfPrefix, tools.xfPrefixArrow, tools.xfVersion));
} else {
sender.sendMessage(String.format("%s§r%s §r§c参数错误请输入 §6/xf-tool help §c查看帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
}
}
return true;

View File

@ -7,34 +7,39 @@ import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.frontleaves.xf_tools.XF_Tools;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class OpCheckCommandExecutor implements CommandExecutor {
public XF_Tools Tools;
public XF_Tools tools;
public OpCheckCommandExecutor(XF_Tools plugins) {
this.Tools = plugins;
this.tools = plugins;
}
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
if (command.getName().equalsIgnoreCase("op") || command.getName().equalsIgnoreCase("deop")) {
if ("op".equalsIgnoreCase(command.getName()) || "deop".equalsIgnoreCase(command.getName())) {
if (strings.length == 0) {
if (sender.isOp()) {
if (sender instanceof ConsoleCommandSender) {
sender.sendMessage(String.format("%s§r%s §r§c此命令被禁止请使用 §6/xf-op §c查看帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c此命令被禁止请使用 §6/xf-op §c查看帮助", tools.xfPrefix, tools.xfPrefixArrow));
} else {
sender.sendMessage(String.format("%s§r%s §r§c我不建议你赋予管理员", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c我不建议你赋予管理员", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§r%s §r§c你可不是管理员哦这个指令不要用别怪我没提醒你", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c你可不是管理员哦这个指令不要用别怪我没提醒你", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
if (sender instanceof ConsoleCommandSender) {
sender.sendMessage(String.format("%s§r%s §r§c此命令被禁止请使用 §6/xf-op §c查看帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c此命令被禁止请使用 §6/xf-op §c查看帮助", tools.xfPrefix, tools.xfPrefixArrow));
} else {
Player player = (Player) sender;
sender.sendMessage(String.format("%s§r%s §r§c禁止游戏内赋予管理员此命令被禁止", Tools.XF_Prefix, Tools.XF_PrefixArrow));
if (sender.isOp())
player.kickPlayer(String.format("§7[%s§7] §r§c我跟你说过了服务器内不允许赋予OP", Tools.XF_Prefix));
else
player.kickPlayer(String.format("§7[%s§7] §r§c我跟你说过了服务器内不允许赋予OP何况你也不是OP", Tools.XF_Prefix));
sender.sendMessage(String.format("%s§r%s §r§c禁止游戏内赋予管理员此命令被禁止", tools.xfPrefix, tools.xfPrefixArrow));
if (sender.isOp()) {
player.kickPlayer(String.format("§7[%s§7] §r§c我跟你说过了服务器内不允许赋予OP", tools.xfPrefix));
} else {
player.kickPlayer(String.format("§7[%s§7] §r§c我跟你说过了服务器内不允许赋予OP何况你也不是OP", tools.xfPrefix));
}
}
}
}

View File

@ -8,76 +8,80 @@ import org.frontleaves.xf_tools.XF_Tools;
import java.util.Objects;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class XfDropCommandExecutor implements CommandExecutor {
protected XF_Tools Tools;
protected XF_Tools tools;
public XfDropCommandExecutor(XF_Tools Tools) {
this.Tools = Tools;
public XfDropCommandExecutor(XF_Tools plugins) {
this.tools = plugins;
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("xf-drop")) {
if (Tools.getConfig().getBoolean("Plugin_Drop")) {
if ("xf-drop".equalsIgnoreCase(command.getName())) {
if (tools.getConfig().getBoolean("Plugin_Drop")) {
if (sender instanceof Player) {
if (args.length == 0) {
int i = 0;
Object[] User = new Object[2];
for (; Tools.XF_Player.get(i).length != 0; i++) {
User = Tools.XF_Player.get(i);
if (User[0] == sender.getName()) {
Object[] user = new Object[2];
for (; tools.xfPlayer.get(i).length != 0; i++) {
user = tools.xfPlayer.get(i);
if (user[0] == sender.getName()) {
break;
}
}
if ((int) User[1] == 0) {
User[1] = 1;
sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow));
if ((int) user[1] == 0) {
user[1] = 1;
sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", tools.xfPrefix, tools.xfPrefixArrow));
} else {
sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", tools.xfPrefix, tools.xfPrefixArrow));
}
} else if (args.length == 1) {
if (Objects.equals(args[0], "on")) {
int i = 0;
Object[] User = new Object[2];
for (; Tools.XF_Player.get(i).length != 0; i++) {
User = Tools.XF_Player.get(i);
if (User[0] == sender.getName()) {
Object[] user = new Object[2];
for (; tools.xfPlayer.get(i).length != 0; i++) {
user = tools.xfPlayer.get(i);
if (user[0] == sender.getName()) {
break;
}
}
if ((int) User[1] == 1) {
User[1] = 0;
sender.sendMessage(String.format("%s§r%s §r§2禁止丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow));
if ((int) user[1] == 1) {
user[1] = 0;
sender.sendMessage(String.format("%s§r%s §r§2禁止丢弃物品设置成功", tools.xfPrefix, tools.xfPrefixArrow));
} else {
sender.sendMessage(String.format("%s§r%s §r§c你已经上锁了", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c你已经上锁了", tools.xfPrefix, tools.xfPrefixArrow));
}
} else if (Objects.equals(args[0], "off")) {
int i = 0;
Object[] User = new Object[2];
for (; Tools.XF_Player.get(i).length != 0; i++) {
User = Tools.XF_Player.get(i);
if (User[0] == sender.getName()) {
Object[] user = new Object[2];
for (; tools.xfPlayer.get(i).length != 0; i++) {
user = tools.xfPlayer.get(i);
if (user[0] == sender.getName()) {
break;
}
}
if ((int) User[1] == 0) {
User[1] = 1;
sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow));
if ((int) user[1] == 0) {
user[1] = 1;
sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", tools.xfPrefix, tools.xfPrefixArrow));
} else {
sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c参数不正确请输入 §6/xf-tool help §c查看指令帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c此指令只允许玩家进行操作", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§3§r%s §r§c此指令只允许玩家进行操作", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", tools.xfPrefix, tools.xfPrefixArrow));
}
}
return true;

View File

@ -10,92 +10,102 @@ import org.bukkit.entity.Player;
import org.frontleaves.xf_tools.XF_Tools;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
public class XfOpCommandExecutor implements CommandExecutor {
public XF_Tools Tools;
public XF_Tools tools;
public XfOpCommandExecutor(XF_Tools Tools) {
this.Tools = Tools;
public XfOpCommandExecutor(XF_Tools plugins) {
this.tools = plugins;
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("xf-op")) {
if ("xf-op".equalsIgnoreCase(command.getName())) {
if (sender instanceof ConsoleCommandSender) {
if (args.length == 0) {
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
sender.sendMessage("§6/xf-op add <player> <password> §7- 添加一位OP");
sender.sendMessage("§6/xf-op del <player> <password> §7- 删除一位OP");
sender.sendMessage("§6/xf-op list §7- 查看目前的OP");
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
} else if (args.length <= 2) {
if (Objects.equals(args[0], "add")) {
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误", tools.xfPrefix, tools.xfPrefixArrow));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
sender.sendMessage("§r§3方法§6/xf-op add <player> <password>");
sender.sendMessage("§r§3作用§7添加一个OP");
sender.sendMessage("§r§3示例§a/xf-op add xiao_lfeng 123456");
sender.sendMessage("§r§3备注§c你的 <password> 是根据你在 config 中的配置决定");
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
} else if (Objects.equals(args[0], "del")) {
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误", tools.xfPrefix, tools.xfPrefixArrow));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
sender.sendMessage("§r§3方法§6/xf-op del <player> <password>");
sender.sendMessage("§r§3作用§7删除一个OP");
sender.sendMessage("§r§3示例§a/xf-op del xiao_lfeng 123456");
sender.sendMessage("§r§3备注§c你的 <password> 是根据你在 config 中的配置决定");
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", Tools.XF_Prefix));
sender.sendMessage(String.format("§7§l§m==]========== %s§7§l§m ==========[==", tools.xfPrefix));
} else if (Objects.equals(args[0], "list")) {
Set<OfflinePlayer> GetOP = Tools.getServer().getOperators();
String AllOperatorPlayer = null;
for (OfflinePlayer player : GetOP) {
if (AllOperatorPlayer == null) AllOperatorPlayer = player.getName();
else AllOperatorPlayer += ',' + player.getName();
Set<OfflinePlayer> getOp = tools.getServer().getOperators();
StringBuilder allOperatorPlayer = null;
for (OfflinePlayer player : getOp) {
if (allOperatorPlayer == null) {
allOperatorPlayer = Optional.ofNullable(player.getName()).map(StringBuilder::new).orElse(null);
} else {
allOperatorPlayer.append(',').append(player.getName());
}
}
sender.sendMessage(String.format("%s§3§r%s §r§3服内管理员如下", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§3§r%s §r§3%s", Tools.XF_Prefix, Tools.XF_PrefixArrow, AllOperatorPlayer));
sender.sendMessage(String.format("%s§3§r%s §r§3服内管理员如下", tools.xfPrefix, tools.xfPrefixArrow));
sender.sendMessage(String.format("%s§3§r%s §r§3%s", tools.xfPrefix, tools.xfPrefixArrow, allOperatorPlayer == null ? null : allOperatorPlayer.toString()));
}
} else if (args.length == 3) {
// 获取文件参数
FileConfiguration FileData = Tools.getConfig();
FileConfiguration fileData = tools.getConfig();
if (Objects.equals(args[0], "add")) {
if (Objects.equals(args[2], FileData.getString("OP_Password"))) {
Player player = Tools.getServer().getPlayer(args[1]);
if (Objects.equals(args[2], fileData.getString("OP_Password"))) {
Player player = tools.getServer().getPlayer(args[1]);
if (player != null) {
player.setOp(true);
player.sendMessage(String.format("%s§3§r%s §r§2恭喜你加入管理员团队", Tools.XF_Prefix, Tools.XF_PrefixArrow));
sender.sendMessage(String.format("%s§3§r%s §r§2用户 %s 加入管理员团队!", Tools.XF_Prefix, Tools.XF_PrefixArrow, player.getName()));
player.sendMessage(String.format("%s§3§r%s §r§2恭喜你加入管理员团队", tools.xfPrefix, tools.xfPrefixArrow));
sender.sendMessage(String.format("%s§3§r%s §r§2用户 %s 加入管理员团队!", tools.xfPrefix, tools.xfPrefixArrow, player.getName()));
} else {
OfflinePlayer SetOpPlayer = Tools.getServer().getOfflinePlayer(args[1]);
if (SetOpPlayer.hasPlayedBefore()) {
SetOpPlayer.setOp(true);
sender.sendMessage(String.format("%s§3§r%s §r§2用户 %s 加入管理员团队!", Tools.XF_Prefix, Tools.XF_PrefixArrow, SetOpPlayer.getName()));
} else
sender.sendMessage(String.format("%s§3§r%s §r§c这个用户还没加入过服务器你还是检查一下叭", Tools.XF_Prefix, Tools.XF_PrefixArrow));
}
} else
sender.sendMessage(String.format("%s§3§r%s §r§c无法操作密码错误", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else if (Objects.equals(args[0], "del")) {
if (Objects.equals(args[2], FileData.getString("OP_Password"))) {
OfflinePlayer DelOpPlayer = Tools.getServer().getOfflinePlayer(args[1]);
if (DelOpPlayer.isOp()) {
DelOpPlayer.setOp(false);
if (DelOpPlayer.isOnline()) {
Player player1 = DelOpPlayer.getPlayer();
player1.sendMessage(String.format("%s§3§r%s §r§c很遗憾你离开了管理员团队", Tools.XF_Prefix, Tools.XF_PrefixArrow));
OfflinePlayer setOpPlayer = tools.getServer().getOfflinePlayer(args[1]);
if (setOpPlayer.hasPlayedBefore()) {
setOpPlayer.setOp(true);
sender.sendMessage(String.format("%s§3§r%s §r§2用户 %s 加入管理员团队!", tools.xfPrefix, tools.xfPrefixArrow, setOpPlayer.getName()));
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c这个用户还没加入过服务器你还是检查一下叭", tools.xfPrefix, tools.xfPrefixArrow));
}
sender.sendMessage(String.format("%s§3§r%s §r§c用户 %s 离开管理员团队!", Tools.XF_Prefix, Tools.XF_PrefixArrow, DelOpPlayer.getName()));
} else
sender.sendMessage(String.format("%s§3§r%s §r§c这个用户本身不是管理员欸!", Tools.XF_Prefix, Tools.XF_PrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c无法操作密码错误", tools.xfPrefix, tools.xfPrefixArrow));
}
} else
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误请使用 §6/xf-op §c查看帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误请使用 §6/xf-op §c查看帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else
sender.sendMessage(String.format("%s§3§r%s §r§c此指令只允许后台进行操作", Tools.XF_Prefix, Tools.XF_PrefixArrow));
} else if (Objects.equals(args[0], "del")) {
if (Objects.equals(args[2], fileData.getString("OP_Password"))) {
OfflinePlayer delOpPlayer = tools.getServer().getOfflinePlayer(args[1]);
if (delOpPlayer.isOp()) {
delOpPlayer.setOp(false);
if (delOpPlayer.isOnline()) {
Player player1 = delOpPlayer.getPlayer();
player1.sendMessage(String.format("%s§3§r%s §r§c很遗憾你离开了管理员团队", tools.xfPrefix, tools.xfPrefixArrow));
}
sender.sendMessage(String.format("%s§3§r%s §r§c用户 %s 离开管理员团队!", tools.xfPrefix, tools.xfPrefixArrow, delOpPlayer.getName()));
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c这个用户本身不是管理员欸", tools.xfPrefix, tools.xfPrefixArrow));
}
}
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误请使用 §6/xf-op §c查看帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c参数错误请使用 §6/xf-op §c查看帮助", tools.xfPrefix, tools.xfPrefixArrow));
}
} else {
sender.sendMessage(String.format("%s§3§r%s §r§c此指令只允许后台进行操作", tools.xfPrefix, tools.xfPrefixArrow));
}
}
return true;
}

View File

@ -11,77 +11,81 @@ import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.frontleaves.xf_tools.XF_Tools;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class BlockEvent implements Listener {
protected XF_Tools Tools;
protected XF_Tools tools;
public BlockEvent(XF_Tools Tools) {
this.Tools = Tools;
public BlockEvent(XF_Tools plugins) {
this.tools = plugins;
}
@EventHandler
public void InventoryEvent(InventoryCloseEvent player) {
for (String value : Tools.BlockBanList) {
public void inventoryEvent(InventoryCloseEvent player) {
for (String value : tools.blockBanList) {
if (!player.getPlayer().isOp()) {
// 基岩检测
if (player.getPlayer().getInventory().contains(Material.getMaterial(value))) {
player.getPlayer().getInventory().remove(Material.getMaterial(value));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", Tools.XF_Prefix, Tools.XF_PrefixArrow, value));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", tools.xfPrefix, tools.xfPrefixArrow, value));
}
} else {
Tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 从背包获取了 %s", player.getPlayer().getName(), player.getPlayer().getLocation().getWorld().getName(), player.getPlayer().getLocation().getX(), player.getPlayer().getLocation().getY(), player.getPlayer().getLocation().getZ(), value));
tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 从背包获取了 %s", player.getPlayer().getName(), player.getPlayer().getLocation().getWorld().getName(), player.getPlayer().getLocation().getX(), player.getPlayer().getLocation().getY(), player.getPlayer().getLocation().getZ(), value));
}
}
}
@EventHandler
public void DropEvent(PlayerDropItemEvent player) {
for (String value : Tools.BlockBanList) {
public void dropEvent(PlayerDropItemEvent player) {
for (String value : tools.blockBanList) {
if (!player.getPlayer().isOp()) {
// 基岩检测
if (player.getPlayer().getInventory().contains(Material.getMaterial(value))) {
player.setCancelled(true);
player.getPlayer().getInventory().remove(Material.getMaterial(value));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", Tools.XF_Prefix, Tools.XF_PrefixArrow, Material.getMaterial(value)));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", tools.xfPrefix, tools.xfPrefixArrow, Material.getMaterial(value)));
}
} else {
Player players = (Player) player;
Location playerLocation = players.getLocation();
Tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 从丢弃了 %s", players.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 从丢弃了 %s", players.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
}
}
}
@EventHandler
public void PickupEvent(EntityPickupItemEvent pickupItemEvent) {
for (String value : Tools.BlockBanList) {
public void pickupEvent(EntityPickupItemEvent pickupItemEvent) {
for (String value : tools.blockBanList) {
Player entity = (Player) pickupItemEvent.getEntity();
if (!entity.isOp()) {
if (pickupItemEvent.getItem().getItemStack().getType() == Material.getMaterial(value)) {
entity.setCanPickupItems(false);
entity.sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", Tools.XF_Prefix, Tools.XF_PrefixArrow, value));
entity.sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", tools.xfPrefix, tools.xfPrefixArrow, value));
} else {
Location playerLocation = entity.getLocation();
Tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 捡起了 %s%n", entity.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 捡起了 %s%n", entity.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
}
}
}
}
@EventHandler
public void BlockPlaceEvent(BlockPlaceEvent player) {
for (String value : Tools.BlockBanList) {
public void blockPlaceEvent(BlockPlaceEvent player) {
for (String value : tools.blockBanList) {
if (!player.getPlayer().isOp()) {
// 基岩检测
if (player.getPlayer().getInventory().contains(Material.getMaterial(value))) {
player.setCancelled(true);
player.getPlayer().getInventory().remove(Material.getMaterial(value));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", Tools.XF_Prefix, Tools.XF_PrefixArrow, value));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c这个 %s 你不可以拥有", tools.xfPrefix, tools.xfPrefixArrow, value));
} else {
Player players = (Player) player;
Location playerLocation = players.getLocation();
Tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 位置使用了 %s", players.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
tools.getLogger().warning(String.format("管理 %s 在 [%s][%s,%s,%s] 位置使用了 %s", players.getDisplayName(), playerLocation.getWorld(), playerLocation.getX(), playerLocation.getY(), playerLocation.getZ(), value));
}
}
}

View File

@ -8,31 +8,35 @@ import org.frontleaves.xf_tools.XF_Tools;
import java.util.regex.Pattern;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class CommandEvent implements Listener {
private final XF_Tools Tools;
private final XF_Tools tools;
public CommandEvent(XF_Tools Tools) {
this.Tools = Tools;
public CommandEvent(XF_Tools plugins) {
this.tools = plugins;
}
@EventHandler
public void PlayerCommandEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
public void playerCommandEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
// 将数据输出并载入数据库
if (Tools.UseSQL) {
if (tools.useSql) {
tools.getLogger().warning(String.format("§r玩家 %s 输入了 %s", playerCommandPreprocessEvent.getPlayer().getDisplayName(), playerCommandPreprocessEvent.getMessage()));
} else {
Tools.getLogger().warning(String.format("§r玩家 %s 输入了 %s", playerCommandPreprocessEvent.getPlayer().getDisplayName(), playerCommandPreprocessEvent.getMessage()));
tools.getLogger().warning(String.format("§r玩家 %s 输入了 %s", playerCommandPreprocessEvent.getPlayer().getDisplayName(), playerCommandPreprocessEvent.getMessage()));
}
}
@EventHandler
public void PlayerCommandForDropEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
public void playerCommandForDropEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
// 检查数据内容
if (playerCommandPreprocessEvent.getMessage().equals("/drop")) {
if ("/drop".equals(playerCommandPreprocessEvent.getMessage())) {
playerCommandPreprocessEvent.setMessage("/xf-drop off");
}
if (playerCommandPreprocessEvent.getMessage().equals("/drop-on")) {
if ("/drop-on".equals(playerCommandPreprocessEvent.getMessage())) {
playerCommandPreprocessEvent.setMessage("/xf-drop on");
}
}
@ -45,12 +49,12 @@ public class CommandEvent implements Listener {
* @param playerCommandPreprocessEvent 输入指令的玩家
*/
@EventHandler
public void PlayerCommandForCalcEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
public void playerCommandForCalcEvent(PlayerCommandPreprocessEvent playerCommandPreprocessEvent) {
if (Pattern.matches("^//calc",playerCommandPreprocessEvent.getMessage())) {
if (playerCommandPreprocessEvent instanceof Player && !playerCommandPreprocessEvent.getPlayer().isOp()) {
playerCommandPreprocessEvent.setCancelled(true);
if (playerCommandPreprocessEvent.isCancelled()) {
playerCommandPreprocessEvent.getPlayer().sendMessage(String.format("%s§r%s §r§c玩家不能够直接执行此命令", Tools.XF_Prefix, Tools.XF_PrefixArrow));
playerCommandPreprocessEvent.getPlayer().sendMessage(String.format("%s§r%s §r§c玩家不能够直接执行此命令", tools.xfPrefix, tools.xfPrefixArrow));
}
}
}

View File

@ -5,32 +5,37 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.frontleaves.xf_tools.XF_Tools;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class DropEvent implements Listener {
protected XF_Tools Tools;
protected XF_Tools tools;
public DropEvent(XF_Tools Tools) {
this.Tools = Tools;
public DropEvent(XF_Tools plugins) {
this.tools = plugins;
}
@EventHandler
public void Drop(PlayerDropItemEvent Player) {
if (Tools.getConfig().getBoolean("Plugin_Drop")) {
public void dropEvent(PlayerDropItemEvent player) {
if (tools.getConfig().getBoolean("Plugin_Drop")) {
int i = 0;
Object[] User = new Object[2];
for (; Tools.XF_Player.get(i).length != 0; i++) {
User = Tools.XF_Player.get(i);
if (User[0] == Player.getPlayer().getName()) {
Object[] user = new Object[2];
for (; tools.xfPlayer.get(i).length != 0; i++) {
user = tools.xfPlayer.get(i);
if (user[0] == player.getPlayer().getName()) {
break;
}
}
if ((int) User[1] == 0) {
Player.setCancelled(true);
if (Player.isCancelled())
Player.getPlayer().sendMessage(String.format("%s§r%s §r§c丢东西保护如果确定需要丢物品输入 §6/xf-drop §c开启丢物品", Tools.XF_Prefix, Tools.XF_PrefixArrow));
if ((int) user[1] == 0) {
player.setCancelled(true);
if (player.isCancelled()) {
player.getPlayer().sendMessage(String.format("%s§r%s §r§c丢东西保护如果确定需要丢物品输入 §6/xf-drop §c开启丢物品", tools.xfPrefix, tools.xfPrefixArrow));
}
}
} else {
Player.getPlayer().sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", Tools.XF_Prefix, Tools.XF_PrefixArrow));
player.getPlayer().sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", tools.xfPrefix, tools.xfPrefixArrow));
}
}
}

View File

@ -6,30 +6,34 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.frontleaves.xf_tools.XF_Tools;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class PlayerActivityListener implements Listener {
protected XF_Tools Tools;
protected XF_Tools tools;
public PlayerActivityListener(XF_Tools Tools) {
this.Tools = Tools;
public PlayerActivityListener(XF_Tools tools) {
this.tools = tools;
}
@EventHandler
public void onJoinServer(PlayerJoinEvent Player) {
Object[] PlayerData = {Player.getPlayer().getName(), 0};
Tools.XF_Player.add(PlayerData);
Player.setJoinMessage(String.format("§7[§2+§7]§3 %s", Player.getPlayer().getDisplayName()));
public void onJoinServer(PlayerJoinEvent player) {
Object[] playerData = {player.getPlayer().getName(), 0};
tools.xfPlayer.add(playerData);
player.setJoinMessage(String.format("§7[§2+§7]§3 %s", player.getPlayer().getDisplayName()));
}
@EventHandler
public void onQuitServer(PlayerQuitEvent Player) {
for (int i = 0; Tools.XF_Player.get(i).length != 0; i++) {
Object[] User = Tools.XF_Player.get(i);
if (User[0] == Player.getPlayer().getName()) {
Tools.XF_Player.remove(i);
public void onQuitServer(PlayerQuitEvent player) {
for (int i = 0; tools.xfPlayer.get(i).length != 0; i++) {
Object[] user = tools.xfPlayer.get(i);
if (user[0] == player.getPlayer().getName()) {
tools.xfPlayer.remove(i);
break;
}
}
Player.setQuitMessage(String.format("§7[§c-§7]§3 %s", Player.getPlayer().getDisplayName()));
player.setQuitMessage(String.format("§7[§c-§7]§3 %s", player.getPlayer().getDisplayName()));
}
}

View File

@ -7,58 +7,67 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Objects;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public class DataBaseCreate {
private final XF_Tools Tools;
private final XF_Tools tools;
public DataBaseCreate(XF_Tools Tools) {
this.Tools = Tools;
public DataBaseCreate(XF_Tools plugins) {
this.tools = plugins;
}
public void CreateTable() {
public void createTable() {
try {
Class.forName("com.mysql.jdbc.Driver");
Tools.SqlConn = DriverManager.getConnection("jdbc:mysql://" + Tools.getConfig().getString("Mysql_Host") + ":" + Tools.getConfig().getInt("Mysql_Port") + "/?useSSL=" + Tools.getConfig().getString("Mysql_SSL"), Tools.getConfig().getString("Mysql_User"), Tools.getConfig().getString("Mysql_Password"));
Tools.Stmt = Tools.SqlConn.createStatement();
Tools.UseSQL = true;
Tools.getLogger().info("数据库已成功连接!");
tools.sqlConn = DriverManager.getConnection("jdbc:mysql://" + tools.getConfig().getString("Mysql_Host") + ":" + tools.getConfig().getInt("Mysql_Port") + "/?useSSL=" + tools.getConfig().getString("Mysql_SSL"), tools.getConfig().getString("Mysql_User"), tools.getConfig().getString("Mysql_Password"));
tools.stmt = tools.sqlConn.createStatement();
tools.useSql = true;
tools.getLogger().info("数据库已成功连接!");
} catch (ClassNotFoundException e) {
Tools.UseSQL = false;
tools.useSql = false;
} catch (SQLException e) {
Tools.getLogger().warning("数据库无法连接,已禁止使用数据库!");
Tools.UseSQL = false;
tools.getLogger().warning("数据库无法连接,已禁止使用数据库!");
tools.useSql = false;
}
if (this.Create()) {
Tools.getLogger().info("创建数据表");
Tools.UseSQL = true;
} else Tools.UseSQL = false;
if (this.create()) {
tools.getLogger().info("创建数据表");
tools.useSql = true;
} else {
tools.useSql = false;
}
}
public boolean Create() {
public boolean create() {
try {
if (Tools.Stmt.executeQuery("SELECT TABLE_NAME,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='xf_tools' AND TABLE_NAME LIKE '%xftls%'").next()) {
Tools.getLogger().info("2");
ResultSet Result_Table = Tools.Stmt.executeQuery("SELECT TABLE_NAME,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='xf_tools' AND TABLE_NAME LIKE '%xftls%'");
while (Result_Table.next()) {
if (!Objects.equals(Result_Table.getString("TABLE_NAME"), TABLE_NAME.xftls_commandslogs.name())) {
if (!CreateCommandsLogs()) Tools.getLogger().warning("数据表 xftls_commandslogs 创建失败");
if (tools.stmt.executeQuery("SELECT TABLE_NAME,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='xf_tools' AND TABLE_NAME LIKE '%xftls%'").next()) {
tools.getLogger().info("2");
ResultSet resultTable = tools.stmt.executeQuery("SELECT TABLE_NAME,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='xf_tools' AND TABLE_NAME LIKE '%xftls%'");
while (resultTable.next()) {
if (!Objects.equals(resultTable.getString("TABLE_NAME"), TABLE_NAME.xftls_commandslogs.name())) {
if (!createCommandsLogs()) {
tools.getLogger().warning("数据表 xftls_commandslogs 创建失败");
}
return true;
}
}
} else {
Tools.getLogger().info("20");
if (!Tools.Stmt.executeQuery("SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='xf_tools'").next()) {
if (Tools.Stmt.execute("CREATE SCHEMA xf_tools")) Tools.getLogger().info("数据库 xf_tools 创建完毕");
else {
Tools.getLogger().info("数据库创建失败,数据库禁用");
Tools.UseSQL = false;
tools.getLogger().info("20");
if (!tools.stmt.executeQuery("SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='xf_tools'").next()) {
if (tools.stmt.execute("CREATE SCHEMA xf_tools")) {
tools.getLogger().info("数据库 xf_tools 创建完毕");
} else {
tools.getLogger().info("数据库创建失败,数据库禁用");
tools.useSql = false;
return false;
}
}
if (!CreateCommandsLogs()) {
Tools.getLogger().warning("数据表 xftls_commandslogs 创建失败,数据库禁用");
Tools.UseSQL = false;
if (!createCommandsLogs()) {
tools.getLogger().warning("数据表 xftls_commandslogs 创建失败,数据库禁用");
tools.useSql = false;
return false;
}
}
@ -68,7 +77,7 @@ public class DataBaseCreate {
return false;
}
private boolean CreateCommandsLogs() {
private boolean createCommandsLogs() {
/*Tools.getLogger().info("1");
// 如果不存在这个数据库需要创建一个数据库
try {

View File

@ -16,17 +16,21 @@ import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
/**
* @author 筱锋xiao_lfeng
* @since v1.0.0-Alpha
*/
public final class XF_Tools extends JavaPlugin {
public String XF_Version = "1.0.0-Alpha";
public String XF_Author = "筱锋xiao_lfeng";
public String XF_Prefix = "§2XF§bTools";
public String XF_PrefixArrow = "§7§l>>";
public String xfVersion = "1.0.0-Alpha";
public String xfAuthor = "筱锋xiao_lfeng";
public String xfPrefix = "§2XF§bTools";
public String xfPrefixArrow = "§7§l>>";
// 初始化部分
public List<Object[]> XF_Player = new ArrayList<>();
public boolean UseSQL = false;
public Connection SqlConn;
public Statement Stmt;
public List<String> BlockBanList = new ArrayList<>();
public List<Object[]> xfPlayer = new ArrayList<>();
public boolean useSql = false;
public Connection sqlConn;
public Statement stmt;
public List<String> blockBanList = new ArrayList<>();
@Override
public void onEnable() {
// 载入指令
@ -48,16 +52,16 @@ public final class XF_Tools extends JavaPlugin {
// 输出配置文件
saveDefaultConfig();
// 获取配置文件
this.BlockBanList = getConfig().getStringList("BanBlock_List");
this.blockBanList = getConfig().getStringList("BanBlock_List");
// 数据库配置部分
if (getConfig().getBoolean("Mysql_Open")) {
DataBaseCreate dataBaseCreate = new DataBaseCreate(this);
dataBaseCreate.CreateTable();
dataBaseCreate.createTable();
}
// 信息输出
getLogger().info(String.format("作者:%s", this.XF_Author));
getLogger().info(String.format("作者:%s", this.xfAuthor));
getLogger().info("瞄,希望我的插件对你有所帮助~");
super.onEnable();