diff --git a/src/main/java/org/frontleaves/xf_tools/Commands/MenuCommandExecutor.java b/src/main/java/org/frontleaves/xf_tools/Commands/MenuCommandExecutor.java index 8f694e3..414ca5e 100644 --- a/src/main/java/org/frontleaves/xf_tools/Commands/MenuCommandExecutor.java +++ b/src/main/java/org/frontleaves/xf_tools/Commands/MenuCommandExecutor.java @@ -24,7 +24,7 @@ public class MenuCommandExecutor implements CommandExecutor { 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("§3博客:§ehttps://www.blog.x-lf.com/"); + 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)); } else { @@ -59,10 +59,14 @@ public class MenuCommandExecutor implements CommandExecutor { } 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")) { - sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix)); - sender.sendMessage("§6/xf-drop §7- 解除丢弃物品"); - sender.sendMessage("§6/xf-drop §7- 设置是否允许丢弃物品"); - sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix)); + if (Tools.getConfig().getBoolean("Plugin_Drop")) { + sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix)); + sender.sendMessage("§6/xf-drop §7- 解除丢弃物品"); + sender.sendMessage("§6/xf-drop §7- 设置是否允许丢弃物品"); + sender.sendMessage(String.format("§7§l§m==]==========§r %s §7§l§m==========[==",Tools.XF_Prefix)); + } else { + sender.sendMessage(String.format("%s§r%s §r§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.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)); diff --git a/src/main/java/org/frontleaves/xf_tools/Commands/XfDropCommandExecutor.java b/src/main/java/org/frontleaves/xf_tools/Commands/XfDropCommandExecutor.java index c490b10..24a7465 100644 --- a/src/main/java/org/frontleaves/xf_tools/Commands/XfDropCommandExecutor.java +++ b/src/main/java/org/frontleaves/xf_tools/Commands/XfDropCommandExecutor.java @@ -3,6 +3,7 @@ package org.frontleaves.xf_tools.Commands; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import org.frontleaves.xf_tools.XF_Tools; import java.util.Objects; @@ -18,57 +19,65 @@ public class XfDropCommandExecutor implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (command.getName().equalsIgnoreCase("xf-drop")) { - 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()) { - break; - } - } - if ((int) User[1] == 0) { - User[1] = 1; - sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); - } else { - sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", Tools.XF_Prefix, Tools.XF_PrefixArrow)); - } - } 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()) { - break; + 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()) { + break; + } } - } - if ((int) User[1] == 1) { - User[1] = 0; - sender.sendMessage(String.format("%s§r%s §r§2禁止丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); - } else { - sender.sendMessage(String.format("%s§r%s §r§c你已经上锁了", Tools.XF_Prefix, Tools.XF_PrefixArrow)); - } - } 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()) { - break; + if ((int) User[1] == 0) { + User[1] = 1; + sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); + } else { + sender.sendMessage(String.format("%s§r%s §r§c你已经解除过绑定了", Tools.XF_Prefix, Tools.XF_PrefixArrow)); + } + } 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()) { + break; + } + } + if ((int) User[1] == 1) { + User[1] = 0; + sender.sendMessage(String.format("%s§r%s §r§2禁止丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); + } else { + sender.sendMessage(String.format("%s§r%s §r§c你已经上锁了", Tools.XF_Prefix, Tools.XF_PrefixArrow)); + } + } 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()) { + break; + } + } + if ((int) User[1] == 0) { + User[1] = 1; + sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); + } 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参数不正确,请输入 §6/xf-tool help §c查看指令帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } - } - if ((int) User[1] == 0) { - User[1] = 1; - sender.sendMessage(String.format("%s§r%s §r§2解除丢弃物品设置成功", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } 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参数不正确,请输入 §6/xf-tool help §c查看指令帮助", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } } 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§3§r%s §r§c此指令只允许玩家进行操作!", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } } 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服务器没有开启服务器掉落保护", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } } return true; diff --git a/src/main/java/org/frontleaves/xf_tools/Events/DropEvent.java b/src/main/java/org/frontleaves/xf_tools/Events/DropEvent.java index a8dd492..b60c393 100644 --- a/src/main/java/org/frontleaves/xf_tools/Events/DropEvent.java +++ b/src/main/java/org/frontleaves/xf_tools/Events/DropEvent.java @@ -15,18 +15,22 @@ public class DropEvent implements Listener { @EventHandler public void Drop(PlayerDropItemEvent Player) { - 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()) { - break; + 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()) { + 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.XF_Prefix, Tools.XF_PrefixArrow)); + } + } else { + Player.getPlayer().sendMessage(String.format("%s§r%s §r§c服务器没有开启服务器掉落保护", Tools.XF_Prefix, Tools.XF_PrefixArrow)); } } } diff --git a/src/main/java/org/frontleaves/xf_tools/XF_Tools.java b/src/main/java/org/frontleaves/xf_tools/XF_Tools.java index cedc789..40ccc53 100644 --- a/src/main/java/org/frontleaves/xf_tools/XF_Tools.java +++ b/src/main/java/org/frontleaves/xf_tools/XF_Tools.java @@ -8,7 +8,12 @@ import org.frontleaves.xf_tools.Commands.XfOpCommandExecutor; import org.frontleaves.xf_tools.Events.BlockEvent; import org.frontleaves.xf_tools.Events.DropEvent; import org.frontleaves.xf_tools.Events.PlayerActivityListener; +import org.frontleaves.xf_tools.Others.DataBaseCreate; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.List; @@ -19,6 +24,9 @@ public final class XF_Tools extends JavaPlugin { public String XF_PrefixArrow = "§7§l>>"; // 初始化部分 public List XF_Player = new ArrayList<>(); + public boolean UseSQL = false; + public Connection SqlConn; + public Statement Stmt; @Override public void onEnable() { @@ -40,6 +48,25 @@ public final class XF_Tools extends JavaPlugin { // 输出配置文件 saveDefaultConfig(); + // 数据库配置部分 + if (getConfig().getBoolean("Mysql_Open")) { + try { + Class.forName("com.mysql.jdbc.Driver"); + this.SqlConn = DriverManager.getConnection("jdbc:mysql://"+getConfig().getString("Mysql_Host")+":"+getConfig().getInt("Mysql_Port")+"/?useSSL="+getConfig().getString("Mysql_SSL"),getConfig().getString("Mysql_User"),getConfig().getString("Mysql_Password")); + this.Stmt = this.SqlConn.createStatement(); + this.UseSQL = true; + getLogger().info("数据库已成功连接!"); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (SQLException e) { + getLogger().warning("数据库无法连接,已禁止使用数据库!"); + } + DataBaseCreate DataCheck = new DataBaseCreate(this); + if (DataCheck.Create()) { + getLogger().info("创建数据表"); + } + } + // 信息输出 getLogger().info(String.format("作者:%s", this.XF_Author)); getLogger().info("瞄,希望我的插件对你有所帮助~"); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 3c32e6d..6bbf2f9 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -17,13 +17,27 @@ Global_Prefix: "§2XF§b§lTools" # 赋予OP密码 OP_Password: 20040227 +### +# 插件管理 +### +# 是否开启凋落物保护 +Plugin_Drop: true +# 是否开启违禁物品检测 +Plugin_BanBlock: true +BanBlock_List: + - "BEDROCK" + - "COMMAND_BLOCK" +# 是否开启玩家指令记录 +Plugin_CommandLog: true +# 是否开启管理员指令记录 +Plugin_CommandAdminLog: true + ### # 数据库配置信息 ### -Mysql_Opened: false +Mysql_Open: false Mysql_Host: "localhost" Mysql_Port: 3306 -Mysql_DataBase: "" Mysql_User: "" Mysql_Password: "" Mysql_SSL: false \ No newline at end of file