From fad0fcee55e6e673874db11f594124b6069dff26 Mon Sep 17 00:00:00 2001 From: montlikadani Date: Fri, 13 Mar 2020 16:12:46 +0100 Subject: [PATCH] Removed some redundant null checks and methods --- .../jobs/CMILib/CMIEnchantment.java | 35 ++++---- .../gamingmesh/jobs/CMILib/CMIMaterial.java | 18 +++-- src/main/java/com/gamingmesh/jobs/Jobs.java | 3 +- src/main/java/com/gamingmesh/jobs/NMS.java | 17 ++-- .../gamingmesh/jobs/config/ShopManager.java | 9 ++- .../jobs/listeners/JobsListener.java | 44 +++------- .../jobs/listeners/JobsPayment14Listener.java | 2 +- .../jobs/listeners/JobsPaymentListener.java | 80 ++++++++++--------- .../listeners/PistonProtectionListener.java | 4 +- .../com/gamingmesh/jobs/nmsUtil/v1_10.java | 12 +++ .../com/gamingmesh/jobs/nmsUtil/v1_11.java | 12 +++ .../com/gamingmesh/jobs/nmsUtil/v1_12.java | 12 +++ .../com/gamingmesh/jobs/nmsUtil/v1_13.java | 10 +++ .../com/gamingmesh/jobs/nmsUtil/v1_14.java | 10 +++ .../com/gamingmesh/jobs/nmsUtil/v1_15.java | 10 +++ .../com/gamingmesh/jobs/nmsUtil/v1_7.java | 12 +++ .../com/gamingmesh/jobs/nmsUtil/v1_8.java | 12 +++ .../com/gamingmesh/jobs/nmsUtil/v1_9.java | 12 +++ .../jobs/stuff/CMIScoreboardManager.java | 25 ++---- .../java/com/gamingmesh/jobs/stuff/Util.java | 49 +----------- 20 files changed, 211 insertions(+), 177 deletions(-) diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java index 028a99be..48e177e3 100644 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java +++ b/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java @@ -63,31 +63,23 @@ public enum CMIEnchantment { String temp = this.toString().toLowerCase().replace("_", ""); for (Enchantment one : Enchantment.values()) { - try { - if (one.getName().toLowerCase().replace("_", "").equalsIgnoreCase(temp)) { - enchantment = one; - break; - } - } catch (Exception | Error e) { + if (one.getName().toLowerCase().replace("_", "").equalsIgnoreCase(temp)) { + enchantment = one; + break; } - try { - if (one.getKey().toString().split(":")[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) { - enchantment = one; - break; - } - } catch (Exception | Error e) { + + if (one.getKey().toString().split(":")[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) { + enchantment = one; + break; } } // Worst case scenario if (enchantment == null) for (Enchantment one : Enchantment.values()) { - try { - if (one.toString().toLowerCase().replace("_", "").contains(temp)) { - enchantment = one; - break; - } - } catch (Exception | Error e) { + if (one.toString().toLowerCase().replace("_", "").contains(temp)) { + enchantment = one; + break; } } } @@ -99,6 +91,7 @@ public enum CMIEnchantment { private static void fillUpMap() { map.clear(); emap.clear(); + for (CMIEnchantment one : CMIEnchantment.values()) { map.put(one.toString().toLowerCase().replace("_", ""), one); for (String oneC : one.getSubNames()) { @@ -114,6 +107,7 @@ public enum CMIEnchantment { public static CMIEnchantment get(String name) { if (map.isEmpty()) fillUpMap(); + name = name.contains(":") ? name.split(":")[0] : name.contains("-") ? name.split("-")[0] : name; name = name.toLowerCase().replace("_", ""); return map.get(name); @@ -122,16 +116,18 @@ public enum CMIEnchantment { public static Enchantment getEnchantment(String name) { if (map.isEmpty()) fillUpMap(); + name = name.contains(":") ? name.split(":")[0] : name.contains("-") ? name.split("-")[0] : name; name = name.toLowerCase().replace("_", ""); - CMIEnchantment ec = map.get(name); + CMIEnchantment ec = map.get(name); return ec == null ? null : ec.getEnchantment(); } public static CMIEnchantment get(Enchantment enchantment) { if (map.isEmpty()) fillUpMap(); + return emap.get(enchantment); } @@ -161,6 +157,7 @@ public enum CMIEnchantment { CMIEnchantment ce = CMIEnchantment.get(enchant); if (ce == null) return "Unknown"; + return ce.getName(); } } diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java index ed0b21b8..a3c4d119 100644 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java +++ b/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java @@ -1332,11 +1332,6 @@ public enum CMIMaterial { public static CMIMaterial get(Block block) { if (block == null) return CMIMaterial.NONE; - byte data = Version.isCurrentEqualOrLower(Version.v1_13_R1) ? block.getData() : 0; - if (block.getState() instanceof Skull) { - Skull skull = (Skull) block.getState(); - data = (byte) skull.getSkullType().ordinal(); - } CMIMaterial mat = null; @@ -1344,10 +1339,17 @@ public enum CMIMaterial { mat = ItemManager.byRealMaterial.get(block.getType()); } - if (mat == null) { - mat = ItemManager.byName.get(block.getType().toString().replace("_", "").toLowerCase()); + if (mat != null) + return mat; + + byte data = Version.isCurrentEqualOrLower(Version.v1_13_R1) ? getBlockData(block) : 0; + if (block.getState() instanceof Skull) { + Skull skull = (Skull) block.getState(); + data = (byte) skull.getSkullType().ordinal(); } + mat = ItemManager.byName.get(block.getType().toString().replace("_", "").toLowerCase()); + if (mat == null && Version.isCurrentEqualOrLower(Version.v1_13_R2)) { mat = get(block.getType().getId(), Version.isCurrentEqualOrHigher(Version.v1_13_R1) ? 0 : data); } @@ -1359,6 +1361,7 @@ public enum CMIMaterial { if (mat != null) { return mat; } + mat = ItemManager.byId.get(id); return mat == null ? CMIMaterial.NONE : mat; } @@ -1367,6 +1370,7 @@ public enum CMIMaterial { CMIMaterial mat = ItemManager.byId.get(id); if (mat != null) return mat; + return CMIMaterial.NONE; } diff --git a/src/main/java/com/gamingmesh/jobs/Jobs.java b/src/main/java/com/gamingmesh/jobs/Jobs.java index dfc100e9..895d6fc6 100644 --- a/src/main/java/com/gamingmesh/jobs/Jobs.java +++ b/src/main/java/com/gamingmesh/jobs/Jobs.java @@ -370,7 +370,8 @@ public class Jobs extends JavaPlugin { */ public CMIScoreboardManager getCMIScoreboardManager() { if (CMIScoreboardManager == null) - CMIScoreboardManager = new CMIScoreboardManager(this); + CMIScoreboardManager = new CMIScoreboardManager(); + return CMIScoreboardManager; } diff --git a/src/main/java/com/gamingmesh/jobs/NMS.java b/src/main/java/com/gamingmesh/jobs/NMS.java index 9bea577b..1acf1330 100644 --- a/src/main/java/com/gamingmesh/jobs/NMS.java +++ b/src/main/java/com/gamingmesh/jobs/NMS.java @@ -1,24 +1,29 @@ package com.gamingmesh.jobs; import java.util.List; + +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; public interface NMS { - public List getPistonRetractBlocks(BlockPistonRetractEvent event); + List getPistonRetractBlocks(BlockPistonRetractEvent event); - public String getRealType(Entity entity); + String getRealType(Entity entity); - public ItemStack getItemInMainHand(Player player); + ItemStack getItemInMainHand(Player player); - public void setItemInMainHand(Player player, ItemStack item); + void setItemInMainHand(Player player, ItemStack item); - public double getMaxHealth(LivingEntity entity); + double getMaxHealth(LivingEntity entity); - public short getDurability(ItemStack item); + short getDurability(ItemStack item); + + void setSkullOwner(SkullMeta meta, OfflinePlayer player); } diff --git a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java index a29d9094..7aaffb1d 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java @@ -193,11 +193,12 @@ public class ShopManager { skullMeta.setDisplayName(item.getIconName()); skullMeta.setLore(Lore); - if (item.isHeadOwner()) - skullMeta.setOwner(Jobs.getPlayerManager().getJobsPlayer(player).getName()); - else { + if (item.isHeadOwner()) { + Jobs.getNms().setSkullOwner(skullMeta, Jobs.getPlayerManager().getJobsPlayer(player).getPlayer()); + } else { + @SuppressWarnings("deprecation") OfflinePlayer offPlayer = Bukkit.getOfflinePlayer(item.getCustomHead()); - skullMeta.setOwner(offPlayer.getName()); + Jobs.getNms().setSkullOwner(skullMeta, offPlayer); } GUIitem.setItemMeta(skullMeta); } else diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java index 1be477a0..c3020c75 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java @@ -136,16 +136,13 @@ public class JobsListener implements Listener { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onSelection(PlayerInteractEvent event) { - Player player = event.getPlayer(); - if (player == null) - return; - if (event.getClickedBlock() == null) return; if (event.getAction() != Action.LEFT_CLICK_BLOCK && event.getAction() != Action.RIGHT_CLICK_BLOCK) return; + Player player = event.getPlayer(); ItemStack iih = Jobs.getNms().getItemInMainHand(player); if (iih == null || iih.getType() == Material.AIR) return; @@ -246,16 +243,10 @@ public class JobsListener implements Listener { return; Block block = event.getClickedBlock(); - if (block == null) - return; - - if (!(block.getState() instanceof Sign)) + if (block == null || !(block.getState() instanceof Sign)) return; Player player = event.getPlayer(); - if (player == null) - return; - if (!isInteractOk(player)) return; @@ -285,16 +276,10 @@ public class JobsListener implements Listener { return; Block block = event.getBlock(); - if (block == null) - return; - if (!(block.getState() instanceof Sign)) return; Player player = event.getPlayer(); - if (player == null) - return; - Sign sign = (Sign) block.getState(); String FirstLine = sign.getLine(0); if (FirstLine.contains(Jobs.getLanguage().getMessage("signs.topline"))) { @@ -328,7 +313,7 @@ public class JobsListener implements Listener { return; Block block = event.getBlock(); - if (block == null || !(block.getState() instanceof Sign)) + if (!(block.getState() instanceof Sign)) return; Sign sign = (Sign) block.getState(); @@ -342,9 +327,6 @@ public class JobsListener implements Listener { return; Player player = event.getPlayer(); - if (player == null) - return; - if (!player.hasPermission("jobs.command.signs")) { event.setCancelled(true); player.sendMessage(Jobs.getLanguage().getMessage("signs.cantcreate")); @@ -510,23 +492,16 @@ public class JobsListener implements Listener { @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onCropGrown(final BlockGrowEvent event) { //disabling plugin in world - if (event.getBlock() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) return; - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { - @Override - public void run() { - Jobs.getBpManager().remove(event.getBlock()); - return; - } - }, 1L); + + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> + Jobs.getBpManager().remove(event.getBlock()), 1L); } @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onLimitedItemInteract(PlayerInteractEvent event) { Player player = event.getPlayer(); - if (player == null) - return; - ItemStack iih = Jobs.getNms().getItemInMainHand(player); if (iih == null || iih.getType() == Material.AIR) return; @@ -609,7 +584,8 @@ public class JobsListener implements Listener { public void onChunkChangeMove(PlayerMoveEvent event) { if (event.isCancelled()) return; - if (event.getPlayer() == null || !event.getPlayer().isOnline()) + + if (!event.getPlayer().isOnline()) return; //disabling plugin in world @@ -643,7 +619,7 @@ public class JobsListener implements Listener { if ((slotType != SlotType.ARMOR || slotType != SlotType.QUICKBAR) && !event.getInventory().getType().equals(InventoryType.CRAFTING)) return; - if (event.getWhoClicked() == null || !(event.getWhoClicked() instanceof Player)) + if (!(event.getWhoClicked() instanceof Player)) return; Player player = (Player) event.getWhoClicked(); diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsPayment14Listener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsPayment14Listener.java index e02b997c..7baf3c92 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsPayment14Listener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsPayment14Listener.java @@ -30,7 +30,7 @@ public class JobsPayment14Listener implements Listener { if (event.isCancelled()) return; - if (event.getBlock() == null || !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) return; if (!(event.getBlock().getState() instanceof Campfire)) diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java index c569d98a..e9ec31cf 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java @@ -107,7 +107,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getWhoClicked() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) return; // If event is nothing or place, do nothing @@ -193,7 +193,7 @@ public class JobsPaymentListener implements Listener { Player player = event.getPlayer(); //disabling plugin in world - if (player == null || !player.isOnline() || !Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) + if (!player.isOnline() || !Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) return; if (!(event.getRightClicked() instanceof LivingEntity)) @@ -240,7 +240,6 @@ public class JobsPaymentListener implements Listener { Jobs.action(jPlayer, new EntityActionInfo(cow, ActionType.MILK)); Long Timer = System.currentTimeMillis(); - cow.setMetadata(CowMetadata, new FixedMetadataValue(plugin, Timer)); } @@ -252,7 +251,7 @@ public class JobsPaymentListener implements Listener { Player player = event.getPlayer(); //disabling plugin in world - if (player == null || !player.isOnline() || !Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) + if (!player.isOnline() || !Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) return; if (!(event.getEntity() instanceof Sheep)) @@ -294,7 +293,7 @@ public class JobsPaymentListener implements Listener { Block block = event.getBlock(); //disabling plugin in world - if (block == null || !Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) return; if (!block.hasMetadata(brewingOwnerMetadata)) @@ -340,11 +339,11 @@ public class JobsPaymentListener implements Listener { Block block = event.getBlock(); //disabling plugin in world - if (block == null || !Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) return; Player player = event.getPlayer(); - if (player == null || !player.isOnline()) + if (!player.isOnline()) return; // check if in creative @@ -413,8 +412,6 @@ public class JobsPaymentListener implements Listener { return; Block block = event.getBlock(); - if (block == null) - return; //disabling plugin in world if (!Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) @@ -425,7 +422,7 @@ public class JobsPaymentListener implements Listener { return; Player player = event.getPlayer(); - if (player == null || !player.isOnline()) + if (!player.isOnline()) return; if (Version.isCurrentEqualOrLower(Version.v1_12_R1) @@ -458,7 +455,7 @@ public class JobsPaymentListener implements Listener { Player player = event.getPlayer(); //disabling plugin in world - if (player == null || !Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) return; // check if in creative @@ -492,9 +489,13 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; + // Entity that died must be living + if (!event.getEntity().isDead()) { + return; + } LivingEntity animal = event.getEntity(); // mob spawner, no payment or experience @@ -504,7 +505,7 @@ public class JobsPaymentListener implements Listener { } Player player = (Player) event.getOwner(); - if (player == null || !player.isOnline()) + if (!player.isOnline()) return; // check if in creative @@ -534,7 +535,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getWhoClicked() == null || !Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) return; // If event is nothing or place, do nothing @@ -741,7 +742,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getWhoClicked() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld())) return; // If event is nothing or place, do nothing @@ -791,10 +792,12 @@ public class JobsPaymentListener implements Listener { String OriginalName = null; String NewName = null; - if (FirstSlot.hasItemMeta() && FirstSlot.getItemMeta().getDisplayName() != null) + if (FirstSlot.hasItemMeta()) OriginalName = FirstSlot.getItemMeta().getDisplayName(); - if (resultStack.hasItemMeta() && resultStack.getItemMeta().getDisplayName() != null) + + if (resultStack.hasItemMeta()) NewName = resultStack.getItemMeta().getDisplayName(); + if (OriginalName != NewName && inv.getItem(1) == null) if (!Jobs.getGCManager().PayForRenaming) return; @@ -863,7 +866,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEnchanter() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEnchanter().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEnchanter().getWorld())) return; Inventory inv = event.getInventory(); @@ -928,7 +931,7 @@ public class JobsPaymentListener implements Listener { if (!type.equalsIgnoreCase("FURNACE") && !type.equalsIgnoreCase("SMOKER") && !type.equalsIgnoreCase("BLAST_FURNACE")) return; - if (event.getItem() == null || event.getItem().getType() == Material.AIR) + if (event.getItem().getType() == Material.AIR) return; Block block = null; @@ -975,7 +978,7 @@ public class JobsPaymentListener implements Listener { if (!Jobs.getGCManager().PreventBrewingStandFillUps) return; - if (event.getItem() == null || event.getItem().getType() == Material.AIR) + if (event.getItem().getType() == Material.AIR) return; BrewingStand stand = (BrewingStand) event.getDestination().getHolder(); @@ -998,7 +1001,7 @@ public class JobsPaymentListener implements Listener { Block block = event.getBlock(); //disabling plugin in world - if (block == null || !Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(block.getWorld())) return; if (!block.hasMetadata(furnaceOwnerMetadata)) @@ -1077,27 +1080,26 @@ public class JobsPaymentListener implements Listener { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onEntityDamageByProjectile(EntityDamageByEntityEvent event) { //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + return; + + Entity damager = event.getDamager(); + if (!(damager instanceof Projectile)) return; Entity ent = event.getEntity(); - Entity damager = event.getDamager(); - if (!(damager instanceof Projectile)) + if (!(ent instanceof Damageable)) return; Projectile projectile = (Projectile) damager; ProjectileSource shooter = projectile.getShooter(); double damage = event.getFinalDamage(); - - if (!(ent instanceof Damageable)) - return; - double s = ((Damageable) ent).getHealth(); if (damage > s) damage = s; - if (shooter instanceof Player) { + if (shooter != null && shooter instanceof Player) { if (ent.hasMetadata(entityDamageByPlayer)) damage += ent.getMetadata(entityDamageByPlayer).get(0).asDouble(); ent.setMetadata(entityDamageByPlayer, new FixedMetadataValue(plugin, damage)); @@ -1112,10 +1114,10 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; - if (!(event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent)) + if (event.getEntity().getLastDamageCause() != null && !(event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent)) return; EntityDamageByEntityEvent e = (EntityDamageByEntityEvent) event.getEntity().getLastDamageCause(); @@ -1224,7 +1226,7 @@ public class JobsPaymentListener implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onCreatureSpawn(CreatureSpawnEvent event) { //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; if (event.getSpawnReason().equals(SpawnReason.SPAWNER) || event.getSpawnReason().equals(SpawnReason.SPAWNER_EGG)) { @@ -1275,11 +1277,11 @@ public class JobsPaymentListener implements Listener { if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; - if (!(event.getRemover() instanceof Player)) + if (event.getRemover() == null || !(event.getRemover() instanceof Player)) return; Player player = (Player) event.getRemover(); - if (player == null || !player.isOnline()) + if (!player.isOnline()) return; // check if in creative @@ -1394,7 +1396,7 @@ public class JobsPaymentListener implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onCreatureSpawn(SlimeSplitEvent event) { //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; if (!event.getEntity().hasMetadata(Jobs.getPlayerManager().getMobSpawnerMetadata())) @@ -1419,7 +1421,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; if (!Jobs.getGCManager().useBreederFinder) @@ -1472,7 +1474,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) return; if (!(event.getEntity() instanceof Player)) @@ -1485,7 +1487,7 @@ public class JobsPaymentListener implements Listener { return; Player player = (Player) event.getEntity(); - if (player == null || !player.isOnline()) + if (!player.isOnline()) return; // check if in creative @@ -1515,7 +1517,7 @@ public class JobsPaymentListener implements Listener { return; //disabling plugin in world - if (event.getEntity() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getEntity())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity())) return; if (!Jobs.getGCManager().isUseTntFinder()) diff --git a/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java b/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java index 7936b53b..18a41370 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java @@ -19,7 +19,7 @@ public class PistonProtectionListener implements Listener { return; //disabling plugin in world - if (event.getBlock() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) return; if (!Jobs.getGCManager().useBlockProtection) @@ -54,7 +54,7 @@ public class PistonProtectionListener implements Listener { return; //disabling plugin in world - if (event.getBlock() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) + if (!Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())) return; if (!Jobs.getGCManager().useBlockProtection) diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_10.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_10.java index e0fbfc0a..822cb0e4 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_10.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_10.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.Guardian; @@ -15,10 +16,13 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Skeleton.SkeletonType; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; +@SuppressWarnings("deprecation") public class v1_10 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -59,6 +63,7 @@ public class v1_10 implements NMS { default: break; } + return name; } @@ -81,4 +86,11 @@ public class v1_10 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_11.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_11.java index 318925a6..9df8f26b 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_11.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_11.java @@ -1,17 +1,22 @@ package com.gamingmesh.jobs.nmsUtil; import com.gamingmesh.jobs.NMS; + +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import java.util.ArrayList; import java.util.List; +@SuppressWarnings("deprecation") public class v1_11 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -43,4 +48,11 @@ public class v1_11 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_12.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_12.java index ab83093e..3f4cb5f5 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_12.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_12.java @@ -1,6 +1,8 @@ package com.gamingmesh.jobs.nmsUtil; import com.gamingmesh.jobs.NMS; + +import org.bukkit.OfflinePlayer; import org.bukkit.attribute.Attribute; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -8,11 +10,14 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import java.util.ArrayList; import java.util.List; +@SuppressWarnings("deprecation") public class v1_12 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -44,4 +49,11 @@ public class v1_12 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_13.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_13.java index aaddb278..698fd5b3 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_13.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_13.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.attribute.Attribute; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -11,10 +12,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; public class v1_13 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -46,4 +49,11 @@ public class v1_13 implements NMS { public short getDurability(ItemStack item) { return (short) ((Damageable) item.getItemMeta()).getDamage(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwningPlayer(player); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_14.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_14.java index 0b61a342..726595b2 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_14.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_14.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.attribute.Attribute; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -11,10 +12,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; public class v1_14 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -46,4 +49,11 @@ public class v1_14 implements NMS { public short getDurability(ItemStack item) { return (short) ((Damageable) item.getItemMeta()).getDamage(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwningPlayer(player); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_15.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_15.java index 1b7f9dc6..46ef52c5 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_15.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_15.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.attribute.Attribute; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -11,10 +12,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; public class v1_15 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -46,4 +49,11 @@ public class v1_15 implements NMS { public short getDurability(ItemStack item) { return (short) ((Damageable) item.getItemMeta()).getDamage(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwningPlayer(player); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_7.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_7.java index 67ec3ddd..77e707bb 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_7.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_7.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.Horse; @@ -14,10 +15,13 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Skeleton.SkeletonType; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; +@SuppressWarnings("deprecation") public class v1_7 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -49,6 +53,7 @@ public class v1_7 implements NMS { default: break; } + return name; } @@ -71,4 +76,11 @@ public class v1_7 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_8.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_8.java index a50f02b4..e0fe328b 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_8.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_8.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.Guardian; @@ -15,10 +16,13 @@ import org.bukkit.entity.Horse.Variant; import org.bukkit.entity.Skeleton.SkeletonType; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; +@SuppressWarnings("deprecation") public class v1_8 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -55,6 +59,7 @@ public class v1_8 implements NMS { default: break; } + return name; } @@ -77,4 +82,11 @@ public class v1_8 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_9.java b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_9.java index ac3baf9a..1b8be0d3 100644 --- a/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_9.java +++ b/src/main/java/com/gamingmesh/jobs/nmsUtil/v1_9.java @@ -3,6 +3,7 @@ package com.gamingmesh.jobs.nmsUtil; import java.util.ArrayList; import java.util.List; +import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.Guardian; @@ -15,10 +16,13 @@ import org.bukkit.entity.Horse.Variant; import org.bukkit.entity.Skeleton.SkeletonType; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; import com.gamingmesh.jobs.NMS; +@SuppressWarnings("deprecation") public class v1_9 implements NMS { + @Override public List getPistonRetractBlocks(BlockPistonRetractEvent event) { List blocks = new ArrayList<>(); @@ -55,6 +59,7 @@ public class v1_9 implements NMS { default: break; } + return name; } @@ -77,4 +82,11 @@ public class v1_9 implements NMS { public short getDurability(ItemStack item) { return item.getDurability(); } + + @Override + public void setSkullOwner(SkullMeta meta, OfflinePlayer player) { + if (meta != null && player != null) { + meta.setOwner(player.getName()); + } + } } diff --git a/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java b/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java index f0d60ca8..ffeb0715 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java @@ -2,7 +2,6 @@ package com.gamingmesh.jobs.stuff; import java.lang.reflect.Constructor; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Iterator; import java.util.List; @@ -25,11 +24,6 @@ import com.gamingmesh.jobs.container.ScoreboardInfo; public class CMIScoreboardManager { private ConcurrentHashMap timerMap = new ConcurrentHashMap<>(); - private Jobs plugin; - - public CMIScoreboardManager(Jobs plugin) { - this.plugin = plugin; - } private void RunScheduler() { Iterator> MeinMapIter = timerMap.entrySet().iterator(); @@ -41,25 +35,20 @@ public class CMIScoreboardManager { if (player != null) { removeScoreBoard(player); player.getScoreboard().clearSlot(DisplaySlot.SIDEBAR); + if (Map.getValue().getObj() != null) { Objective obj = player.getScoreboard().getObjective(Map.getValue().getObj().getName()); if (obj != null) obj.setDisplaySlot(DisplaySlot.SIDEBAR); } } + timerMap.remove(Map.getKey()); } } if (timerMap.size() > 0) - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { - @Override - public void run() { - RunScheduler(); - return; - } - }, 20L); - return; + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Jobs.getInstance(), this::RunScheduler, 20L); } public void addNew(Player player) { @@ -96,7 +85,7 @@ public class CMIScoreboardManager { Object pp1 = p11.newInstance(obj, 1); sendPacket(player, pp1); } - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + } catch (Exception e) { e.printStackTrace(); } } @@ -196,7 +185,7 @@ public class CMIScoreboardManager { } } - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + } catch (Exception e) { e.printStackTrace(); } } @@ -206,7 +195,7 @@ public class CMIScoreboardManager { try { sendPacket = getNMSClass("PlayerConnection").getMethod("sendPacket", getNMSClass("Packet")); sendPacket.invoke(getConnection(player), packet); - } catch (NoSuchMethodException | SecurityException | ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchFieldException e) { + } catch (Exception e) { e.printStackTrace(); } } @@ -215,7 +204,7 @@ public class CMIScoreboardManager { return Reflections.getMinecraftClass(nmsClassString); } - private static Object getConnection(Player player) throws SecurityException, NoSuchMethodException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { + private static Object getConnection(Player player) throws Exception { Method getHandle = player.getClass().getMethod("getHandle"); Object nmsPlayer = getHandle.invoke(player); Field conField = nmsPlayer.getClass().getField("playerConnection"); diff --git a/src/main/java/com/gamingmesh/jobs/stuff/Util.java b/src/main/java/com/gamingmesh/jobs/stuff/Util.java index e511d51f..09cc990d 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/Util.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/Util.java @@ -20,13 +20,8 @@ import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.World; import org.bukkit.block.Block; -import org.bukkit.block.BlockState; -import org.bukkit.block.CreatureSpawner; -import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BlockStateMeta; -import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.util.BlockIterator; @@ -38,44 +33,18 @@ public class Util { private static HashMap jobsEditorMap = new HashMap<>(); private static HashMap questsEditorMap = new HashMap<>(); - public static List leaveConfirm = new ArrayList<>(); private static HashMap jobsWorlds = new HashMap<>(); - @SuppressWarnings("deprecation") - public static ItemStack setEntityType(ItemStack is, EntityType type) { - boolean useMeta; - try { - ItemStack testis = CMIMaterial.SPAWNER.newItemStack(); - ItemMeta meta = testis.getItemMeta(); - useMeta = meta instanceof BlockStateMeta; - } catch (Exception e) { - useMeta = false; - } - - if (useMeta) { - BlockStateMeta bsm = (BlockStateMeta) is.getItemMeta(); - BlockState bs = bsm.getBlockState(); - ((CreatureSpawner) bs).setSpawnedType(type); - ((CreatureSpawner) bs).setCreatureTypeByName(type.name()); - bsm.setBlockState(bs); - - String cap = type.name().toLowerCase().replace("_", " ").substring(0, 1).toUpperCase() + type.name().toLowerCase().replace("_", " ").substring(1); - bsm.setDisplayName(Jobs.getLanguage().getMessage("general.Spawner", "[type]", cap)); - is.setItemMeta(bsm); - } else { - is.setDurability(type.getTypeId()); - } - return is; - } + public static List leaveConfirm = new ArrayList<>(); @SuppressWarnings("deprecation") public static ItemStack getSkull(String skullOwner) { ItemStack item = CMIMaterial.PLAYER_HEAD.newItemStack(); SkullMeta skullMeta = (SkullMeta) item.getItemMeta(); if (skullOwner.length() == 36) { - OfflinePlayer offPlayer = Bukkit.getOfflinePlayer(UUID.fromString(skullOwner)); - skullMeta.setOwner(offPlayer.getName()); + OfflinePlayer offPlayer = Bukkit.getOfflinePlayer(skullOwner); + Jobs.getNms().setSkullOwner(skullMeta, offPlayer); } else skullMeta.setOwner(skullOwner); @@ -106,18 +75,6 @@ public class Util { return name.toLowerCase().replace("_", " ").substring(0, 1).toUpperCase() + name.toLowerCase().replace("_", " ").substring(1); } - @SuppressWarnings("deprecation") - public static EntityType getEntityType(ItemStack is) { - if (is.getItemMeta() instanceof BlockStateMeta) { - BlockStateMeta bsm = (BlockStateMeta) is.getItemMeta(); - if (bsm.getBlockState() instanceof CreatureSpawner) { - CreatureSpawner bs = (CreatureSpawner) bsm.getBlockState(); - return bs.getSpawnedType(); - } - } - return EntityType.fromId(is.getData().getData()); - } - public static HashMap getJobsEditorMap() { return jobsEditorMap; }