From 7babcad82ac5abbf6b7b9973d8a5c70b58df1375 Mon Sep 17 00:00:00 2001 From: Benkralex Date: Sat, 26 Aug 2023 08:15:48 +0200 Subject: [PATCH] Bug fixes --- .../main/java/benkralex/pvptoggle/Config.java | 8 +- .../pvptoggle/InventoryListener.java | 47 ++++++----- .../benkralex/pvptoggle/InventoryMenu.java | 77 +++++++++++++------ .../java/benkralex/pvptoggle/PvpCommand.java | 64 ++++++++------- .../java/benkralex/pvptoggle/PvpEvent.java | 5 +- .../main/java/benkralex/pvptoggle/Util.java | 22 ++---- 6 files changed, 130 insertions(+), 93 deletions(-) diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Config.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Config.java index 7874884..7de97f1 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Config.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Config.java @@ -7,20 +7,20 @@ import java.time.Instant; public class Config { - privat FileConfiguration config = Pvptoggle.pvptoggle.getConfig(); + private static FileConfiguration config = Pvptoggle.pvptoggle.getConfig(); public static void createConfig() { - config.options().copyDefaults(true); + config.options().copyDefaults(true); config.addDefault("pvp-time-hit-back", 60); config.addDefault("default-pvp-protection", true); Pvptoggle.pvptoggle.saveConfig(); } public static int getPvpTime() { - return config.getInt("pvp-time-hit-back"); + return config.getInt("pvp-time-hit-back"); } - public static int getPvpProt() { + public static boolean getPvpProt() { return config.getBoolean("default-pvp-protection"); } diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryListener.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryListener.java index 1f8c93e..b2d57af 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryListener.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryListener.java @@ -1,43 +1,50 @@ package benkralex.pvptoggle; +import org.bukkit.NamespacedKey; +import benkralex.pvptoggle.InventoryMenu; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.entity.Player; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.Inventory; +import org.bukkit.persistence.PersistentDataContainer; +import org.bukkit.persistence.PersistentDataType; public class InventoryListener implements Listener{ @EventHandler public void onPvpMenuInteract(InventoryClickEvent e) { - Player p = e.getWhoClicked(); - Inventory inv = e.getClickedInventory(); + Player p = (Player) e.getWhoClicked(); + Inventory inv = e.getClickedInventory(); String invtitle = e.getView().getTitle(); + PersistentDataContainer pdc = p.getPersistentDataContainer(); + NamespacedKey pvptoggle = new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"); + NamespacedKey ultra = new NamespacedKey(Pvptoggle.pvptoggle, "ultra"); if (invtitle.equals("PvP-Menu")) { - event.setCancelled(true); - if (event.getCurrentItem() != null) { + e.setCancelled(true); + if (e.getCurrentItem() != null) { switch (e.getCurrentItem().getItemMeta().getDisplayName()) { case "Inventar schließen": p.closeInventory(); break; case "Ultra an/aus schalten": - multra.setDisplayName("Ultra an/aus schalten"); if (pdc.has(ultra, PersistentDataType.BOOLEAN)) { pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN)); - sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); + p.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); inv.setItem(12, InventoryMenu.getMenuItem(1, p)); } else { - pdc.set(ultra, PersistentDataContainer.BOOLEAN, true); - sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); + pdc.set(ultra, PersistentDataType.BOOLEAN, true); + p.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); inv.setItem(12, InventoryMenu.getMenuItem(1, p)); } break; case "PvP-Schutz an/aus schalten": - mtoggle.setDisplayName("PvP-Schutz an/aus schalten"); if (pdc.has(pvptoggle, PersistentDataType.BOOLEAN)) { pdc.set(pvptoggle, PersistentDataType.BOOLEAN, !pdc.get(pvptoggle, PersistentDataType.BOOLEAN)); - sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); + p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); inv.setItem(10, InventoryMenu.getMenuItem(0, p)); } else { pdc.set(pvptoggle, PersistentDataType.BOOLEAN, Config.getPvpProt()); - sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus")); + p.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); inv.setItem(10, InventoryMenu.getMenuItem(0, p)); } break; @@ -55,7 +62,7 @@ public class InventoryListener implements Listener{ } } } else if (invtitle.equals("Whitelist-Menu")) { - if (event.getCurrentItem() != null) { + if (e.getCurrentItem() != null) { switch (e.getCurrentItem().getItemMeta().getDisplayName()) { case "Inventar schließen": p.closeInventory(); @@ -67,7 +74,7 @@ public class InventoryListener implements Listener{ } } } else if (invtitle.equals("Blacklist-Menu")) { - if (event.getCurrentItem() != null) { + if (e.getCurrentItem() != null) { switch (e.getCurrentItem().getItemMeta().getDisplayName()) { case "Inventar schließen": p.closeInventory(); @@ -79,7 +86,7 @@ public class InventoryListener implements Listener{ } } } else if (invtitle.equals("Operator-Menu")) { - if (event.getCurrentItem() != null) { + if (e.getCurrentItem() != null) { switch (e.getCurrentItem().getItemMeta().getDisplayName()) { case "Inventar schließen": p.closeInventory(); @@ -90,21 +97,21 @@ public class InventoryListener implements Listener{ break; case "Standard PvP-Schutz an/aus schalten": Config.setPvpProt(!Config.getPvpProt()); - inv.set(11, InventoryMenu.getMenuItem(8)); + inv.setItem(11, InventoryMenu.getMenuItem(8, p)); break; case "Zeit um zurückzuschlagen erhöhen": if (e.isRightClick()) { - Config.setPvpTime(getPvpTime() + 1); + Config.setPvpTime(Config.getPvpTime() + 1); } else if (e.isLeftClick()) { - Config.setPvpTime(getPvpTime() + 10); + Config.setPvpTime(Config.getPvpTime() + 10); } - inv.setItem(15, InventoryMenu.getMenuItem(9)); + inv.setItem(15, InventoryMenu.getMenuItem(9, p)); break; case "Zeit um zurückzuschlagen erniedrigen": if (e.isRightClick()) { - Config.setPvpTime(getPvpTime() - 1); + Config.setPvpTime(Config.getPvpTime() - 1); } else if (e.isLeftClick()) { - Config.setPvpTime(getPvpTime() - 10); + Config.setPvpTime(Config.getPvpTime() - 10); } inv.setItem(15, InventoryMenu.getMenuItem(9, p)); break; diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryMenu.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryMenu.java index c764f0b..9d5a951 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryMenu.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/InventoryMenu.java @@ -1,6 +1,20 @@ +package benkralex.pvptoggle; +import benkralex.pvptoggle.Config; +import benkralex.pvptoggle.Pvptoggle; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemFlag; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.persistence.PersistentDataType; - +import java.util.ArrayList; +import java.util.List; public class InventoryMenu { public static final int PVP_TOGGLE=0; @@ -17,37 +31,41 @@ public class InventoryMenu { public static final int PVP_TIME_MINUS=11; public static ItemStack getMenuItem(int i, Player p) { - switch i { + List lore = new ArrayList(); + switch (i) { case 0: ItemStack itoggle = new ItemStack(Material.IRON_SWORD); ItemMeta mtoggle = itoggle.getItemMeta(); - mtoggle.setDispalyName("PvP-Schutz an/aus schalten"); + mtoggle.setDisplayName("PvP-Schutz an/aus schalten"); mtoggle.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); - mtoggle.setLore(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"Aus":"An" +) " schalten"); + String s = p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"Aus":"An"; + lore.add(ChatColor.BLUE + s + " schalten"); + mtoggle.setLore(lore); itoggle.setItemMeta(mtoggle); return itoggle; break; case 1: ItemStack iultra = new ItemStack(Material.DIAMOND_SWORD); ItemMeta multra = iultra.getItemMeta(); - multra.setDispalyName("Ultra an/aus schalten"); + multra.setDisplayName("Ultra an/aus schalten"); multra.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); - multra.setLore(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvpultra"), PersistentDataType.BOOLEAN)?"Aus":"An") + " schalten"); + lore.add(ChatColor.BLUE + (p.getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvpultra"), PersistentDataType.BOOLEAN)?"Aus":"An") + " schalten"); + multra.setLore(lore); iultra.setItemMeta(multra); return iultra; break; case 2: - ItemStack iwhitelist = new ItemStack(Material.WHITE_CONCRET); + ItemStack iwhitelist = new ItemStack(Material.WHITE_CONCRETE); ItemMeta mwhitelist = iwhitelist.getItemMeta(); - mwhitelist.setDispalyName("Whitelist"); + mwhitelist.setDisplayName("Whitelist"); mwhitelist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); iwhitelist.setItemMeta(mwhitelist); return iwhitelist; break; case 3: - ItemStack iblacklist = new ItemStack(Material.BLACK_CONCRET); + ItemStack iblacklist = new ItemStack(Material.BLACK_CONCRETE); ItemMeta mblacklist = iblacklist.getItemMeta(); - mblacklist.setDispalyName("Blacklist"); + mblacklist.setDisplayName("Blacklist"); mblacklist.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); iblacklist.setItemMeta(mblacklist); return iblacklist; @@ -55,7 +73,7 @@ public class InventoryMenu { case 4: ItemStack iop = new ItemStack(Material.BEDROCK); ItemMeta mop = iop.getItemMeta(); - mop.setDispalyName("Menu für Operators"); + mop.setDisplayName("Menu für Operators"); mop.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); iop.setItemMeta(mop); /*if (p.hasPermission("pvp.inv.op")) { @@ -66,7 +84,7 @@ public class InventoryMenu { case 5: ItemStack iclose = new ItemStack(Material.BARRIER); ItemMeta mclose = iclose.getItemMeta(); - mclose.setDispalyName("Inventar schließen"); + mclose.setDisplayName("Inventar schließen"); mclose.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); iclose.setItemMeta(mclose); //inv.setItem(8, getMenuItem(5)); @@ -75,14 +93,14 @@ public class InventoryMenu { case 6: ItemStack iback = new ItemStack(Material.HOPPER); ItemMeta mback = iback.getItemMeta(); - mback.setDispalyName("Zurück"); + mback.setDisplayName("Zurück"); mback.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); iback.setItemMeta(mback); //inv.setItem(26, getMenuItem(6)); return iback; break; case 7: - ItemStack ivoid = new ItemStack(Material.LIGHT_GRAY_STAIND_GLASS_PAIN); + ItemStack ivoid = new ItemStack(Material.LIGHT_GRAY_STAINED_GLASS_PANE); ItemMeta mvoid = ivoid.getItemMeta(); mvoid.setDisplayName(""); mvoid.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); @@ -98,7 +116,8 @@ public class InventoryMenu { ItemStack idefaultprot = new ItemStack(Material.GOLDEN_SWORD); ItemMeta mdefaultprot = idefaultprot.getItemMeta(); mdefaultprot.setDisplayName("Standard PvP-Schutz an/aus schalten"); - mdefaultprot.setLore(ChatColor.BLUE + (Config.getPvpProt()?"Aus":"An") + " schalten"); + lore.add(ChatColor.BLUE + (Config.getPvpProt()?"Aus":"An") + " schalten"); + mdefaultprot.setLore(lore); mdefaultprot.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); idefaultprot.setItemMeta(mdefaultprot); return idefaultprot; @@ -107,7 +126,8 @@ public class InventoryMenu { ItemStack ipvptime = new ItemStack(Material.CLOCK); ItemMeta mpvptime = ipvptime.getItemMeta(); mpvptime.setDisplayName("Zeit um zurückzuschlagen"); - mpvptime.setLore(ChatColor.BLUE + Config.getPvpTime() + " Sekunden um zurückzuschlagen"); + lore.add(ChatColor.BLUE + "" + Config.getPvpTime() + " Sekunden um zurückzuschlagen"); + mpvptime.setLore(lore); mpvptime.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); ipvptime.setItemMeta(mpvptime); return ipvptime; @@ -117,7 +137,9 @@ public class InventoryMenu { ItemMeta mpvptimeplus = ipvptimeplus.getItemMeta(); mpvptimeplus.setDisplayName("Zeit um zurückzuschlagen erhöhen"); mpvptimeplus.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); - mpvptimeplus.setLore(ChatColor.BLUE + "Rechtsklick:" + ChatColor.GREEN + " +1\n" + ChatColor.BLUE + "Linksklick:" + ChatColor.GREEN + " +10"); + lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.GREEN + " +1"); + lore.add(ChatColor.BLUE + "Linksklick:" + ChatColor.GREEN + " +10"); + mpvptimeplus.setLore(lore); ipvptimeplus.setItemMeta(mpvptimeplus); return ipvptimeplus; break; @@ -126,24 +148,29 @@ public class InventoryMenu { ItemMeta mpvptimeminus = ipvptimeminus.getItemMeta(); mpvptimeminus.setDisplayName("Zeit um zurückzuschlagen verringern"); mpvptimeminus.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); - mpvptimeminus.setLore(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " -1\n" + ChatColor.BLUE + "Linksklick:" + ChatColor.RED + " -10"); + lore.add(ChatColor.BLUE + "Rechtsklick:" + ChatColor.RED + " -1"); + lore.add(ChatColor.BLUE + "Linksklick:" + ChatColor.RED + " -10"); + mpvptimeminus.setLore(lore); ipvptimeminus.setItemMeta(mpvptimeminus); return ipvptimeminus; break; + default: + break; } + return null; } public static Inventory pvpMenuFillEmpty(Inventory inv, Player p) { - for (int i = 0, i <= (inv.getSize-1), i++) { - if (inv.getItem(i) == Material.AIR) { - inv.set(i, getMenuItem(7, p)); + for (int i = 0; i <= inv.getSize()-1; i++) { + if (inv.getItem(i).equals(Material.AIR)) { + inv.setItem(i, getMenuItem(7, p)); } } return inv; } public static Inventory pvpMenu(Player p) { - Inventory inv = new Bukkit.createInventory(null, 3*9, "PvP-Menu"); + Inventory inv = Bukkit.createInventory(null, 3 * 9, "PvP-Menu"); inv.setItem(10, getMenuItem(0, p)); inv.setItem(12, getMenuItem(1, p)); @@ -159,7 +186,7 @@ public class InventoryMenu { public static Inventory pvpBlacklistMenu(Player p) { - Inventory inv = new Bukkit.createInventory(null, 3*9, "Blacklist-Menu"); + Inventory inv = Bukkit.createInventory(null, 3*9, "Blacklist-Menu"); inv.setItem(8, getMenuItem(5, p)); inv.setItem(26, getMenuItem(6, p)); @@ -168,7 +195,7 @@ public class InventoryMenu { public static Inventory pvpWhitelistMenu(Player p) { - Inventory inv = new Bukkit.createInventory(null, 3*9, "Whitelist-Menu"); + Inventory inv = Bukkit.createInventory(null, 3*9, "Whitelist-Menu"); inv.setItem(8, getMenuItem(5, p)); inv.setItem(26, getMenuItem(6, p)); @@ -177,7 +204,7 @@ public class InventoryMenu { public static Inventory pvpOpSettingsMenu(Player p) { - Inventory inv = new Bukkit.createInventory(null, 3*9, "Operator-Menu"); + Inventory inv = Bukkit.createInventory(null, 3*9, "Operator-Menu"); inv.setItem(8, getMenuItem(5, p)); inv.setItem(26, getMenuItem(6, p)); inv.setItem(11, getMenuItem(8, p)); diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpCommand.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpCommand.java index 4a47ca3..9b8921a 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpCommand.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpCommand.java @@ -2,12 +2,20 @@ package benkralex.pvptoggle; import dev.jorel.commandapi.CommandAPI; import dev.jorel.commandapi.CommandAPICommand; +import dev.jorel.commandapi.arguments.PlayerArgument; import dev.jorel.commandapi.executors.CommandArguments; +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.entity.Player; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; +import java.util.UUID; + + public class PvpCommand { public static void createPvpCommand() { //Create PVP-Command with Command-API @@ -60,7 +68,7 @@ public class PvpCommand { .withUsage("/pvp blacklist remove ") .withArguments(new PlayerArgument("Player")) .withHelp("Spieler aus Blacklist entfernen", "Du kannst damit Spieler aus deiner Blacklist entfernen."))) - .withSubcommand(new ConmmandAPICommand("fight") + .withSubcommand(new CommandAPICommand("fight") .executesPlayer((sender, args)->{pvpFight(sender, args, 0);}) .withPermission("pvp.fight") .withUsage("/pvp fight ") @@ -95,7 +103,7 @@ public class PvpCommand { sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); } else { pdc.set(pvptoggle, PersistentDataType.BOOLEAN, Config.getPvpProt()); - sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus")); + sender.sendMessage("Dein PvP-Schutz ist jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); } } @@ -107,17 +115,18 @@ public class PvpCommand { PersistentDataContainer pdc = sender.getPersistentDataContainer(); if (pdc.has(ultra, PersistentDataType.BOOLEAN)) { pdc.set(ultra, PersistentDataType.BOOLEAN, !pdc.get(ultra, PersistentDataType.BOOLEAN)); - sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); + sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(ultra, PersistentDataType.BOOLEAN)?"an":"aus")); } else { - pdc.set(ultra, PersistentDataContainer.BOOLEAN, true); - sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(pvptoggle, PersistentDataType.BOOLEAN)?"an":"aus")); + pdc.set(ultra, PersistentDataType.BOOLEAN, true); + sender.sendMessage("PvP-Ultra ist für dich jetzt " + (pdc.get(ultra, PersistentDataType.BOOLEAN)?"an":"aus")); } } - public static void pvpWhitelist(Player sender, CommandArguments args, Int action) { + public static void pvpWhitelist(Player sender, CommandArguments args, int action) { //PvP Whitelist Command + Player pargs = (Player) args.get("Player"); PersistentDataContainer pdc = sender.getPersistentDataContainer(); NamespacedKey whitelist = new NamespacedKey(Pvptoggle.pvptoggle, "whitelist"); if (action == 1) { @@ -128,7 +137,7 @@ public class PvpCommand { int i = 0; for (NamespacedKey whitelistkey:pdcwhitelist.getKeys()) { i++; - sender.sendMessage(ChatColor.LIGHT_BLUE + i + ". " + ChatColor.BLUE + Bukkit.getPlayer(UUID.fromString(pdcwhitelist.get(whitelistkey, PersistentDataType.STRING))).getDisplayName()); + sender.sendMessage(ChatColor.BLUE + "" + i + ". " + ChatColor.DARK_BLUE + "" + Bukkit.getPlayer(UUID.fromString(pdcwhitelist.get(whitelistkey, PersistentDataType.STRING))).getDisplayName()); } } else { sender.sendMessage("Deine Whitelist ist leer"); @@ -143,8 +152,8 @@ public class PvpCommand { //pdc erstellen } PersistentDataContainer pdcwhitelist = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER); - pdcwhitelist.add(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING, args.get("Player").getUniqueId().toString())); - sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDisplayName() + "wurde zu deiner Whitelist hinzugefügt"); + pdcwhitelist.set(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING, pargs.getUniqueId().toString()); + sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde zu deiner Whitelist hinzugefügt"); sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht"); } else if (action == 3) { @@ -154,11 +163,11 @@ public class PvpCommand { return; } PersistentDataContainer whitelistpdc = pdc.get(whitelist, PersistentDataType.TAG_CONTAINER); - if (whitelistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId()))) { - whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING); - sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDispalyName() + "wurde aus deiner Whitelist entfernt"); + if (whitelistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING)) { + whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString())); + sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde aus deiner Whitelist entfernt"); } else { - sender.sendMessage(ChatColor.RED + args.get("Player").getDisplayName() + "ist nicht in deiner Whitelist"); + sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Whitelist"); } sender.sendMessage(ChatColor.RED + "Die Whitelist funktioniert aktuell nicht"); @@ -169,8 +178,9 @@ public class PvpCommand { - public static void pvpBlacklist(Player sender, CommandArguments args, Int action) { + public static void pvpBlacklist(Player sender, CommandArguments args, int action) { //PvP Blacklist Command + Player pargs = (Player) args.get("Player"); PersistentDataContainer pdc = sender.getPersistentDataContainer(); NamespacedKey blacklist = new NamespacedKey(Pvptoggle.pvptoggle, "blacklist"); if (action == 1) { @@ -181,7 +191,7 @@ public class PvpCommand { int i = 0; for (NamespacedKey blacklistkey:pdcblacklist.getKeys()) { i++; - sender.sendMessage(ChatColor.LIGHT_BLUE + i + ". " + ChatColor.BLUE + Bukkit.getPlayer(UUID.fromString(pdcblacklist.get(blacklistkey, PersistentDataType.STRING))).getDisplayName()); + sender.sendMessage(ChatColor.BLUE + "" + i + ". " + ChatColor.BLUE + "" + Bukkit.getPlayer(UUID.fromString(pdcblacklist.get(blacklistkey, PersistentDataType.STRING))).getDisplayName()); } } else { sender.sendMessage("Deine Blacklist ist leer"); @@ -195,23 +205,23 @@ public class PvpCommand { if (!pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) { //pdc erstellen } - PersistentDataContainer pdcblacklist = pdc.get(blacklistlist, PersistentDataType.TAG_CONTAINER); - pdcblacklist.add(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING, args.get("Player").getUniqueId().toString())); - sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDisplayName() + "wurde zu deiner Blacklist hinzugefügt"); + PersistentDataContainer pdcblacklist = pdc.get(blacklist, PersistentDataType.TAG_CONTAINER); + pdcblacklist.set(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING, pargs.getUniqueId().toString()); + sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde zu deiner Blacklist hinzugefügt"); sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht"); } else if (action == 3) { //entfernen - if (!pdc.has(blacklistlist, PersistentDataType.TAG_CONTAINER)) { + if (!pdc.has(blacklist, PersistentDataType.TAG_CONTAINER)) { sender.sendMessage(ChatColor.RED + "Der Spieler" + args.get("Player") + "ist nicht in deiner Blacklist"); return; } PersistentDataContainer blacklistpdc = pdc.get(blacklist, PersistentDataType.TAG_CONTAINER); - if (blacklistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId()))) { - whitelistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, args.get("Player").getUniqueId().toString()), PersistentDataType.STRING); - sender.sendMessage(ChatColor.LIGHT_GREEN + args.get("Player").getDispalyName() + "wurde aus deiner Blacklist entfernt"); + if (blacklistpdc.has(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString()), PersistentDataType.STRING)) { + blacklistpdc.remove(new NamespacedKey(Pvptoggle.pvptoggle, pargs.getUniqueId().toString())); + sender.sendMessage(ChatColor.GREEN + pargs.getDisplayName() + "wurde aus deiner Blacklist entfernt"); } else { - sender.sendMessage(ChatColor.RED + args.get("Player").getDisplayName() + "ist nicht in deiner Blacklist"); + sender.sendMessage(ChatColor.RED + pargs.getDisplayName() + "ist nicht in deiner Blacklist"); } sender.sendMessage(ChatColor.RED + "Die Blacklist funktioniert aktuell nicht"); @@ -220,17 +230,17 @@ public class PvpCommand { } } - public static void pvpFight(Player sender, Commandarguments args, int action) { + public static void pvpFight(Player sender, CommandArguments args, int action) { //PvP Fight Command if (action == 0) { //Kampf herrausgefordert - Player pargs = args.get("Player"); - TextComponent accept = new TextComponent(ChatColor.LIGHT_GREEN + "Annehmen"); + Player pargs = (Player) args.get("Player"); + TextComponent accept = new TextComponent(ChatColor.GREEN + "Annehmen"); TextComponent deny = new TextComponent(ChatColor.RED + "Ablehnen"); accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pvp fight accept")); deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pvp fight deny")); pargs.sendMessage("Du wurdest von " + sender.getDisplayName() + " zu einem Kampf herrausgefordert."); - pargs.sendMessage(accept + ChatColor.WHITE + " | " + deny); + pargs.sendMessage(accept + "" + ChatColor.WHITE + " | " + deny); sender.sendMessage("Der Command funktioniert noch nicht"); } else if (action == 1) { //Kampf angenommen diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpEvent.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpEvent.java index e0b3bf9..740d269 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpEvent.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/PvpEvent.java @@ -10,6 +10,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.persistence.PersistentDataType; import org.bukkit.projectiles.ProjectileSource; public class PvpEvent implements Listener { @@ -50,10 +51,10 @@ public class PvpEvent implements Listener { @EventHandler public void playerJoinListener(PlayerJoinEvent event) { - if (!event.getplayer().getPersistentDataContainer().has(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)) { + if (!event.getPlayer().getPersistentDataContainer().has(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)) { event.getPlayer().getPersistentDataContainer().set(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN, Config.getPvpProt()); } else { - event.getPlayer().sendMessage("Dein PvP-Schutz ist " + (pdc.get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus")); + event.getPlayer().sendMessage("Dein PvP-Schutz ist " + (event.getPlayer().getPersistentDataContainer().get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"), PersistentDataType.BOOLEAN)?"an":"aus")); } } } diff --git a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Util.java b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Util.java index a377ebf..4e942fe 100644 --- a/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Util.java +++ b/pvptogglepluginworkspace/src/main/java/benkralex/pvptoggle/Util.java @@ -11,13 +11,15 @@ public class Util { public static boolean canPvP(Player damager, Player victim){ PersistentDataContainer damagerPDC=damager.getPersistentDataContainer(); PersistentDataContainer victimPDC=victim.getPersistentDataContainer(); + Boolean ultradamager; + Boolean ultravictim; Boolean toggle = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "pvptoggle"),PersistentDataType.BOOLEAN); if (victimPDC.has(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN)) { - Boolean ultravictim = victimPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN); - } else {Boolean ultravictim = false;} + ultravictim = victimPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN); + } else {ultravictim = false;} if (damagerPDC.has(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN)) { - Boolean ultradamager = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN); - } else {Boolean ultradamager = false;} + ultradamager = damagerPDC.get(new NamespacedKey(Pvptoggle.pvptoggle, "ultra"),PersistentDataType.BOOLEAN); + } else {ultradamager = false;} if(toggle!=null) { return !toggle || checkPvPData(damager, victim) || !ultradamager || !ultravictim; @@ -38,7 +40,7 @@ public class Util { } public static void delOldData(PersistentDataContainer pvpdamagers){ for(NamespacedKey damagerKey:pvpdamagers.getKeys()){ - if(pvpdamagers.get(damagerKey,PersistentDataType.LONG)>= Instant.now().getEpochSecond() + Config.getpvptime()){ + if(pvpdamagers.get(damagerKey,PersistentDataType.LONG)>= Instant.now().getEpochSecond() + Config.getPvpTime()){ pvpdamagers.remove(damagerKey); } } @@ -54,14 +56,4 @@ public class Util { damagersOfVictim.set(new NamespacedKey(Pvptoggle.pvptoggle, damagerUUID), PersistentDataType.LONG, Instant.now().getEpochSecond()); victimPDC.set(new NamespacedKey(Pvptoggle.pvptoggle,"pvpdamagers"), PersistentDataType.TAG_CONTAINER,damagersOfVictim); } - - public static void pdcTagContaineradd(Player p, NamespacedKey key, String s, Boolean value) { - PersistentDataContainer pdc = p.getPersistentDataContainer(); - PersistentDataContainer pdctagcontainer = pdc.get(key, PersitentDataType.TAG_CONTAINER); - if(pdctagcontainer == null) { - pdc.tagcontainer = pdc.getAdapterContext().newPersistentDataContainer(); - } - pdctagcontainer.set(new NamespacedKey(Pvptoggle.pvptoggle, s), PersistentDataType.BOOLEAN, value); - pdc.set(key,PersistentDataType.TAG_CONTAINER, pdctagcontainer); - } }