From 34a243bd398c9b7f1bbc5b7a425e20b0b5245312 Mon Sep 17 00:00:00 2001 From: 5vl Date: Wed, 3 Mar 2021 21:11:02 +0100 Subject: [PATCH] add n fix stoof --- src/main/java/sbr/sbr/commands/admin.java | 290 ++++++++++++++++++ src/main/java/sbr/sbr/commands/balance.java | 41 --- src/main/java/sbr/sbr/commands/banker.java | 26 -- src/main/java/sbr/sbr/commands/hub.java | 36 +-- .../sbr/commands/tabcompletion/adminTab.java | 211 +++++++++++++ src/main/java/sbr/sbr/events/InvClick.java | 166 +++++++--- src/main/java/sbr/sbr/events/healthMana.java | 33 ++ .../java/sbr/sbr/events/onPlayerJoin.java | 79 ++--- .../sbr/sbr/guis/banker/bankerDeposit.java | 18 +- .../java/sbr/sbr/guis/banker/bankerMain.java | 18 +- .../sbr/sbr/guis/banker/bankerWithdraw.java | 18 +- src/main/java/sbr/sbr/guis/hubMenu.java | 13 +- src/main/java/sbr/sbr/main.java | 46 +-- src/main/java/sbr/sbr/utils/utils.java | 32 ++ src/main/resources/plugin.yml | 6 +- 15 files changed, 783 insertions(+), 250 deletions(-) create mode 100644 src/main/java/sbr/sbr/commands/admin.java delete mode 100644 src/main/java/sbr/sbr/commands/balance.java delete mode 100644 src/main/java/sbr/sbr/commands/banker.java create mode 100644 src/main/java/sbr/sbr/commands/tabcompletion/adminTab.java create mode 100644 src/main/java/sbr/sbr/events/healthMana.java create mode 100644 src/main/java/sbr/sbr/utils/utils.java diff --git a/src/main/java/sbr/sbr/commands/admin.java b/src/main/java/sbr/sbr/commands/admin.java new file mode 100644 index 0000000..e54056e --- /dev/null +++ b/src/main/java/sbr/sbr/commands/admin.java @@ -0,0 +1,290 @@ +package sbr.sbr.commands; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.WorldCreator; +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 sbr.sbr.guis.banker.bankerMain; +import sbr.sbr.guis.hubMenu; +import sbr.sbr.main; +import sbr.sbr.utils.chatcolors; +import sbr.sbr.utils.utils; + +import java.sql.SQLException; + +public class admin extends chatcolors implements CommandExecutor { + @SuppressWarnings("deprecation") + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + if (!(sender instanceof Player)) { + System.out.println("You can only run this command as a player."); + return true; + } + Player p = (Player) sender; + if (!p.hasPermission("sbr.admin")) { + p.sendMessage(color("&4You do not have permission to execute this command.")); + return true; + } + if (args.length == 0) { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin hub [hub]")); + p.sendMessage(color("&a/admin hubselector")); + p.sendMessage(color("&a/admin purse [add/remove/current] [player] [amount]")); + p.sendMessage(color("&a/admin bank [add/remove/current] [player] [amount]")); + p.sendMessage(color("&a/admin bankgui")); + p.sendMessage(color("&a/admin send [player] [location]")); + p.sendMessage(color("&a/admin find [player]")); + p.sendMessage(color("&a/admin mana [add/remove/current] [player] [amount]")); + p.sendMessage(color("&a/admin maxmana [add/remove/current] [player] [amount]")); + p.sendMessage(color("&a/admin health [add/remove/current] [player] [amount]")); + p.sendMessage(color("&a/admin maxhealth [add/remove/current] [player] [amount]")); + } + if (args.length > 0) { + if (args[0].equalsIgnoreCase("hubselector")) { + p.openInventory(hubMenu.getGui(p)); + utils.currentGui.put(p.getUniqueId(), "hubMenu"); + } + if (args[0].equalsIgnoreCase("hub")) { + if (args.length == 2) { + if (utils.currentWorld.get(p.getUniqueId()).equalsIgnoreCase(args[1])) { + p.sendMessage(color("&cYou are trying to teleport to the same hub!")); + } + else if (hub.hubs.contains(args[1]) && Bukkit.getWorld(args[1]) != null) { + Bukkit.createWorld(new WorldCreator(args[1])); + World setHub = Bukkit.getWorld(args[1]); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), args[1]); + p.sendMessage(color("&aSent you to hub &b" + args[1] + "&a!")); + } else { + p.sendMessage(color("&4That is not a correct hub name!")); + } + } else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin hub [hub]")); + } + } + if (args[0].equalsIgnoreCase("purse")) { + if (args.length == 3) { + if (args[1].equalsIgnoreCase("current")) { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.purseBal; + p.sendMessage(color("&aPlayer &b" + pg.getDisplayName() + " &ahas &6" + bal + " &ain their purse.")); + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player.")); + } + } + } else if (args.length == 4) { + if (args[1].equalsIgnoreCase("add")) { + try { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.purseBal; + try { + int argint = Integer.parseInt(args[3]); + if (argint < 1) { + p.sendMessage(color("&cPlease provide a number higher than 0")); + return true; + } + int nbal = bal + argint; + main.prepareStatement("UPDATE purse SET Balance = '" + nbal + "' WHERE UUID = '" + pg.getUniqueId().toString() + "';").executeUpdate(); + p.sendMessage(color("&dYou added &6" + argint + " &dto &b" + pg.getDisplayName() + "&d's purse.")); + p.sendMessage(color("&aThey now have: &6" + nbal)); + pg.sendMessage(color("&dAn admin added &6" + argint + " &dto your purse.")); + pg.sendMessage(color("&aYou now have: &6" + nbal)); + } catch (NumberFormatException x) { + p.sendMessage(color("&c&lAmount must be a number!")); + } + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player!")); + } + } catch (SQLException x) { + x.printStackTrace(); + p.sendMessage(color("&4&lSomething went wrong, please contact a dev ASAP.")); + } + } + if (args[1].equalsIgnoreCase("remove")) { + try { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.purseBal; + try { + int argint = Integer.parseInt(args[3]); + if (argint < 1) { + p.sendMessage(color("&cPlease provide a number higher than 0")); + return true; + } + int nbal = bal - argint; + if (nbal < 0) { + p.sendMessage(color("&cError: Balance cannot be lower than 0")); + return true; + } + main.prepareStatement("UPDATE purse SET Balance = '" + nbal + "' WHERE UUID = '" + pg.getUniqueId().toString() + "';").executeUpdate(); + p.sendMessage(color("&dYou removed &6" + argint + " &dfrom &b" + pg.getDisplayName() + "&d's purse.")); + p.sendMessage(color("&aThey now have: &6" + nbal)); + pg.sendMessage(color("&dAn admin removed &6" + argint + " &dfrom your purse.")); + pg.sendMessage(color("&aYou now have: &6" + nbal)); + } catch (NumberFormatException x) { + p.sendMessage(color("&c&lAmount must be a number!")); + } + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player!")); + } + } catch (SQLException x) { + x.printStackTrace(); + p.sendMessage(color("&4&lSomething went wrong, please contact a dev ASAP.")); + } + } + } else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin purse [add/remove/current] [player] [amount]")); + } + } + if (args[0].equalsIgnoreCase("bank")) { + if (args.length == 3) { + if (args[1].equalsIgnoreCase("current")) { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.bankBal; + p.sendMessage(color("&aPlayer &b" + pg.getDisplayName() + " &ahas &6" + bal + " &ain their bank.")); + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player.")); + } + } + } else if (args.length == 4) { + if (args[1].equalsIgnoreCase("add")) { + try { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.bankBal; + try { + int argint = Integer.parseInt(args[3]); + if (argint < 1) { + p.sendMessage(color("&cPlease provide a number higher than 0")); + return true; + } + int nbal = bal + argint; + main.prepareStatement("UPDATE bank SET Balance = '" + nbal + "' WHERE UUID = '" + pg.getUniqueId().toString() + "';").executeUpdate(); + p.sendMessage(color("&dYou added &6" + argint + " &dto &b" + pg.getDisplayName() + "&d's bank.")); + p.sendMessage(color("&aThey now have: &6" + nbal)); + pg.sendMessage(color("&dAn admin added &6" + argint + " &dto your bank.")); + pg.sendMessage(color("&aYou now have: &6" + nbal)); + } catch (NumberFormatException x) { + p.sendMessage(color("&c&lAmount must be a number!")); + } + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player!")); + } + } catch (SQLException x) { + x.printStackTrace(); + p.sendMessage(color("&4&lSomething went wrong, please contact a dev ASAP.")); + } + } + if (args[1].equalsIgnoreCase("remove")) { + try { + try { + Player pg = Bukkit.getPlayer(args[2]); + assert pg != null; + utils.balance(pg); + int bal = utils.bankBal; + try { + int argint = Integer.parseInt(args[3]); + if (argint < 1) { + p.sendMessage(color("&cPlease provide a number higher than 0")); + return true; + } + int nbal = bal - argint; + if (nbal < 0) { + p.sendMessage(color("&cError: Balance cannot be lower than 0")); + return true; + } + main.prepareStatement("UPDATE bank SET Balance = '" + nbal + "' WHERE UUID = '" + pg.getUniqueId().toString() + "';").executeUpdate(); + p.sendMessage(color("&dYou removed &6" + argint + " &dfrom &b" + pg.getDisplayName() + "&d's bank.")); + p.sendMessage(color("&aThey now have: &6" + nbal)); + pg.sendMessage(color("&dAn admin removed &6" + argint + " &dfrom your bank.")); + pg.sendMessage(color("&aYou now have: &6" + nbal)); + } catch (NumberFormatException x) { + p.sendMessage(color("&c&lAmount must be a number!")); + } + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a valid player!")); + } + } catch (SQLException x) { + x.printStackTrace(); + p.sendMessage(color("&4&lSomething went wrong, please contact a dev ASAP.")); + } + } + } else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin bank [add/remove/current] [player] [amount]")); + } + } + if (args[0].equalsIgnoreCase("bankgui")) { + p.openInventory(bankerMain.getGui(p)); + utils.currentGui.put(p.getUniqueId(), "bankerMain"); + } + if (args[0].equalsIgnoreCase("send")) { + if (args.length > 1) { + try { + Player pg = Bukkit.getPlayer(args[1]); + assert pg != null; + if (args.length > 2) { + if (hub.hubs.contains(args[2]) && Bukkit.getWorld(args[2]) != null) { + Bukkit.createWorld(new WorldCreator(args[2])); + World setHub = Bukkit.getWorld(args[2]); + pg.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(pg.getUniqueId()); + utils.currentWorld.put(pg.getUniqueId(), args[2]); + p.sendMessage(color("&aSent &d" + args[1] + " &ato &b" + args[2] + "&a!")); + pg.sendMessage(color("&aAn admin has sent you to &b" + args[2])); + } else { + p.sendMessage(color("&4That is not a correct hub name!")); + } + } else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin send [player] [location]")); + } + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a correct player!")); + } + } else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin send [player] [location]")); + } + } + if (args[0].equalsIgnoreCase("find")) { + if (args.length == 2) { + try { + Player pg = Bukkit.getPlayer(args[1]); + assert pg != null; + String where = utils.currentWorld.get(pg.getUniqueId()); + p.sendMessage(color("&b" + pg.getDisplayName() + " &ais in &d" + where)); + } catch (NullPointerException x) { + p.sendMessage(color("&cThat is not a correct player!")); + } + } + else { + p.sendMessage(color("&aCorrect command usage:")); + p.sendMessage(color("&a/admin find [player]")); + } + } + } + return true; + } +} \ No newline at end of file diff --git a/src/main/java/sbr/sbr/commands/balance.java b/src/main/java/sbr/sbr/commands/balance.java deleted file mode 100644 index 2074dc2..0000000 --- a/src/main/java/sbr/sbr/commands/balance.java +++ /dev/null @@ -1,41 +0,0 @@ -package sbr.sbr.commands; - -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 sbr.sbr.main; -import sbr.sbr.utils.chatcolors; -import java.sql.ResultSet; -import java.sql.SQLException; - -public class balance extends chatcolors implements CommandExecutor { - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - Player p = (Player) sender; - try { - ResultSet rs = main.prepareStatement("SELECT * FROM purse WHERE UUID = '" + p.getUniqueId().toString() + "';").executeQuery(); - rs.next(); - int bal = rs.getInt("Balance"); - int argint; - if (args.length == 0) { - p.sendMessage(color("&bYour balance is: &a" + bal)); - } - if (args.length > 0) { - try { - argint = Integer.parseInt(args[0]); - int nbal = bal + argint; - main.prepareStatement("UPDATE purse SET Balance = '" + nbal + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); - p.sendMessage(color("&dYou added &b" + argint + " &dto your balance.")); - p.sendMessage(color("&aYou now have: &b" + nbal)); - } catch (NumberFormatException x) { - p.sendMessage(color("&c&lArgument must be an number or nothing!")); - } - } - } catch (SQLException x) { - x.printStackTrace(); - } - return false; - } -} diff --git a/src/main/java/sbr/sbr/commands/banker.java b/src/main/java/sbr/sbr/commands/banker.java deleted file mode 100644 index b901304..0000000 --- a/src/main/java/sbr/sbr/commands/banker.java +++ /dev/null @@ -1,26 +0,0 @@ -package sbr.sbr.commands; - -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 sbr.sbr.events.InvClick; -import sbr.sbr.guis.banker.bankerMain; -import sbr.sbr.utils.chatcolors; - -public class banker extends chatcolors implements CommandExecutor { - public static Player p; - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { - if (sender instanceof Player) { - p = (Player) sender; - p.openInventory(bankerMain.getGui()); - InvClick.currentGui.put(p.getUniqueId(), "bankerMain"); - } - else { - System.out.println("This command can only be ran by a player."); - } - return false; - } -} diff --git a/src/main/java/sbr/sbr/commands/hub.java b/src/main/java/sbr/sbr/commands/hub.java index 7c93abd..49b957c 100644 --- a/src/main/java/sbr/sbr/commands/hub.java +++ b/src/main/java/sbr/sbr/commands/hub.java @@ -9,11 +9,8 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; -import sbr.sbr.events.InvClick; -import sbr.sbr.guis.hubMenu; -import sbr.sbr.main; import sbr.sbr.utils.chatcolors; - +import sbr.sbr.utils.utils; import java.util.*; public class hub extends chatcolors implements CommandExecutor { @@ -30,43 +27,20 @@ public class hub extends chatcolors implements CommandExecutor { if (args.length == 0) { Random r = new Random(); String randomHub = hubList[r.nextInt(hubList.length)]; - if (!randomHub.equals(main.currentWorld.get(p.getUniqueId()))) { + if (!randomHub.equals(utils.currentWorld.get(p.getUniqueId()))) { Bukkit.createWorld(new WorldCreator(randomHub)); World setHub = Bukkit.getWorld(randomHub); p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); - main.currentWorld.remove(p.getUniqueId()); - main.currentWorld.put(p.getUniqueId(), randomHub); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), randomHub); p.sendMessage(color("&aSent you to hub &b" + randomHub + "&a!")); } else { p.sendMessage(color("&cError: You are trying to go to the same hub.")); } } - else if (args.length == 1) { - if (args[0].equalsIgnoreCase("rn")) { - p.sendMessage(color(("&aYou are currently in hub &b" + main.currentWorld.get(p.getUniqueId()) + "&a!"))); - } - else if (args[0].equalsIgnoreCase("list")) { - p.sendMessage(hubs); - } - else if (args[0].equalsIgnoreCase("lol")) { - p.openInventory(hubMenu.getGui()); - InvClick.currentGui.put(p.getUniqueId(), "hubMenu"); - } - else if (hubs.contains(args[0]) && Bukkit.getWorld(args[0]) != null) { - Bukkit.createWorld(new WorldCreator(args[0])); - World setHub = Bukkit.getWorld(args[0]); - p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); - main.currentWorld.remove(p.getUniqueId()); - main.currentWorld.put(p.getUniqueId(), args[0]); - p.sendMessage(color("&aSent you to hub &b" + args[0] + "&a!")); - } - else { - p.sendMessage(color("&4That is not a correct hub name!")); - } - } else { - p.sendMessage(color("&cCorrect command usage: &6/hub&c, &6/hub [hubname]")); + p.sendMessage(color("&cCorrect command usage: &6/hub")); } return true; } diff --git a/src/main/java/sbr/sbr/commands/tabcompletion/adminTab.java b/src/main/java/sbr/sbr/commands/tabcompletion/adminTab.java new file mode 100644 index 0000000..d399c02 --- /dev/null +++ b/src/main/java/sbr/sbr/commands/tabcompletion/adminTab.java @@ -0,0 +1,211 @@ +package sbr.sbr.commands.tabcompletion; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; +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 adminTab implements TabCompleter { + @SuppressWarnings("deprecation") + @Override + public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + if (args.length == 1) { + List arguments = new ArrayList<>(); + arguments.add("hub"); + arguments.add("hubselector"); + arguments.add("purse"); + arguments.add("bank"); + arguments.add("bankgui"); + arguments.add("send"); + arguments.add("find"); + arguments.add("mana"); + arguments.add("maxmana"); + arguments.add("health"); + arguments.add("maxhealth"); + return arguments; + } + if (args.length > 0) { + if (args[0].equalsIgnoreCase("hub")) { + List arguments = new ArrayList<>(); + arguments.add("Hub1A"); + arguments.add("Hub1B"); + arguments.add("Hub1C"); + arguments.add("Hub1D"); + arguments.add("Hub1E"); + arguments.add("Hub1F"); + arguments.add("Hub2A"); + arguments.add("Hub2B"); + arguments.add("Hub2C"); + arguments.add("Hub2D"); + arguments.add("Hub2E"); + arguments.add("Hub2F"); + arguments.add("Hub3A"); + arguments.add("Hub3B"); + arguments.add("Hub3C"); + arguments.add("Hub3D"); + arguments.add("Hub3E"); + arguments.add("Hub3F"); + arguments.add("Hub4A"); + arguments.add("Hub4B"); + arguments.add("Hub4C"); + arguments.add("Hub4D"); + arguments.add("Hub4E"); + arguments.add("Hub4F"); + arguments.add("Hub5A"); + arguments.add("Hub5B"); + arguments.add("Hub5C"); + arguments.add("Hub5D"); + return arguments; + } + if (args[0].equalsIgnoreCase("purse")) { + if (args.length == 2) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + arguments.add("current"); + return arguments; + } + if (args.length == 3) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.getDisplayName()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("bank")) { + if (args.length == 2) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + arguments.add("current"); + return arguments; + } + if (args.length == 3) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.getDisplayName()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("send")) { + if (args.length == 2) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.getDisplayName()); + } + return arguments; + } + if (args.length == 3) { + List arguments = new ArrayList<>(); + arguments.add("Hub1A"); + arguments.add("Hub1B"); + arguments.add("Hub1C"); + arguments.add("Hub1D"); + arguments.add("Hub1E"); + arguments.add("Hub1F"); + arguments.add("Hub2A"); + arguments.add("Hub2B"); + arguments.add("Hub2C"); + arguments.add("Hub2D"); + arguments.add("Hub2E"); + arguments.add("Hub2F"); + arguments.add("Hub3A"); + arguments.add("Hub3B"); + arguments.add("Hub3C"); + arguments.add("Hub3D"); + arguments.add("Hub3E"); + arguments.add("Hub3F"); + arguments.add("Hub4A"); + arguments.add("Hub4B"); + arguments.add("Hub4C"); + arguments.add("Hub4D"); + arguments.add("Hub4E"); + arguments.add("Hub4F"); + arguments.add("Hub5A"); + arguments.add("Hub5B"); + arguments.add("Hub5C"); + arguments.add("Hub5D"); + return arguments; + } + } + if (args[0].equalsIgnoreCase("find")) { + if (args.length == 2) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.getDisplayName()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("mana")) { + if (args.length == 2) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + return arguments; + } + if (args.length == 3) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.toString()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("maxmana")) { + if (args.length == 3) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + return arguments; + } + if (args.length == 4) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.toString()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("health")) { + if (args.length == 3) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + return arguments; + } + if (args.length == 4) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.toString()); + } + return arguments; + } + } + if (args[0].equalsIgnoreCase("maxhealth")) { + if (args.length == 3) { + List arguments = new ArrayList<>(); + arguments.add("add"); + arguments.add("remove"); + return arguments; + } + if (args.length == 4) { + List arguments = new ArrayList<>(); + for (Player player : Bukkit.getOnlinePlayers()) { + arguments.add(player.toString()); + } + return arguments; + } + } + } + return null; + } +} diff --git a/src/main/java/sbr/sbr/events/InvClick.java b/src/main/java/sbr/sbr/events/InvClick.java index c8a3648..5112ce0 100644 --- a/src/main/java/sbr/sbr/events/InvClick.java +++ b/src/main/java/sbr/sbr/events/InvClick.java @@ -7,27 +7,30 @@ import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.player.PlayerChatEvent; -import org.bukkit.inventory.ItemStack; import sbr.sbr.commands.hub; import sbr.sbr.guis.banker.bankerDeposit; import sbr.sbr.guis.banker.bankerWithdraw; import sbr.sbr.main; import sbr.sbr.utils.chatcolors; +import sbr.sbr.utils.utils; + import java.sql.SQLException; import java.util.HashMap; +import java.util.Objects; import java.util.Random; import java.util.UUID; public class InvClick extends chatcolors implements Listener { - public static final HashMap currentGui = new HashMap<>(); - final HashMap newChat = new HashMap<>(); public static Player p; + final HashMap newChat = new HashMap<>(); HashMap SlotClicked = new HashMap<>(); + String itemName, itemType; + @SuppressWarnings("deprecation") @EventHandler public void InventoryClick(InventoryClickEvent e) { p = (Player) e.getWhoClicked(); - if (currentGui.get(p.getUniqueId()) != null) { - if (currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerMain")) { + if (utils.currentGui.get(p.getUniqueId()) != null) { + if (utils.currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerMain")) { if (e.getRawSlot() == 11) SlotClicked.put(p.getUniqueId(), 11); if (e.getRawSlot() == 13) SlotClicked.put(p.getUniqueId(), 13); if (e.getRawSlot() == 31) SlotClicked.put(p.getUniqueId(), 31); @@ -35,25 +38,49 @@ public class InvClick extends chatcolors implements Listener { e.setCancelled(true); return; } - if (currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerWithdraw")) { + if (utils.currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerWithdraw")) { if (e.getRawSlot() == 11) SlotClicked.put(p.getUniqueId(), 11); - if (e.getRawSlot() == 13) SlotClicked.put(p.getUniqueId() ,13); + if (e.getRawSlot() == 13) SlotClicked.put(p.getUniqueId(), 13); if (e.getRawSlot() == 15) SlotClicked.put(p.getUniqueId(), 15); if (e.getRawSlot() == 31) SlotClicked.put(p.getUniqueId(), 31); bankerWithdraw(); e.setCancelled(true); return; } - if (currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerDeposit")) { + if (utils.currentGui.get(p.getUniqueId()).equalsIgnoreCase("bankerDeposit")) { if (e.getRawSlot() == 11) SlotClicked.put(p.getUniqueId(), 11); if (e.getRawSlot() == 13) SlotClicked.put(p.getUniqueId(), 13); if (e.getRawSlot() == 15) SlotClicked.put(p.getUniqueId(), 15); if (e.getRawSlot() == 31) SlotClicked.put(p.getUniqueId(), 31); bankerDeposit(); e.setCancelled(true); + return; } - if (currentGui.get(p.getUniqueId()).equalsIgnoreCase("hubMenu")) { - + if (utils.currentGui.get(p.getUniqueId()).equalsIgnoreCase("hubMenu")) { + if (e.getRawSlot() >= 10 && e.getRawSlot() <= 16) { + SlotClicked.put(p.getUniqueId(), e.getRawSlot()); + String itemNameA = Objects.requireNonNull(e.getCurrentItem()).getItemMeta().getDisplayName(); + itemName = itemNameA.substring(2, 7); + itemType = e.getCurrentItem().getI18NDisplayName(); + } + if (e.getRawSlot() >= 19 && e.getRawSlot() <= 25) { + SlotClicked.put(p.getUniqueId(), e.getRawSlot()); + String itemNameA = Objects.requireNonNull(e.getCurrentItem()).getItemMeta().getDisplayName(); + itemName = itemNameA.substring(2, 7); + itemType = e.getCurrentItem().getI18NDisplayName(); + } + if (e.getRawSlot() >= 28 && e.getRawSlot() <= 34) { + SlotClicked.put(p.getUniqueId(), e.getRawSlot()); + String itemNameA = Objects.requireNonNull(e.getCurrentItem()).getItemMeta().getDisplayName(); + itemName = itemNameA.substring(2, 7); + itemType = e.getCurrentItem().getI18NDisplayName(); + } + if (e.getRawSlot() >= 37 && e.getRawSlot() <= 43) { + SlotClicked.put(p.getUniqueId(), e.getRawSlot()); + String itemNameA = Objects.requireNonNull(e.getCurrentItem()).getItemMeta().getDisplayName(); + itemName = itemNameA.substring(2, 7); + itemType = e.getCurrentItem().getI18NDisplayName(); + } if (e.getRawSlot() == 49) SlotClicked.put(p.getUniqueId(), 49); if (e.getRawSlot() == 50) SlotClicked.put(p.getUniqueId(), 50); hubMenu(); @@ -64,7 +91,7 @@ public class InvClick extends chatcolors implements Listener { @EventHandler public void OnInvClose(InventoryCloseEvent e) { Player p = (Player) e.getPlayer(); - currentGui.remove(p.getUniqueId()); + utils.currentGui.remove(p.getUniqueId()); } @SuppressWarnings("deprecation") @EventHandler @@ -82,9 +109,9 @@ public class InvClick extends chatcolors implements Listener { return; } try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int newBank = bankBal - number; if (newBank < 0) { p.sendMessage(color("&cYou do not have enough coins in your bank to do that!")); @@ -115,9 +142,9 @@ public class InvClick extends chatcolors implements Listener { return; } try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int newBank = bankBal + number; int newPurse = purseBal - number; if (newPurse < 0) { @@ -144,14 +171,14 @@ public class InvClick extends chatcolors implements Listener { if (SlotClicked.get(p.getUniqueId()) == 11) { SlotClicked.remove(p.getUniqueId()); p.closeInventory(); - p.openInventory(bankerDeposit.getGui()); - currentGui.put(p.getUniqueId(), "bankerDeposit"); + p.openInventory(bankerDeposit.getGui(p)); + utils.currentGui.put(p.getUniqueId(), "bankerDeposit"); } if (SlotClicked.get(p.getUniqueId()) == 13) { SlotClicked.remove(p.getUniqueId()); p.closeInventory(); - p.openInventory(bankerWithdraw.getGui()); - currentGui.put(p.getUniqueId(), "bankerWithdraw"); + p.openInventory(bankerWithdraw.getGui(p)); + utils.currentGui.put(p.getUniqueId(), "bankerWithdraw"); } if (SlotClicked.get(p.getUniqueId()) == 31) { SlotClicked.remove(p.getUniqueId()); @@ -164,9 +191,9 @@ public class InvClick extends chatcolors implements Listener { if (SlotClicked.get(p.getUniqueId()) == 11) { SlotClicked.remove(p.getUniqueId()); try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int bankHalf = bankBal / 2; int newPurse = purseBal + bankHalf; main.prepareStatement("UPDATE bank SET Balance = '" + bankHalf + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); @@ -181,9 +208,9 @@ public class InvClick extends chatcolors implements Listener { if (SlotClicked.get(p.getUniqueId()) == 13) { SlotClicked.remove(p.getUniqueId()); try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int newPurse = purseBal + bankBal; main.prepareStatement("UPDATE bank SET Balance = '0' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); main.prepareStatement("UPDATE purse SET Balance = '" + newPurse + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); @@ -213,9 +240,9 @@ public class InvClick extends chatcolors implements Listener { if (SlotClicked.get(p.getUniqueId()) == 11) { SlotClicked.remove(p.getUniqueId()); try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int purseHalf = purseBal / 2; int newBank = bankBal + purseHalf; main.prepareStatement("UPDATE bank SET Balance = '" + newBank + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); @@ -231,9 +258,9 @@ public class InvClick extends chatcolors implements Listener { if (SlotClicked.get(p.getUniqueId()) == 13) { SlotClicked.remove(p.getUniqueId()); try { - main.balance(p); - int bankBal = main.bankBal; - int purseBal = main.purseBal; + utils.balance(p); + int bankBal = utils.bankBal; + int purseBal = utils.purseBal; int newBank = bankBal + purseBal; main.prepareStatement("UPDATE bank SET Balance = '" + newBank + "' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); main.prepareStatement("UPDATE purse SET Balance = '0' WHERE UUID = '" + p.getUniqueId().toString() + "';").executeUpdate(); @@ -255,10 +282,75 @@ public class InvClick extends chatcolors implements Listener { SlotClicked.remove(p.getUniqueId()); p.closeInventory(); } - } catch (NullPointerException ignored){} + } + catch (NullPointerException ignored){} } public void hubMenu() { try { + if (SlotClicked.get(p.getUniqueId()) >= 10 && SlotClicked.get(p.getUniqueId()) <= 16) { + SlotClicked.remove(p.getUniqueId()); + p.closeInventory(); + if (itemType.equalsIgnoreCase("Red Concrete")) { + p.sendMessage(color("&cYou are already in this hub!")); + return; + } + if (hub.hubs.contains(itemName) && Bukkit.getWorld(itemName) != null) { + Bukkit.createWorld(new WorldCreator(itemName)); + World setHub = Bukkit.getWorld(itemName); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), itemName); + p.sendMessage(color("&aSent you to hub &b" + itemName + "&a!")); + } + } + if (SlotClicked.get(p.getUniqueId()) >= 19 && SlotClicked.get(p.getUniqueId()) <= 25) { + SlotClicked.remove(p.getUniqueId()); + p.closeInventory(); + if (itemType.equalsIgnoreCase("Red Concrete")) { + p.sendMessage(color("&cYou are already in this hub!")); + return; + } + if (hub.hubs.contains(itemName) && Bukkit.getWorld(itemName) != null) { + Bukkit.createWorld(new WorldCreator(itemName)); + World setHub = Bukkit.getWorld(itemName); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), itemName); + p.sendMessage(color("&aSent you to hub &b" + itemName + "&a!")); + } + } + if (SlotClicked.get(p.getUniqueId()) >= 28 && SlotClicked.get(p.getUniqueId()) <= 34) { + SlotClicked.remove(p.getUniqueId()); + p.closeInventory(); + if (itemType.equalsIgnoreCase("Red Concrete")) { + p.sendMessage(color("&cYou are already in this hub!")); + return; + } + if (hub.hubs.contains(itemName) && Bukkit.getWorld(itemName) != null) { + Bukkit.createWorld(new WorldCreator(itemName)); + World setHub = Bukkit.getWorld(itemName); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), itemName); + p.sendMessage(color("&aSent you to hub &b" + itemName + "&a!")); + } + } + if (SlotClicked.get(p.getUniqueId()) >= 37 && SlotClicked.get(p.getUniqueId()) <= 43) { + SlotClicked.remove(p.getUniqueId()); + p.closeInventory(); + if (itemType.equalsIgnoreCase("Red Concrete")) { + p.sendMessage(color("&cYou are already in this hub!")); + return; + } + if (hub.hubs.contains(itemName) && Bukkit.getWorld(itemName) != null) { + Bukkit.createWorld(new WorldCreator(itemName)); + World setHub = Bukkit.getWorld(itemName); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), itemName); + p.sendMessage(color("&aSent you to hub &b" + itemName + "&a!")); + } + } if (SlotClicked.get(p.getUniqueId()) == 49) { SlotClicked.remove(p.getUniqueId()); p.closeInventory(); @@ -268,12 +360,12 @@ public class InvClick extends chatcolors implements Listener { p.closeInventory(); Random r = new Random(); String randomHub = hub.hubList[r.nextInt(hub.hubList.length)]; - if (!randomHub.equals(main.currentWorld.get(p.getUniqueId()))) { + if (!randomHub.equals(utils.currentWorld.get(p.getUniqueId()))) { Bukkit.createWorld(new WorldCreator(randomHub)); World setHub = Bukkit.getWorld(randomHub); p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); - main.currentWorld.remove(p.getUniqueId()); - main.currentWorld.put(p.getUniqueId(), randomHub); + utils.currentWorld.remove(p.getUniqueId()); + utils.currentWorld.put(p.getUniqueId(), randomHub); p.sendMessage(color("&aSent you to hub &b" + randomHub + "&a!")); } else { diff --git a/src/main/java/sbr/sbr/events/healthMana.java b/src/main/java/sbr/sbr/events/healthMana.java new file mode 100644 index 0000000..0c40348 --- /dev/null +++ b/src/main/java/sbr/sbr/events/healthMana.java @@ -0,0 +1,33 @@ +package sbr.sbr.events; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.scheduler.BukkitScheduler; +import sbr.sbr.main; +import sbr.sbr.utils.chatcolors; +import sbr.sbr.utils.utils; + +public class healthMana extends chatcolors implements Listener { + @EventHandler + public void takeDamage(EntityDamageEvent e) { + if (e.getEntity() instanceof Player) { + Player p = (Player) e.getEntity(); + p.sendMessage(color("&cYou got hit by: &4" + e.getCause())); + e.setCancelled(true); + } + } + @SuppressWarnings("deprecation") + public static void setter(Player p) { + BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); + scheduler.scheduleSyncRepeatingTask(main.instance, () -> { + int maxHealth = utils.maxHealth.get(p.getUniqueId()); + int currentHealth = utils.currentHealth.get(p.getUniqueId()); + int maxMana = utils.maxMana.get(p.getUniqueId()); + int currentMana = utils.currentMana.get(p.getUniqueId()); + p.sendActionBar(color("&c♥" + currentHealth + "/" + maxHealth + " " + "&b✎" + currentMana + "/" + maxMana)); + }, 0L, 10); + } +} diff --git a/src/main/java/sbr/sbr/events/onPlayerJoin.java b/src/main/java/sbr/sbr/events/onPlayerJoin.java index 74874ad..7a67f0f 100644 --- a/src/main/java/sbr/sbr/events/onPlayerJoin.java +++ b/src/main/java/sbr/sbr/events/onPlayerJoin.java @@ -13,7 +13,7 @@ import org.bukkit.scoreboard.*; import sbr.sbr.commands.hub; import sbr.sbr.main; import sbr.sbr.utils.chatcolors; - +import sbr.sbr.utils.utils; import java.sql.SQLException; import java.util.Random; @@ -22,43 +22,14 @@ public class onPlayerJoin extends chatcolors implements Listener { @EventHandler public void onJoin(PlayerJoinEvent e) { p = e.getPlayer(); + data(); randomHub(); scoreboard(); - data(); - } - public void randomHub() { - Random r = new Random(); - String randomHub = hub.hubList[r.nextInt(hub.hubList.length)]; - Bukkit.createWorld(new WorldCreator(randomHub)); - World setHub = Bukkit.getWorld(randomHub); - p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); - main.currentWorld.put(p.getUniqueId(), randomHub); - p.sendMessage(color("&aYou are currently in hub &b" + randomHub + "&a!")); - } - @SuppressWarnings("deprecation") - public void scoreboard() { - BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); - scheduler.scheduleSyncRepeatingTask(main.instance, () -> { - String updateWorld = p.getWorld().getName(); - main.currentWorld.put(p.getUniqueId(), updateWorld); - ScoreboardManager manager = Bukkit.getScoreboardManager(); - Scoreboard board = manager.getNewScoreboard(); - Objective objective = board.registerNewObjective("sb", "dummy"); - objective.setDisplaySlot(DisplaySlot.SIDEBAR); - objective.setDisplayName(color("&e&lSkyblock")); - main.balance(p); - int bank = main.bankBal; - int purse = main.purseBal; - Score L1 = objective.getScore(color("&7" + main.currentWorld.get(p.getUniqueId()))); - L1.setScore(15); - Score L2 = objective.getScore(color("&r ")); - L2.setScore(14); - Score L3 = objective.getScore(color("&bBank: &6" + bank)); - L3.setScore(13); - Score L4 = objective.getScore(color("&bPurse: &6" + purse)); - L4.setScore(12); - p.setScoreboard(board); - }, 0L, 5); + utils.maxHealth.put(p.getUniqueId(), 100); + utils.currentHealth.put(p.getUniqueId(), (utils.maxHealth.get(p.getUniqueId()))); + utils.maxMana.put(p.getUniqueId(), 100); + utils.currentMana.put(p.getUniqueId(), (utils.maxMana.get(p.getUniqueId()))); + healthMana.setter(p); } public void data() { if (!p.hasPlayedBefore()) { @@ -74,4 +45,38 @@ public class onPlayerJoin extends chatcolors implements Listener { p.sendMessage(color("&a&lWelcome back to the server!")); } } -} + public void randomHub() { + Random r = new Random(); + String randomHub = hub.hubList[r.nextInt(hub.hubList.length)]; + Bukkit.createWorld(new WorldCreator(randomHub)); + World setHub = Bukkit.getWorld(randomHub); + p.teleport(new Location(setHub, 0.5, 71, 0.5, 180, 0)); + utils.currentWorld.put(p.getUniqueId(), randomHub); + p.sendMessage(color("&aYou are currently in hub &b" + randomHub + "&a!")); + } + @SuppressWarnings("deprecation") + public void scoreboard() { + BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); + scheduler.scheduleSyncRepeatingTask(main.instance, () -> { + String updateWorld = p.getWorld().getName(); + utils.currentWorld.put(p.getUniqueId(), updateWorld); + ScoreboardManager manager = Bukkit.getScoreboardManager(); + Scoreboard board = manager.getNewScoreboard(); + Objective objective = board.registerNewObjective("sb", "dummy"); + objective.setDisplaySlot(DisplaySlot.SIDEBAR); + objective.setDisplayName(color("&e&lSkyblock")); + utils.balance(p); + int bank = utils.bankBal; + int purse = utils.purseBal; + Score L1 = objective.getScore(color("&7" + utils.currentWorld.get(p.getUniqueId()))); + L1.setScore(15); + Score L2 = objective.getScore(color("&r ")); + L2.setScore(14); + Score L3 = objective.getScore(color("&bBank: &6" + bank)); + L3.setScore(13); + Score L4 = objective.getScore(color("&bPurse: &6" + purse)); + L4.setScore(12); + p.setScoreboard(board); + }, 0L, 5); + } +} \ No newline at end of file diff --git a/src/main/java/sbr/sbr/guis/banker/bankerDeposit.java b/src/main/java/sbr/sbr/guis/banker/bankerDeposit.java index fb552ae..48e0525 100644 --- a/src/main/java/sbr/sbr/guis/banker/bankerDeposit.java +++ b/src/main/java/sbr/sbr/guis/banker/bankerDeposit.java @@ -3,28 +3,20 @@ package sbr.sbr.guis.banker; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import sbr.sbr.commands.banker; -import sbr.sbr.main; import sbr.sbr.utils.chatcolors; -import java.sql.ResultSet; -import java.sql.SQLException; +import sbr.sbr.utils.utils; import java.util.ArrayList; import java.util.List; public class bankerDeposit extends chatcolors { @SuppressWarnings("deprecation") - public static Inventory getGui() { - int totalBal = 0; - try { - ResultSet rs = main.prepareStatement("SELECT * FROM purse WHERE UUID = '" + banker.p.getUniqueId().toString() + "';").executeQuery(); - rs.next(); - totalBal = rs.getInt("Balance"); - } catch (SQLException x) { - x.printStackTrace(); - } + public static Inventory getGui(Player p) { + utils.balance(p); + int totalBal = utils.purseBal; Inventory gui = Bukkit.createInventory(null, 36, ChatColor.AQUA + "Deposit"); // Items diff --git a/src/main/java/sbr/sbr/guis/banker/bankerMain.java b/src/main/java/sbr/sbr/guis/banker/bankerMain.java index 99803ed..adf1fdf 100644 --- a/src/main/java/sbr/sbr/guis/banker/bankerMain.java +++ b/src/main/java/sbr/sbr/guis/banker/bankerMain.java @@ -3,28 +3,20 @@ package sbr.sbr.guis.banker; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import sbr.sbr.commands.banker; -import sbr.sbr.main; import sbr.sbr.utils.chatcolors; -import java.sql.ResultSet; -import java.sql.SQLException; +import sbr.sbr.utils.utils; import java.util.ArrayList; import java.util.List; public class bankerMain extends chatcolors { @SuppressWarnings("deprecation") - public static Inventory getGui() { - int totalBal = 0; - try { - ResultSet rs = main.prepareStatement("SELECT * FROM bank WHERE UUID = '" + banker.p.getUniqueId().toString() + "';").executeQuery(); - rs.next(); - totalBal = rs.getInt("Balance"); - } catch (SQLException x) { - x.printStackTrace(); - } + public static Inventory getGui(Player p) { + utils.balance(p); + int totalBal = utils.bankBal; Inventory gui = Bukkit.createInventory(null, 36, ChatColor.GREEN + "Banker"); // Items diff --git a/src/main/java/sbr/sbr/guis/banker/bankerWithdraw.java b/src/main/java/sbr/sbr/guis/banker/bankerWithdraw.java index bd0b8f0..9da5fd9 100644 --- a/src/main/java/sbr/sbr/guis/banker/bankerWithdraw.java +++ b/src/main/java/sbr/sbr/guis/banker/bankerWithdraw.java @@ -3,28 +3,20 @@ package sbr.sbr.guis.banker; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import sbr.sbr.commands.banker; -import sbr.sbr.main; import sbr.sbr.utils.chatcolors; -import java.sql.ResultSet; -import java.sql.SQLException; +import sbr.sbr.utils.utils; import java.util.ArrayList; import java.util.List; public class bankerWithdraw extends chatcolors { @SuppressWarnings("deprecation") - public static Inventory getGui() { - int totalBal = 0; - try { - ResultSet rs = main.prepareStatement("SELECT * FROM bank WHERE UUID = '" + banker.p.getUniqueId().toString() + "';").executeQuery(); - rs.next(); - totalBal = rs.getInt("Balance"); - } catch (SQLException x) { - x.printStackTrace(); - } + public static Inventory getGui(Player p) { + utils.balance(p); + int totalBal = utils.bankBal; Inventory gui = Bukkit.createInventory(null, 36, ChatColor.AQUA + "Withdraw"); // Items diff --git a/src/main/java/sbr/sbr/guis/hubMenu.java b/src/main/java/sbr/sbr/guis/hubMenu.java index aad4cb5..393d963 100644 --- a/src/main/java/sbr/sbr/guis/hubMenu.java +++ b/src/main/java/sbr/sbr/guis/hubMenu.java @@ -3,17 +3,18 @@ package sbr.sbr.guis; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import sbr.sbr.main; import sbr.sbr.utils.chatcolors; +import sbr.sbr.utils.utils; import java.util.ArrayList; import java.util.List; public class hubMenu extends chatcolors { @SuppressWarnings("deprecation") - public static Inventory getGui() { + public static Inventory getGui(Player p) { Inventory gui = Bukkit.createInventory(null, 54, ChatColor.AQUA + "Hub Menu"); // Items @@ -42,7 +43,7 @@ public class hubMenu extends chatcolors { hubNumber++; } String hubName = "Hub" + hubNumber + hubLetter; - if (hubName.equalsIgnoreCase(main.currentWorld.get(sbr.sbr.commands.hub.p.getUniqueId()))) { + if (hubName.equalsIgnoreCase(utils.currentWorld.get(p.getUniqueId()))) { hub = new ItemStack(Material.RED_CONCRETE, test); hubMeta = hub.getItemMeta(); hubMeta.setDisplayName(color("&a" + hubName)); @@ -67,7 +68,7 @@ public class hubMenu extends chatcolors { hubNumber++; } String hubName = "Hub" + hubNumber + hubLetter; - if (hubName.equalsIgnoreCase(main.currentWorld.get(sbr.sbr.commands.hub.p.getUniqueId()))) { + if (hubName.equalsIgnoreCase(utils.currentWorld.get(p.getUniqueId()))) { hub = new ItemStack(Material.RED_CONCRETE, test); hubMeta = hub.getItemMeta(); hubMeta.setDisplayName(color("&a" + hubName)); @@ -92,7 +93,7 @@ public class hubMenu extends chatcolors { hubNumber++; } String hubName = "Hub" + hubNumber + hubLetter; - if (hubName.equalsIgnoreCase(main.currentWorld.get(sbr.sbr.commands.hub.p.getUniqueId()))) { + if (hubName.equalsIgnoreCase(utils.currentWorld.get(p.getUniqueId()))) { hub = new ItemStack(Material.RED_CONCRETE, test); hubMeta = hub.getItemMeta(); hubMeta.setDisplayName(color("&a" + hubName)); @@ -117,7 +118,7 @@ public class hubMenu extends chatcolors { hubNumber++; } String hubName = "Hub" + hubNumber + hubLetter; - if (hubName.equalsIgnoreCase(main.currentWorld.get(sbr.sbr.commands.hub.p.getUniqueId()))) { + if (hubName.equalsIgnoreCase(utils.currentWorld.get(p.getUniqueId()))) { hub = new ItemStack(Material.RED_CONCRETE, test); hubMeta = hub.getItemMeta(); hubMeta.setDisplayName(color("&a" + hubName)); diff --git a/src/main/java/sbr/sbr/main.java b/src/main/java/sbr/sbr/main.java index 548123c..37db810 100644 --- a/src/main/java/sbr/sbr/main.java +++ b/src/main/java/sbr/sbr/main.java @@ -2,34 +2,27 @@ package sbr.sbr; import org.bukkit.Bukkit; import org.bukkit.WorldCreator; -import org.bukkit.entity.Player; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; -import sbr.sbr.commands.balance; -import sbr.sbr.commands.banker; -import sbr.sbr.commands.hub; -import sbr.sbr.commands.npc; +import sbr.sbr.commands.*; +import sbr.sbr.commands.tabcompletion.adminTab; import sbr.sbr.events.InvClick; +import sbr.sbr.events.healthMana; import sbr.sbr.events.onPlayerJoin; - import java.sql.*; -import java.util.HashMap; import java.util.Objects; -import java.util.UUID; public final class main extends JavaPlugin { public static main instance; private static Connection connection; private static String host, database, username, password; private static int port; - public static final HashMap currentWorld = new HashMap<>(); - public static int bankBal; - public static int purseBal; + private PluginManager plm; @Override public void onEnable() { instance = this; - PluginManager plm = Bukkit.getPluginManager(); + plm = Bukkit.getPluginManager(); host = "localhost"; port = 3306; database = "sbr"; @@ -41,12 +34,8 @@ public final class main extends JavaPlugin { } catch (SQLException x) { x.printStackTrace(); } - plm.registerEvents(new onPlayerJoin(), this); - plm.registerEvents(new InvClick(), this); - Objects.requireNonNull(getCommand("balance")).setExecutor(new balance()); - Objects.requireNonNull(getCommand("npc")).setExecutor(new npc()); - Objects.requireNonNull(getCommand("banker")).setExecutor(new banker()); - Objects.requireNonNull(getCommand("hub")).setExecutor(new hub()); + events(); + commands(); loadWorlds(); } @Override @@ -78,16 +67,15 @@ public final class main extends JavaPlugin { System.out.println("Loaded world " + world); } } - public static void balance(Player player) { - try { - ResultSet bank = main.prepareStatement("SELECT * FROM bank WHERE UUID = '" + player.getUniqueId() + "';").executeQuery(); - ResultSet purse = main.prepareStatement("SELECT * FROM purse WHERE UUID = '" + player.getUniqueId() + "';").executeQuery(); - bank.next(); - purse.next(); - bankBal = bank.getInt("Balance"); - purseBal = purse.getInt("Balance"); - } catch (SQLException ex) { - ex.printStackTrace(); - } + public void commands() { + Objects.requireNonNull(getCommand("npc")).setExecutor(new npc()); + Objects.requireNonNull(getCommand("hub")).setExecutor(new hub()); + Objects.requireNonNull(getCommand("admin")).setExecutor(new admin()); + Objects.requireNonNull(getCommand("admin")).setTabCompleter(new adminTab()); + } + public void events() { + plm.registerEvents(new onPlayerJoin(), this); + plm.registerEvents(new InvClick(), this); + plm.registerEvents(new healthMana(), this); } } \ No newline at end of file diff --git a/src/main/java/sbr/sbr/utils/utils.java b/src/main/java/sbr/sbr/utils/utils.java new file mode 100644 index 0000000..d2e0e07 --- /dev/null +++ b/src/main/java/sbr/sbr/utils/utils.java @@ -0,0 +1,32 @@ +package sbr.sbr.utils; + +import org.bukkit.entity.Player; +import sbr.sbr.main; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.UUID; + +public class utils { + public static final HashMap currentGui = new HashMap<>(); + public static final HashMap currentWorld = new HashMap<>(); + public static final HashMap currentHealth = new HashMap<>(); + public static final HashMap maxHealth = new HashMap<>(); + public static final HashMap currentMana = new HashMap<>(); + public static final HashMap maxMana = new HashMap<>(); + public static int bankBal; + public static int purseBal; + public static void balance(Player player) { + try { + ResultSet bank = main.prepareStatement("SELECT * FROM bank WHERE UUID = '" + player.getUniqueId() + "';").executeQuery(); + ResultSet purse = main.prepareStatement("SELECT * FROM purse WHERE UUID = '" + player.getUniqueId() + "';").executeQuery(); + bank.next(); + purse.next(); + bankBal = bank.getInt("Balance"); + purseBal = purse.getInt("Balance"); + } catch (SQLException ex) { + ex.printStackTrace(); + } + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 930c99e..12c4f32 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -5,11 +5,9 @@ api-version: 1.16 authors: [ 5vl ] description: Hypxel Skyblock Remake commands: - balance: - description: 'none' npc: description: 'none' - banker: - description: 'none' hub: + description: 'none' + admin: description: 'none' \ No newline at end of file