diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/Artifact.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/Artifact.java index 5e27535f..0168b1c9 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/Artifact.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/Artifact.java @@ -2,9 +2,9 @@ package com.willfp.ecoenchants.enchantments; import com.google.common.util.concurrent.AtomicDouble; import com.willfp.ecoenchants.EcoEnchantsPlugin; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Location; import org.bukkit.Particle; @@ -47,7 +47,7 @@ public abstract class Artifact extends EcoEnchant { if(!this.getConfig().getStrings(EcoEnchants.CONFIG_LOCATION + "on-blocks").contains(block.getType().name().toLowerCase())) return; - if (!HasEnchant.playerHeld(player, this)) return; + if(!EnchantChecks.mainhand(player, this)) return; int amount = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "amount"); block.getWorld().spawnParticle(particle, block.getLocation().add(0.5, 0.5, 0.5), amount, 0.4, 0.4, 0.4, 0, extra, false); @@ -59,7 +59,7 @@ public abstract class Artifact extends EcoEnchant { if(!player.isGliding()) return; - if (!HasEnchant.playerElytra(player, this)) return; + if (!EnchantChecks.chestplate(player, this)) return; Location location = player.getLocation(); Vector direction = player.getLocation().clone().getDirection(); @@ -86,7 +86,7 @@ public abstract class Artifact extends EcoEnchant { Player player = (Player) event.getDamager(); LivingEntity entity = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; double radius = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "radius"); @@ -127,7 +127,7 @@ public abstract class Artifact extends EcoEnchant { item = TridentStack.getTridentStack((Trident) entity); } - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; int ticks = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "particle-tick-delay"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/ArrowListeners.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/ArrowListeners.java new file mode 100644 index 00000000..ed12c4a8 --- /dev/null +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/ArrowListeners.java @@ -0,0 +1,41 @@ +package com.willfp.ecoenchants.enchantments.checks; + +import com.willfp.ecoenchants.EcoEnchantsPlugin; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Arrow; +import org.bukkit.entity.LivingEntity; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.ProjectileLaunchEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.metadata.FixedMetadataValue; + +import java.util.Map; + +public class ArrowListeners implements Listener { + @EventHandler(priority = EventPriority.LOWEST) + public void onLaunch(ProjectileLaunchEvent event) { + if(!(event.getEntity() instanceof Arrow)) + return; + if(!(event.getEntity().getShooter() instanceof LivingEntity)) + return; + + Arrow arrow = (Arrow) event.getEntity(); + LivingEntity entity = (LivingEntity) arrow.getShooter(); + + if(entity.getEquipment() == null) + return; + + ItemStack item = entity.getEquipment().getItemInMainHand(); + + if(item == null) return; + if(item.getType().equals(Material.AIR)) return; + if(!item.hasItemMeta()) return; + if(item.getItemMeta() == null) return; + + Map enchantments = item.getItemMeta().getEnchants(); + arrow.setMetadata("enchantments", new FixedMetadataValue(EcoEnchantsPlugin.getInstance(), enchantments)); + } +} diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/EnchantChecks.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/EnchantChecks.java new file mode 100644 index 00000000..7f1756ea --- /dev/null +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/checks/EnchantChecks.java @@ -0,0 +1,164 @@ +package com.willfp.ecoenchants.enchantments.checks; + +import com.willfp.ecoenchants.nms.Target; +import com.willfp.ecoenchants.util.ItemDurability; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Arrow; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.metadata.MetadataValue; +import sun.nio.cs.ArrayEncoder; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +@SuppressWarnings("unchecked") +public abstract class EnchantChecks { + public static boolean item(ItemStack item, Enchantment enchantment) { + return getItemLevel(item, enchantment) != 0; + } + + public static int getItemLevel(ItemStack item, Enchantment enchantment) { + if(item == null) return 0; + if(item.getType().equals(Material.AIR)) return 0; + if(!item.hasItemMeta()) return 0; + if(item.getItemMeta() == null) return 0; + + return item.getItemMeta().getEnchantLevel(enchantment); + } + + public static boolean arrow(Arrow arrow, Enchantment enchantment) { + return getArrowLevel(arrow, enchantment) != 0; + } + + public static int getArrowLevel(Arrow arrow, Enchantment enchantment) { + if (arrow.getMetadata("enchantments").isEmpty()) return 0; + + MetadataValue enchantmentsMetaValue = arrow.getMetadata("enchantments").get(0); + if (!(enchantmentsMetaValue.value() instanceof Map)) + return 0; + + Map enchantments = (Map) enchantmentsMetaValue.value(); + if (enchantments == null) return 0; + if(!enchantments.containsKey(enchantment)) return 0; + return enchantments.get(enchantment); + } + + public static boolean mainhand(LivingEntity entity, Enchantment enchantment) { + return getMainhandLevel(entity, enchantment) != 0; + } + + public static int getMainhandLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getItemInMainHand(); + + return getItemLevel(item, enchantment); + } + public static boolean offhand(LivingEntity entity, Enchantment enchantment) { + return getOffhandLevel(entity, enchantment) != 0; + } + + public static int getOffhandLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getItemInOffHand(); + + return getItemLevel(item, enchantment); + } + + public static int getArmorPoints(LivingEntity entity, Enchantment enchantment) { + return getArmorPoints(entity, enchantment, 0); + } + + public static int getArmorPoints(LivingEntity entity, Enchantment enchantment, int damage) { + if(entity.getEquipment() == null) + return 0; + + boolean isPlayer = entity instanceof Player; + + AtomicInteger armorPoints = new AtomicInteger(0); + List armor = Arrays.asList(entity.getEquipment().getArmorContents()); + armor.forEach((itemStack -> { + int level = getItemLevel(itemStack, enchantment); + if(level != 0) { + armorPoints.addAndGet(getItemLevel(itemStack, enchantment)); + if(damage > 0 && isPlayer) { + Player player = (Player) entity; + if (Target.Applicable.HELMET.getMaterials().contains(itemStack.getType())) { + ItemDurability.damageItem(player, player.getInventory().getHelmet(), 1, 39); + } + if (Target.Applicable.CHESTPLATE.getMaterials().contains(itemStack.getType())) { + ItemDurability.damageItem(player, player.getInventory().getChestplate(), 1, 38); + } + if (Target.Applicable.LEGGINGS.getMaterials().contains(itemStack.getType())) { + ItemDurability.damageItem(player, player.getInventory().getLeggings(), 1, 37); + } + if (Target.Applicable.BOOTS.getMaterials().contains(itemStack.getType())) { + ItemDurability.damageItem(player, player.getInventory().getBoots(), 1, 36); + } + } + } + })); + + return armorPoints.get(); + } + + public static boolean helmet(LivingEntity entity, Enchantment enchantment) { + return getHelmetLevel(entity, enchantment) != 0; + } + + public static int getHelmetLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getHelmet(); + + return getItemLevel(item, enchantment); + } + + public static boolean chestplate(LivingEntity entity, Enchantment enchantment) { + return getChestplateLevel(entity, enchantment) != 0; + } + + public static int getChestplateLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getChestplate(); + + return getItemLevel(item, enchantment); + } + + public static boolean leggings(LivingEntity entity, Enchantment enchantment) { + return getLeggingsLevel(entity, enchantment) != 0; + } + + public static int getLeggingsLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getLeggings(); + + return getItemLevel(item, enchantment); + } + + public static boolean boots(LivingEntity entity, Enchantment enchantment) { + return getBootsLevel(entity, enchantment) != 0; + } + + public static int getBootsLevel(LivingEntity entity, Enchantment enchantment) { + if(entity.getEquipment() == null) + return 0; + + ItemStack item = entity.getEquipment().getBoots(); + + return getItemLevel(item, enchantment); + } +} \ No newline at end of file diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/BreaklessnessCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/BreaklessnessCurse.java index 06fb4742..7e305997 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/BreaklessnessCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/BreaklessnessCurse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.curse; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -22,7 +22,7 @@ public class BreaklessnessCurse extends EcoEnchant { public void onDamageBlock(BlockDamageEvent event) { Player player = event.getPlayer(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Rand.randFloat(0, 1) > 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/CallingCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/CallingCurse.java index c2efc661..1fb59bea 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/CallingCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/CallingCurse.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.enchantments.EcoRunnable; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.LocationUtils; import org.bukkit.entity.Entity; import org.bukkit.entity.Monster; @@ -21,7 +21,7 @@ public class CallingCurse extends EcoEnchant implements EcoRunnable { @Override public void run() { - EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> HasEnchant.getArmorPoints(player, EcoEnchants.CALLING_CURSE, false) > 0).forEach((player -> { + EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> EnchantChecks.getArmorPoints(player, EcoEnchants.CALLING_CURSE, 0) > 0).forEach((player -> { double distance = EcoEnchants.CALLING_CURSE.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "distance"); for (Entity e : player.getWorld().getNearbyEntities(player.getLocation(), distance, distance, distance)) { diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/DecayCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/DecayCurse.java index c22e5d8a..81d5699d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/DecayCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/DecayCurse.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.enchantments.EcoRunnable; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Repairable; @@ -22,11 +22,11 @@ public class DecayCurse extends EcoEnchant implements EcoRunnable { @Override public void run() { EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().forEach((player -> { - if(Arrays.stream(player.getInventory().getContents()).parallel().noneMatch(item2 -> HasEnchant.item(item2, EcoEnchants.DECAY_CURSE))) + if(Arrays.stream(player.getInventory().getContents()).parallel().noneMatch(item2 -> EnchantChecks.item(item2, EcoEnchants.DECAY_CURSE))) return; for(ItemStack item : player.getInventory().getContents()) { - if(!HasEnchant.item(item, EcoEnchants.DECAY_CURSE)) continue; + if(!EnchantChecks.item(item, EcoEnchants.DECAY_CURSE)) continue; if(!(item.getItemMeta() instanceof Repairable)) continue; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/FragilityCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/FragilityCurse.java index 870b898b..0497284b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/FragilityCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/FragilityCurse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.curse; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerItemDamageEvent; @@ -22,7 +22,7 @@ public class FragilityCurse extends EcoEnchant { public void onItemDamage(PlayerItemDamageEvent event) { ItemStack item = event.getItem(); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; int min = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "minimum-extra-durability"); int max = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "maximum-extra-durability"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HarmlessnessCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HarmlessnessCurse.java index 8c7e6485..b5bdbee5 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HarmlessnessCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HarmlessnessCurse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.curse; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Monster; @@ -31,7 +31,7 @@ public class HarmlessnessCurse extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Rand.randFloat(0, 1) > 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HungerCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HungerCurse.java index 0e35059c..77b5feaa 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HungerCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/HungerCurse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.curse; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.FoodLevelChangeEvent; @@ -24,7 +24,7 @@ public class HungerCurse extends EcoEnchant { Player player = (Player) event.getEntity(); - if(!HasEnchant.playerHelmet(player, this)) return; + if(!EnchantChecks.helmet(player, this)) return; if(event.getFoodLevel() > player.getFoodLevel()) return; int delta = player.getFoodLevel() - event.getFoodLevel(); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/MisfortuneCurse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/MisfortuneCurse.java index 1ec565f7..36d6d10c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/MisfortuneCurse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/curse/MisfortuneCurse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.curse; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -22,7 +22,7 @@ public class MisfortuneCurse extends EcoEnchant { public void onBreak(BlockBreakEvent event) { Player player = event.getPlayer(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Rand.randFloat(0, 1) > 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Abrasion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Abrasion.java index 2c5023ee..d6907802 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Abrasion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Abrasion.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -40,9 +40,9 @@ public class Abrasion extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); boolean notcharged = this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged"); if (Cooldown.getCooldown(player) != 1.0f && !notcharged) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aerial.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aerial.java index 68e67b4a..45f31a88 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aerial.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aerial.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -22,36 +22,15 @@ public class Aerial extends EcoEnchant { // START OF LISTENERS - @EventHandler - public void onShoot(ProjectileLaunchEvent event) { - if (event.getEntityType() != EntityType.ARROW) - return; - - if (!(event.getEntity().getShooter() instanceof Player)) - return; - - Player player = (Player) event.getEntity().getShooter(); - - if(player.isOnGround()) - return; - - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); - - if (!(event.getEntity() instanceof Arrow)) return; - Arrow a = (Arrow) event.getEntity(); - a.setMetadata("from-aerial", new FixedMetadataValue(EcoEnchantsPlugin.getInstance(), level)); - } - @EventHandler public void onDamage(EntityDamageByEntityEvent event) { if (!(event.getDamager() instanceof Arrow)) return; - if (!event.getDamager().hasMetadata("from-aerial")) - return; + Arrow arrow = (Arrow) event.getDamager(); + if(EnchantChecks.arrow(arrow, this)) return; - int level = event.getDamager().getMetadata("from-aerial").get(0).asInt(); + int level = EnchantChecks.getArrowLevel(arrow, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aquatic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aquatic.java index e65f05f0..11597f1d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aquatic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Aquatic.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Material; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -43,9 +43,9 @@ public class Aquatic extends EcoEnchant { if(!player.getLocation().getBlock().getType().equals(Material.WATER)) return; - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double perLevelDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Arcanic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Arcanic.java index 3a19e753..b4823934 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Arcanic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Arcanic.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,7 +28,7 @@ public class Arcanic extends EcoEnchant { Player player = (Player) event.getEntity(); - int totalArcanicPoints = HasEnchant.getArmorPoints(player, this, false); + int totalArcanicPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalArcanicPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Beheading.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Beheading.java index e3a963a8..438275e4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Beheading.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Beheading.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.queue.DropQueue; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Material; import org.bukkit.entity.EntityType; @@ -33,9 +33,9 @@ public class Beheading extends EcoEnchant { LivingEntity victim = event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); if (Rand.randFloat(0, 1) > level * 0.01 * chance) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BlastMining.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BlastMining.java index 167e35d6..6af8c611 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BlastMining.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BlastMining.java @@ -4,11 +4,11 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.BlockBreak; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -32,7 +32,7 @@ public class BlastMining extends EcoEnchant { return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Bleed.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Bleed.java index 9270f745..eaef9ed8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Bleed.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Bleed.java @@ -4,10 +4,10 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -39,12 +39,12 @@ public class Bleed extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Blind.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Blind.java index 7ac52b17..d386e2cb 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Blind.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Blind.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -35,16 +35,16 @@ public class Blind extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; if(event.isCancelled()) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BossHunter.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BossHunter.java index a2f80f87..fef71c75 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BossHunter.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/BossHunter.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.Boss; import org.bukkit.entity.ElderGuardian; @@ -31,8 +31,8 @@ public class BossHunter extends EcoEnchant { Player player = (Player) ((Arrow) event.getDamager()).getShooter(); Arrow arrow = (Arrow) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.arrow(arrow, this)) return; + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Buckshot.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Buckshot.java index 66cce521..719297a9 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Buckshot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Buckshot.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Sound; import org.bukkit.SoundCategory; @@ -35,8 +35,8 @@ public class Buckshot extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.mainhand(player, this)) return; + int level = EnchantChecks.getMainhandLevel(player, this); event.getProjectile().remove(); player.playSound(player.getLocation(), Sound.ENTITY_ARROW_SHOOT, SoundCategory.PLAYERS, 1.0f, 1.0f); @@ -53,7 +53,7 @@ public class Buckshot extends EcoEnchant { velocity.add(new Vector(Rand.randFloat(-spread, spread), Rand.randFloat(-spread, spread), Rand.randFloat(-spread, spread))); Arrow arrow = player.launchProjectile(Arrow.class, velocity); - if(HasEnchant.playerHeld(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); + if(EnchantChecks.mainhand(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); arrow.setPickupStatus(AbstractArrow.PickupStatus.DISALLOWED); } } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Butchering.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Butchering.java index b470e72e..f3fbd27e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Butchering.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Butchering.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Monster; import org.bukkit.entity.Player; @@ -30,9 +30,9 @@ public class Butchering extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-level"); event.setDamage(event.getDamage() + (level * multiplier)); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cerebral.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cerebral.java index 1291bb06..93740078 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cerebral.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cerebral.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -34,8 +34,8 @@ public class Cerebral extends EcoEnchant { if (!(arrow.getLocation().getY() >= victim.getLocation().getY() + victim.getEyeHeight() - 0.22)) return; - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.arrow(arrow, this)) return; + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Chopless.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Chopless.java index dacb8caa..35ced1b6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Chopless.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Chopless.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -31,7 +31,7 @@ public class Chopless extends EcoEnchant { if(!Target.Applicable.AXE.getMaterials().contains(damager.getInventory().getItemInMainHand().getType())) return; - int totalChoplessPoints = HasEnchant.getArmorPoints(player, this, true); + int totalChoplessPoints = EnchantChecks.getArmorPoints(player, this, 1); if (totalChoplessPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cleave.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cleave.java index d9e28b70..4fd4d036 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cleave.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cleave.java @@ -4,10 +4,10 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -39,12 +39,12 @@ public class Cleave extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damagePerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-percentage-per-level") * 0.01; double radiusPerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "radius-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Collateral.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Collateral.java index d7dc65d9..0a9a8819 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Collateral.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Collateral.java @@ -2,8 +2,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -28,9 +28,9 @@ public class Collateral extends EcoEnchant { Player player = (Player) event.getEntity().getShooter(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (!(event.getEntity() instanceof Arrow)) return; Arrow a = (Arrow) event.getEntity(); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Corrosive.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Corrosive.java index d2169ca8..a53d2165 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Corrosive.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Corrosive.java @@ -1,13 +1,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; -import com.comphenix.protocol.PacketType; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; -import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; -import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; @@ -43,12 +40,13 @@ public class Corrosive extends EcoEnchant { Player player = (Player) ((Arrow) event.getDamager()).getShooter(); Player victim = (Player) event.getEntity(); + Arrow arrow = (Arrow) event.getDamager(); if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); ArrayList armor = new ArrayList(Arrays.asList(victim.getInventory().getArmorContents())); if (armor.isEmpty()) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cranial.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cranial.java index 2554b55c..a703804d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cranial.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Cranial.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Trident; @@ -38,8 +38,8 @@ public class Cranial extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + if (!EnchantChecks.item(item, this)) return; + int level = EnchantChecks.getItemLevel(item, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Criticals.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Criticals.java index fa8821b0..929f86ee 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Criticals.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Criticals.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,12 +29,12 @@ public class Criticals extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (!(player.getFallDistance() > 0 && !player.isOnGround())) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); event.setDamage(event.getDamage() * ((level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level")) + 1)); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defender.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defender.java index 36b2e768..e8bfc8e1 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defender.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defender.java @@ -2,8 +2,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; import org.bukkit.entity.Tameable; @@ -30,10 +30,11 @@ public class Defender extends EcoEnchant { Player player = (Player) ((Arrow) event.getDamager()).getShooter(); Tameable entity = (Tameable) event.getEntity(); + Arrow arrow = (Arrow) event.getDamager(); if(entity.getOwner() == null) return; if(!entity.getOwner().equals(player)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; event.setCancelled(true); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Deflection.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Deflection.java index 41e88ead..59e8702a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Deflection.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Deflection.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -36,9 +36,9 @@ public class Deflection extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; int level; - if (!HasEnchant.playerOffhand(player, this) && !HasEnchant.playerHeld(player, this)) return; - if(HasEnchant.playerOffhand(player, this)) level = HasEnchant.getPlayerOffhandLevel(player, this); - else level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.offhand(player, this) && !EnchantChecks.mainhand(player, this)) return; + if(EnchantChecks.offhand(player, this)) level = EnchantChecks.getOffhandLevel(player, this); + else level = EnchantChecks.getMainhandLevel(player, this); double perlevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-deflected-per-level"); double damagePercent = (perlevel/100) * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defusion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defusion.java index 57c8d34a..60d3d1cf 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defusion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Defusion.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Creeper; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,9 +29,9 @@ public class Defusion extends EcoEnchant { Creeper victim = (Creeper) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-level"); event.setDamage(event.getDamage() + (level * multiplier)); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dexterous.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dexterous.java index d2fc8f1a..4cb23d17 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dexterous.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dexterous.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,13 +25,13 @@ public class Dexterous extends EcoEnchant { Player player = event.getPlayer(); ItemStack item = player.getInventory().getItem(event.getNewSlot()); - if (!HasEnchant.item(item, this)) { + if (!EnchantChecks.item(item, this)) { player.getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0); return; } - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double bonus = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "add-speed-per-level"); player.getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0 + (level * bonus)); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Disappear.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Disappear.java index 37ae7677..4f62e76a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Disappear.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Disappear.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -32,7 +32,7 @@ public class Disappear extends EcoEnchant { if(player.getHealth() > EcoEnchants.DISAPPEAR.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "threshold")) return; - final int points = HasEnchant.getArmorPoints(player, this, true); + final int points = EnchantChecks.getArmorPoints(player, this, 1); if (points == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diurnal.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diurnal.java index c4f680c7..7e4ca74a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diurnal.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diurnal.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -31,9 +31,9 @@ public class Diurnal extends EcoEnchant { if(!(player.getWorld().getTime() < 12300 && player.getWorld().getTime() > 23850)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diverse.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diverse.java index b2119835..b4c60a96 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diverse.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Diverse.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -31,9 +31,9 @@ public class Diverse extends EcoEnchant { if(!Target.Applicable.SWORD.getMaterials().contains(victim.getInventory().getItemInMainHand().getType())) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java index d97f5fe2..e67620dd 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java @@ -4,11 +4,11 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.BlockBreak; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.SimplifyVector; import org.bukkit.block.Block; import org.bukkit.entity.Player; @@ -35,7 +35,7 @@ public class Drill extends EcoEnchant { return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; @@ -44,7 +44,7 @@ public class Drill extends EcoEnchant { if(player.isSneaking() && this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "disable-on-sneak")) return; - int level = HasEnchant.getPlayerLevel(player, this) * this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "blocks-per-level"); + int level = EnchantChecks.getMainhandLevel(player, this) * this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "blocks-per-level"); AnticheatManager.exemptPlayer(player); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dullness.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dullness.java index 5cd05c0c..8d5c2d3f 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dullness.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Dullness.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -36,12 +36,12 @@ public class Dullness extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Electroshock.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Electroshock.java index b1672832..359347a4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Electroshock.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Electroshock.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Lightning; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; @@ -38,9 +38,9 @@ public class Electroshock extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; int level; - if (!HasEnchant.playerOffhand(player, this) && !HasEnchant.playerHeld(player, this)) return; - if(HasEnchant.playerOffhand(player, this)) level = HasEnchant.getPlayerOffhandLevel(player, this); - else level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.offhand(player, this) && !EnchantChecks.mainhand(player, this)) return; + if(EnchantChecks.offhand(player, this)) level = EnchantChecks.getOffhandLevel(player, this); + else level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); double damage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EndInfusion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EndInfusion.java index 5f879746..1e32f431 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EndInfusion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EndInfusion.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,9 +29,9 @@ public class EndInfusion extends EcoEnchant { if(!player.getWorld().getEnvironment().equals(World.Environment.THE_END)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EnderSlayer.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EnderSlayer.java index fbad59c1..eeb04acb 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EnderSlayer.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/EnderSlayer.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -38,9 +38,9 @@ public class EnderSlayer extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-level"); event.setDamage(event.getDamage() + (level * multiplier)); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Enderism.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Enderism.java index a844ea2b..93ba875a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Enderism.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Enderism.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; @@ -28,14 +28,15 @@ public class Enderism extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); + Arrow arrow = (Arrow) event.getDamager(); assert player != null; if(!player.getWorld().getEnvironment().equals(World.Environment.THE_END)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Evasion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Evasion.java index 6bdd8e38..23e389dd 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Evasion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Evasion.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,7 +25,7 @@ public class Evasion extends EcoEnchant { Player player = (Player) event.getEntity(); - int totalEvasionPoints = HasEnchant.getArmorPoints(player, this, true); + int totalEvasionPoints = EnchantChecks.getArmorPoints(player, this, 1); if (totalEvasionPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extinguishing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extinguishing.java index e19950d3..87868b11 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extinguishing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extinguishing.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,7 +28,7 @@ public class Extinguishing extends EcoEnchant { Player player = (Player) event.getEntity(); - int totalExtinguishingPoints = HasEnchant.getArmorPoints(player, this, false); + int totalExtinguishingPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalExtinguishingPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extract.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extract.java index e4a124c0..1c56ef80 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extract.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Extract.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -43,9 +43,9 @@ public class Extract extends EcoEnchant { if(!AntigriefManager.canInjure(player, (LivingEntity) event.getEntity())) return; - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Famine.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Famine.java index 4dbdfc5a..5e511083 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Famine.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Famine.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -36,12 +36,12 @@ public class Famine extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Farmhand.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Farmhand.java index 4c4cae73..fcafc72a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Farmhand.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Farmhand.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.util.Cube; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import com.willfp.ecoenchants.util.Square; import org.bukkit.Location; @@ -42,7 +42,7 @@ public class Farmhand extends EcoEnchant { ItemStack item = event.getItem(); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; if (!(Target.Applicable.HOE.getMaterials().contains(item.getType()))) return; @@ -52,7 +52,7 @@ public class Farmhand extends EcoEnchant { event.getClickedBlock().setType(Material.FARMLAND); int initial = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-radius"); int levelrad = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius"); - int radius = initial + (HasEnchant.getItemLevel(item, this) - 1) * levelrad; + int radius = initial + (EnchantChecks.getItemLevel(item, this) - 1) * levelrad; Vector[] vecs; if (this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "use-cube")) { diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finality.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finality.java index 13a4f9e6..220674ca 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finality.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finality.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -30,11 +30,11 @@ public class Finality extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.arrow(arrow, this)) return; + int level = EnchantChecks.getArrowLevel(arrow, this); double minhealth = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "minimum-health-per-level"); if (!(((LivingEntity) event.getEntity()).getHealth() <= level * minhealth)) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finishing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finishing.java index fbe85cb1..21e74215 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finishing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Finishing.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,8 +29,8 @@ public class Finishing extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.mainhand(player, this)) return; + int level = EnchantChecks.getMainhandLevel(player, this); double minhealth = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "minimum-health-per-level"); if (!(((LivingEntity) event.getEntity()).getHealth() <= level * minhealth)) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FireAffinity.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FireAffinity.java index 2aa0352a..0e3d9db3 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FireAffinity.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FireAffinity.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -27,11 +27,11 @@ public class FireAffinity extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if(player.getFireTicks() == 0) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FirstStrike.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FirstStrike.java index 23c6b4df..142de88e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FirstStrike.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/FirstStrike.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -30,12 +30,12 @@ public class FirstStrike extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (!(((LivingEntity) event.getEntity()).getHealth() == ((LivingEntity) event.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue())) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damagemultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); event.setDamage(event.getDamage() * ((level * damagemultiplier) + 1)); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Flinch.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Flinch.java index 802fbc57..4ecfa49b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Flinch.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Flinch.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -39,9 +39,9 @@ public class Flinch extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; int level; - if (!HasEnchant.playerOffhand(player, this) && !HasEnchant.playerHeld(player, this)) return; - if(HasEnchant.playerOffhand(player, this)) level = HasEnchant.getPlayerOffhandLevel(player, this); - else level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.offhand(player, this) && !EnchantChecks.mainhand(player, this)) return; + if(EnchantChecks.offhand(player, this)) level = EnchantChecks.getOffhandLevel(player, this); + else level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); int duration = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "ticks-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Forcefield.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Forcefield.java index 6909cfd8..f9d63316 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Forcefield.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Forcefield.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.enchantments.EcoRunnable; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Entity; import org.bukkit.entity.Monster; public class Forcefield extends EcoEnchant implements EcoRunnable { @@ -18,8 +18,8 @@ public class Forcefield extends EcoEnchant implements EcoRunnable { @Override public void run() { - EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> HasEnchant.getArmorPoints(player, EcoEnchants.FORCEFIELD, false) > 0).forEach((player -> { - int level = HasEnchant.getArmorPoints(player, EcoEnchants.FORCEFIELD, false); + EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> EnchantChecks.getArmorPoints(player, EcoEnchants.FORCEFIELD, 0) > 0).forEach((player -> { + int level = EnchantChecks.getArmorPoints(player, EcoEnchants.FORCEFIELD, 0); double initialDistance = EcoEnchants.FORCEFIELD.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "initial-distance"); double bonus = EcoEnchants.FORCEFIELD.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-level"); @@ -32,7 +32,7 @@ public class Forcefield extends EcoEnchant implements EcoRunnable { ((Monster) e).damage(damage, player); - HasEnchant.getArmorPoints(player, EcoEnchants.FORCEFIELD, true); + EnchantChecks.getArmorPoints(player, EcoEnchants.FORCEFIELD, 1); } })); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Freerunner.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Freerunner.java index 3b891dae..0650ffd6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Freerunner.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Freerunner.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,8 +28,8 @@ public class Freerunner extends EcoEnchant { Player player = (Player) event.getEntity(); - if(!HasEnchant.playerBoots(player, this)) return; - int level = HasEnchant.getPlayerBootsLevel(player, this); + if(!EnchantChecks.boots(player, this)) return; + int level = EnchantChecks.getBootsLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Frozen.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Frozen.java index c6345d3b..7ff0439b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Frozen.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Frozen.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; @@ -34,7 +34,7 @@ public class Frozen extends EcoEnchant { Player player = (Player) event.getEntity(); LivingEntity victim = (LivingEntity) event.getDamager(); - final int points = HasEnchant.getArmorPoints(player, this, true); + final int points = EnchantChecks.getArmorPoints(player, this, 1); if (points == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Fury.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Fury.java index 527e1280..b2dde0f6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Fury.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Fury.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.LocationUtils; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.*; @@ -35,12 +35,12 @@ public class Fury extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Goliath.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Goliath.java index 531f8399..ea41aa9c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Goliath.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Goliath.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -30,12 +30,12 @@ public class Goliath extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (victim.getHealth() <= player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double timesMoreHealth = victim.getHealth() / player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grapple.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grapple.java index be44349d..0fc922f7 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grapple.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grapple.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -37,9 +37,9 @@ public class Grapple extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double baseMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-multiplier"); Vector vector = player.getLocation().toVector().clone().subtract(victim.getLocation().toVector()).normalize().multiply(level * baseMultiplier); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/GreenThumb.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/GreenThumb.java index 2d8267e3..2133caab 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/GreenThumb.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/GreenThumb.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -34,7 +34,7 @@ public class GreenThumb extends EcoEnchant { if (!event.getClickedBlock().getType().equals(Material.DIRT)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if(!AntigriefManager.canBreakBlock(player, event.getClickedBlock())) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grit.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grit.java index 49bf61ff..e05f86f4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grit.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Grit.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -33,7 +33,7 @@ public class Grit extends EcoEnchant { if(!AntigriefManager.canInjure(attacker, player)) return; - int totalGritPoints = HasEnchant.getArmorPoints(player, this, false); + int totalGritPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalGritPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Hook.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Hook.java index d7f80494..6a2e4d4e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Hook.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Hook.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -33,16 +33,16 @@ public class Hook extends EcoEnchant { if(event.isCancelled()) return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(victim.hasMetadata("NPC")) return; if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double baseMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-multiplier"); Vector vector = player.getLocation().toVector().clone().subtract(victim.getLocation().toVector()).normalize().multiply(level * baseMultiplier); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Horde.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Horde.java index abb1a89f..d1168d06 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Horde.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Horde.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,9 +25,9 @@ public class Horde extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double distance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "distance-per-level") * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IceShot.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IceShot.java index 9230b871..1b8ff9a6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IceShot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IceShot.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -34,16 +34,16 @@ public class IceShot extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; if(event.isCancelled()) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Ignite.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Ignite.java index 0d7751b5..8ee15af2 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Ignite.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Ignite.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Material; import org.bukkit.block.Block; @@ -26,7 +26,7 @@ public class Ignite extends EcoEnchant { @EventHandler public void onLand(ProjectileHitEvent event) { - if (event.getEntityType() != EntityType.ARROW) + if (!(event.getEntity() instanceof Arrow)) return; if (!(event.getEntity().getShooter() instanceof Player)) @@ -36,14 +36,12 @@ public class Ignite extends EcoEnchant { return; Block block = event.getHitBlock(); - + Arrow arrow = (Arrow) event.getEntity(); Player player = (Player) event.getEntity().getShooter(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - if (!(event.getEntity() instanceof Arrow)) return; - - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); float power = (float) (0.5 + (level * 0.5)); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IllusionAspect.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IllusionAspect.java index 1d953009..e142c14e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IllusionAspect.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/IllusionAspect.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -35,12 +35,12 @@ public class IllusionAspect extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); if (Rand.randFloat(0, 1) > level * 0.01 * chance) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Incandescence.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Incandescence.java index 6ae5a088..2b2e369d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Incandescence.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Incandescence.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -31,7 +31,7 @@ public class Incandescence extends EcoEnchant { Player player = (Player) event.getEntity(); LivingEntity victim = (LivingEntity) event.getDamager(); - int totalIncandescencePoints = HasEnchant.getArmorPoints(player, this, true); + int totalIncandescencePoints = EnchantChecks.getArmorPoints(player, this, 1); if (totalIncandescencePoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/InfernalTouch.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/InfernalTouch.java index 20d836b1..95d3030a 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/InfernalTouch.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/InfernalTouch.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.queue.DropQueue; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Material; @@ -38,7 +38,7 @@ public class InfernalTouch extends EcoEnchant { Player player = event.getPlayer(); Block block = event.getBlock(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) return; @@ -87,13 +87,13 @@ public class InfernalTouch extends EcoEnchant { if(drop.getType().equals(Material.IRON_INGOT)) { experience += 1; - if(HasEnchant.playerHeld(player, Enchantment.LOOT_BONUS_BLOCKS)) { - int level = HasEnchant.getPlayerLevel(player, LOOT_BONUS_BLOCKS); + if(EnchantChecks.mainhand(player, Enchantment.LOOT_BONUS_BLOCKS)) { + int level = EnchantChecks.getMainhandLevel(player, LOOT_BONUS_BLOCKS); drop.setAmount((int) Math.ceil(1/((double) level + 2) + ((double) level + 1)/2)); } } else if(drop.getType().equals(Material.GOLD_INGOT)) { - if(HasEnchant.playerHeld(player, Enchantment.LOOT_BONUS_BLOCKS)) { - int level = HasEnchant.getPlayerLevel(player, LOOT_BONUS_BLOCKS); + if(EnchantChecks.mainhand(player, Enchantment.LOOT_BONUS_BLOCKS)) { + int level = EnchantChecks.getMainhandLevel(player, LOOT_BONUS_BLOCKS); drop.setAmount((int) Math.ceil(1/((double) level + 2) + ((double) level + 1)/2)); } } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Inferno.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Inferno.java index f261e142..a0f5b9c1 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Inferno.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Inferno.java @@ -2,9 +2,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Trident; @@ -33,7 +33,7 @@ public class Inferno extends EcoEnchant { Trident trident = (Trident) event.getEntity(); ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; trident.setFireTicks(Integer.MAX_VALUE); } @@ -49,7 +49,7 @@ public class Inferno extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; if(trident.getFireTicks() <= 0) return; victim.setFireTicks(100); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Instantaneous.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Instantaneous.java index 1a138640..acd7aa7b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Instantaneous.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Instantaneous.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -23,9 +23,9 @@ public class Instantaneous extends EcoEnchant { public void onDamageBlock(BlockDamageEvent event) { Player player = event.getPlayer(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Invigoration.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Invigoration.java index d83b9b24..a5ccaa04 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Invigoration.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Invigoration.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -28,7 +28,7 @@ public class Invigoration extends EcoEnchant { if (player.getHealth() > this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "below-health")) return; - int totalInvigorationPoints = HasEnchant.getArmorPoints(player, this, false); + int totalInvigorationPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalInvigorationPoints == 0) return; @@ -47,7 +47,7 @@ public class Invigoration extends EcoEnchant { if (player.getHealth() > this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "below-health")) return; - int totalInvigorationPoints = HasEnchant.getArmorPoints(player, this, false); + int totalInvigorationPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalInvigorationPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Kinetic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Kinetic.java index 3af7825d..0be8fc99 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Kinetic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Kinetic.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageEvent; @@ -26,9 +26,9 @@ public class Kinetic extends EcoEnchant { Player player = (Player) event.getEntity(); - if(!HasEnchant.playerElytra(player, this)) return; + if(!EnchantChecks.chestplate(player, this)) return; - int level = HasEnchant.getPlayerChestplateLevel(player, this); + int level = EnchantChecks.getChestplateLevel(player, this); double reduction = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "reduction-per-level"); double multiplier = 1 - ((reduction/100) * level); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Launch.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Launch.java index 0c7d8b1a..434b662f 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Launch.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Launch.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -35,9 +35,9 @@ public class Launch extends EcoEnchant { if(!player.isGliding()) return; - if(!HasEnchant.playerElytra(player, this)) return; + if(!EnchantChecks.chestplate(player, this)) return; - int level = HasEnchant.getPlayerChestplateLevel(player, this); + int level = EnchantChecks.getChestplateLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); double boost = 1 + (multiplier * level); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Leeching.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Leeching.java index b97d6a70..d8a21baf 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Leeching.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Leeching.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -35,9 +35,9 @@ public class Leeching extends EcoEnchant { if(!AntigriefManager.canInjure(player, (LivingEntity) event.getEntity())) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Levitate.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Levitate.java index 666b907c..26fc9bf9 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Levitate.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Levitate.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -34,16 +34,16 @@ public class Levitate extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; if(event.isCancelled()) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/LiquidShot.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/LiquidShot.java index 445e186d..8c21e0ce 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/LiquidShot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/LiquidShot.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -26,13 +26,14 @@ public class LiquidShot extends EcoEnchant { if (!(event.getEntity() instanceof LivingEntity)) return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!(victim instanceof Blaze || victim instanceof MagmaCube || victim instanceof Enderman)) return; - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.arrow(arrow, this)) return; + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Lumberjack.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Lumberjack.java index a3c20f49..1bbd3f57 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Lumberjack.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Lumberjack.java @@ -4,11 +4,11 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.BlockBreak; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.RecursiveBlock; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -40,7 +40,7 @@ public class Lumberjack extends EcoEnchant { return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; @@ -56,7 +56,7 @@ public class Lumberjack extends EcoEnchant { return; int blocksPerLevel = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "blocks-per-level"); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int limit = level * blocksPerLevel; Set treeBlocks = RecursiveBlock.getVein(block, materials, limit); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java index 2c13c741..86b9a4a7 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java @@ -4,11 +4,11 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.util.Circle; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -36,10 +36,10 @@ public class MagmaWalker extends EcoEnchant { if(event.getTo() == null) return; if(event.getFrom().getBlock().equals(event.getTo().getBlock())) return; - if (!HasEnchant.playerBoots(player, this)) return; + if (!EnchantChecks.boots(player, this)) return; Vector[] circle = Circle.getCircle(this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-radius") - + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius") * HasEnchant.getPlayerBootsLevel(player, this) - 1)); + + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius") * EnchantChecks.getBootsLevel(player, this) - 1)); AnticheatManager.exemptPlayer(player); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Magnetic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Magnetic.java index e3e674ab..00e31d0e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Magnetic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Magnetic.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.enchantments.EcoRunnable; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.LocationUtils; import org.bukkit.entity.Entity; import org.bukkit.entity.ExperienceOrb; @@ -21,8 +21,8 @@ public class Magnetic extends EcoEnchant implements EcoRunnable { @Override public void run() { - EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> HasEnchant.getArmorPoints(player, EcoEnchants.MAGNETIC, false) > 0).forEach((player -> { - int level = HasEnchant.getArmorPoints(player, EcoEnchants.MAGNETIC, false); + EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().stream().filter(player -> EnchantChecks.getArmorPoints(player, EcoEnchants.MAGNETIC, 0) > 0).forEach((player -> { + int level = EnchantChecks.getArmorPoints(player, EcoEnchants.MAGNETIC, 0); double initialDistance = EcoEnchants.MAGNETIC.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "initial-distance"); double bonus = EcoEnchants.MAGNETIC.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marking.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marking.java index 390f2c3f..15869713 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marking.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marking.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -37,14 +37,14 @@ public class Marking extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if (!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); int ticksPerLevel = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "ticks-per-level"); int ticks = ticksPerLevel * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marksman.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marksman.java index d49ab7f4..88f42eb6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marksman.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Marksman.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -31,7 +31,7 @@ public class Marksman extends EcoEnchant { Player player = (Player) event.getEntity().getShooter(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (!(event.getEntity() instanceof Arrow)) return; Arrow a = (Arrow) event.getEntity(); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Necrotic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Necrotic.java index 92f8f19b..5714f528 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Necrotic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Necrotic.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.queue.DropQueue; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -32,9 +32,9 @@ public class Necrotic extends EcoEnchant { Player player = event.getEntity().getKiller(); WitherSkeleton victim = (WitherSkeleton) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); if (Rand.randFloat(0, 1) > level * 0.01 * chance) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/NetherInfusion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/NetherInfusion.java index c252bc2f..a6c203e6 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/NetherInfusion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/NetherInfusion.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,9 +28,9 @@ public class NetherInfusion extends EcoEnchant { if(!player.getWorld().getEnvironment().equals(World.Environment.NETHER)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Netheric.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Netheric.java index 1cb55968..9ac7700b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Netheric.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Netheric.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; @@ -28,14 +28,15 @@ public class Netheric extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); + Arrow arrow = (Arrow) event.getDamager(); assert player != null; if(!player.getWorld().getEnvironment().equals(World.Environment.NETHER)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Nocturnal.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Nocturnal.java index 4937c979..0cc5bf35 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Nocturnal.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Nocturnal.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -30,9 +30,9 @@ public class Nocturnal extends EcoEnchant { if(!(player.getWorld().getTime() > 12300 && player.getWorld().getTime() < 23850)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); event.setDamage(event.getDamage() * (1 + (level * multiplier))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Optics.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Optics.java index 1fb0321b..b1d3b146 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Optics.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Optics.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Location; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; @@ -28,14 +28,14 @@ public class Optics extends EcoEnchant { Player player = (Player) ((Arrow) event.getDamager()).getShooter(); Arrow arrow = (Arrow) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; Location land = arrow.getLocation(); Location source = player.getLocation(); double distance = land.distance(source); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "block-multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Oxygenate.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Oxygenate.java index b63aa33c..fe103b2e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Oxygenate.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Oxygenate.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.util.EqualIfOver; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,7 +25,7 @@ public class Oxygenate extends EcoEnchant { Player player = event.getPlayer(); Block block = event.getBlock(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; @@ -34,7 +34,7 @@ public class Oxygenate extends EcoEnchant { if(player.getRemainingAir() == player.getMaximumAir()) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int oxygenLevel = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "oxygen-per-level"); int oxygen = level * oxygenLevel; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Paladin.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Paladin.java index 9c51175f..45894608 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Paladin.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Paladin.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Horse; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -30,11 +30,11 @@ public class Paladin extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if(!(player.getVehicle() instanceof Horse)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); event.setDamage(event.getDamage() * ((level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level")) + 1)); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parasitic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parasitic.java index 955cb060..f9b8bd1c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parasitic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parasitic.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -36,12 +36,12 @@ public class Parasitic extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); if(!AntigriefManager.canInjure(player, (LivingEntity) event.getEntity())) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parry.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parry.java index db859f52..f8e6fc0c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parry.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Parry.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -27,9 +27,9 @@ public class Parry extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Protector.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Protector.java index f6b1d9cf..5bcbb65d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Protector.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Protector.java @@ -2,8 +2,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.entity.Tameable; import org.bukkit.event.EventHandler; @@ -29,7 +29,7 @@ public class Protector extends EcoEnchant { if(entity.getOwner() == null) return; if(!entity.getOwner().equals(player)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; event.setCancelled(true); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Proximity.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Proximity.java index 6934ac11..09ae2270 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Proximity.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Proximity.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,13 +29,13 @@ public class Proximity extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; double distance = player.getLocation().distance(victim.getLocation()); double decreaseAfter = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "when-closer-than-blocks"); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if(distance <= decreaseAfter) { double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Puncture.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Puncture.java index 297c3957..17245175 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Puncture.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Puncture.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -42,9 +42,9 @@ public class Puncture extends EcoEnchant { if(!(victim instanceof Turtle || victim instanceof Shulker)) return; - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double perLevelDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Radiance.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Radiance.java index 99c43ce8..e261eded 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Radiance.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Radiance.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; @@ -32,9 +32,9 @@ public class Radiance extends EcoEnchant { Arrow arrow = (Arrow) event.getEntity(); Player player = (Player) event.getEntity().getShooter(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double radius = level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "radius-multiplier"); int duration = level * this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "duration-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rage.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rage.java index 0d894f47..bb3b02e7 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rage.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rage.java @@ -3,10 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; -import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.LocationUtils; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.*; @@ -33,14 +32,14 @@ public class Rage extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rapid.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rapid.java index 9ff60239..1a2c5c8d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rapid.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rapid.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,9 +28,9 @@ public class Rapid extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = 1 - ((this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-faster-per-level")/100) * level); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reel.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reel.java index 03eea1f2..af62e5c4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reel.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reel.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -36,9 +36,9 @@ public class Reel extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double baseMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-multiplier"); Vector vector = player.getLocation().toVector().clone().subtract(victim.getLocation().toVector()).normalize().multiply(level * baseMultiplier); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reinforcement.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reinforcement.java index 1dbd127b..64c4649f 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reinforcement.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Reinforcement.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageEvent; @@ -26,9 +26,9 @@ public class Reinforcement extends EcoEnchant { Player player = (Player) event.getEntity(); - if(!HasEnchant.playerElytra(player, this)) return; + if(!EnchantChecks.chestplate(player, this)) return; - int level = HasEnchant.getPlayerChestplateLevel(player, this); + int level = EnchantChecks.getChestplateLevel(player, this); double reduction = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "reduction-per-level"); double multiplier = 1 - ((reduction/100) * level); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rejuvenation.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rejuvenation.java index f4dd395d..82083abe 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rejuvenation.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Rejuvenation.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityRegainHealthEvent; @@ -27,7 +27,7 @@ public class Rejuvenation extends EcoEnchant { Player player = (Player) event.getEntity(); - int totalRejuvenationPoints = HasEnchant.getArmorPoints(player, this, false); + int totalRejuvenationPoints = EnchantChecks.getArmorPoints(player, this, 0); if (totalRejuvenationPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Replenish.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Replenish.java index ef529ce2..1564e854 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Replenish.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Replenish.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.Ageable; @@ -28,7 +28,7 @@ public class Replenish extends EcoEnchant { Block block = event.getBlock(); Material type = block.getType(); - if(!HasEnchant.playerHeld(player, this)) return; + if(!EnchantChecks.mainhand(player, this)) return; if(!AntigriefManager.canBreakBlock(player, block)) return; if(event.isCancelled()) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sating.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sating.java index fbff7392..08d526b8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sating.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sating.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,10 +25,10 @@ public class Sating extends EcoEnchant { Player player = (Player) event.getEntity(); - if(!HasEnchant.playerHelmet(player, this)) return; + if(!EnchantChecks.helmet(player, this)) return; if(event.getFoodLevel() > player.getFoodLevel()) return; - int level = HasEnchant.getPlayerHelmetLevel(player, this); + int level = EnchantChecks.getHelmetLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Serrated.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Serrated.java index 360226f8..fc66378c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Serrated.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Serrated.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Trident; @@ -40,9 +40,9 @@ public class Serrated extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-base"); double perLevelDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Shockwave.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Shockwave.java index b667c604..b8f44298 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Shockwave.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Shockwave.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.LivingEntity; @@ -40,11 +40,11 @@ public class Shockwave extends EcoEnchant { item = TridentStack.getTridentStack((Trident) entity); } - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; int ticks = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "particle-tick-delay"); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); damage *= level; final double finalDamage = damage; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/ShotAssist.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/ShotAssist.java index ac3242ce..21fcb0d4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/ShotAssist.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/ShotAssist.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -31,10 +31,10 @@ public class ShotAssist extends EcoEnchant { if(event.isCancelled()) return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); - int points = HasEnchant.getArmorPoints(player, this, true); + int points = EnchantChecks.getArmorPoints(player, this, 1); if(points == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sickening.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sickening.java index 09d2af5a..6fffa2fe 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sickening.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sickening.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -35,16 +35,16 @@ public class Sickening extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; if(event.isCancelled()) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Slicing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Slicing.java index 9657c0d5..da7dda86 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Slicing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Slicing.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; @@ -33,7 +33,7 @@ public class Slicing extends EcoEnchant { if (!player.isGliding()) return; - if (!HasEnchant.playerElytra(player, this)) return; + if (!EnchantChecks.chestplate(player, this)) return; for (Entity entity : player.getNearbyEntities(1, 1, 1)) { LivingEntity victim; @@ -47,7 +47,7 @@ public class Slicing extends EcoEnchant { continue; double damage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); victim.damage(level * damage, player); entities.add(victim); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spearfishing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spearfishing.java index 850758f6..edd42fdc 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spearfishing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spearfishing.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; import com.willfp.ecoenchants.queue.DropQueue; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Material; import org.bukkit.entity.EntityType; @@ -48,9 +48,9 @@ public class Spearfishing extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double chance = level * (this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")/100); if(Rand.randFloat(0, 1) > chance) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spiked.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spiked.java index ab370bc7..2f277fa3 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spiked.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Spiked.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -35,9 +35,9 @@ public class Spiked extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damagePerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); double damage = damagePerLevel * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Splash.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Splash.java index 154a7ed3..6f481838 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Splash.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Splash.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; @@ -39,9 +39,9 @@ public class Splash extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double radius = level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "radius-multiplier"); double damage = level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stab.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stab.java index 40f27973..87b7b213 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stab.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stab.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -31,9 +31,9 @@ public class Stab extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-base"); double perLevelDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stamina.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stamina.java index 23f2089e..7d0d2122 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stamina.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Stamina.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -27,10 +27,10 @@ public class Stamina extends EcoEnchant { if(!player.isSprinting()) return; - if(!HasEnchant.playerHelmet(player, this)) return; + if(!EnchantChecks.boots(player, this)) return; if(event.getFoodLevel() > player.getFoodLevel()) return; - int level = HasEnchant.getPlayerBootsLevel(player, this); + int level = EnchantChecks.getBootsLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StoneSwitcher.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StoneSwitcher.java index 725cd193..93ee8e18 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StoneSwitcher.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StoneSwitcher.java @@ -3,11 +3,11 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.queue.DropQueue; import com.willfp.ecoenchants.util.EqualIfOver; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.GameMode; import org.bukkit.Material; @@ -30,7 +30,7 @@ public class StoneSwitcher extends EcoEnchant { Player player = event.getPlayer(); Block block = event.getBlock(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) return; @@ -42,7 +42,7 @@ public class StoneSwitcher extends EcoEnchant { if (!AntigriefManager.canBreakBlock(player, block)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); if(Rand.randFloat(0, 1) > level * chance * 0.01) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StrayAspect.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StrayAspect.java index a9a69eaa..3e044631 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StrayAspect.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/StrayAspect.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -36,12 +36,12 @@ public class StrayAspect extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Succession.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Succession.java index ece5b717..e93a096d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Succession.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Succession.java @@ -4,8 +4,8 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.Bukkit; import org.bukkit.enchantments.Enchantment; @@ -34,11 +34,11 @@ public class Succession extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; int number = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "extra-arrows"); - boolean fire = HasEnchant.playerHeld(player, Enchantment.ARROW_FIRE); + boolean fire = EnchantChecks.mainhand(player, Enchantment.ARROW_FIRE); for (int i = 1; i <= number; i++) { diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Supercritical.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Supercritical.java index 225bdf1b..c3f6b4f0 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Supercritical.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Supercritical.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; @@ -32,7 +32,7 @@ public class Supercritical extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (!(((LivingEntity) event.getEntity()).getHealth() == ((LivingEntity) event.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue())) return; @@ -40,7 +40,7 @@ public class Supercritical extends EcoEnchant { if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sycophant.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sycophant.java index 565c6a63..05f798b3 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sycophant.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Sycophant.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,9 +28,9 @@ public class Sycophant extends EcoEnchant { if(!player.isBlocking()) return; int level; - if (!HasEnchant.playerOffhand(player, this) && !HasEnchant.playerHeld(player, this)) return; - if(HasEnchant.playerOffhand(player, this)) level = HasEnchant.getPlayerOffhandLevel(player, this); - else level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.offhand(player, this) && !EnchantChecks.mainhand(player, this)) return; + if(EnchantChecks.offhand(player, this)) level = EnchantChecks.getOffhandLevel(player, this); + else level = EnchantChecks.getMainhandLevel(player, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tectonic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tectonic.java index 90c719ef..94fc3a93 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tectonic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tectonic.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -31,10 +31,10 @@ public class Tectonic extends EcoEnchant { if (!event.getCause().equals(EntityDamageEvent.DamageCause.FALL)) return; - if (!HasEnchant.playerBoots(player, this)) return; + if (!EnchantChecks.boots(player, this)) return; - int radius = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-radius") + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius") * HasEnchant.getPlayerBootsLevel(player, this) - 1); - int damage = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-damage") + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-damage") * HasEnchant.getPlayerBootsLevel(player, this) - 1); + int radius = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-radius") + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius") * EnchantChecks.getBootsLevel(player, this) - 1); + int damage = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-damage") + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-damage") * EnchantChecks.getBootsLevel(player, this) - 1); Collection entities = player.getWorld().getNearbyEntities(player.getLocation(), radius, 2, radius); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java index 711ba4a5..104d9d83 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java @@ -3,12 +3,12 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.events.entitydeathbyentity.EntityDeathByEntityEvent; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; import com.willfp.ecoenchants.queue.DropQueue; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.block.Block; @@ -39,7 +39,7 @@ public class Telekinesis extends EcoEnchant { public void telekinesisDropItem(BlockDropItemEvent event) { Player player = event.getPlayer(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; @@ -67,7 +67,7 @@ public class Telekinesis extends EcoEnchant { Player player = event.getPlayer(); Block block = event.getBlock(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) return; @@ -113,7 +113,7 @@ public class Telekinesis extends EcoEnchant { if(player == null || item == null) return; - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; int xp = event.getDroppedExp(); Collection drops = event.getDrops(); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thor.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thor.java index 0a91274a..8d5946d1 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thor.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thor.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Lightning; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; @@ -37,12 +37,12 @@ public class Thor extends EcoEnchant { if(!AntigriefManager.canInjure(player, (Player) event.getEntity())) return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thrive.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thrive.java index c6fed48a..0ff28492 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thrive.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Thrive.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.events.armorequip.ArmorEquipEvent; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -28,8 +28,8 @@ public class Thrive extends EcoEnchant { new BukkitRunnable() { public void run() { - int totalProsperityPoints = HasEnchant.getArmorPoints(player, EcoEnchants.PROSPERITY, false); - int totalThrivePoints = HasEnchant.getArmorPoints(player, EcoEnchants.THRIVE, false); + int totalProsperityPoints = EnchantChecks.getArmorPoints(player, EcoEnchants.PROSPERITY, 0); + int totalThrivePoints = EnchantChecks.getArmorPoints(player, EcoEnchants.THRIVE, 0); if (totalThrivePoints == 0 && totalProsperityPoints == 0) { player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue()); return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tornado.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tornado.java index 889d2b1e..2337fc9b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tornado.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tornado.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -39,9 +39,9 @@ public class Tornado extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double baseVelocity = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-per-level"); double yVelocity = baseVelocity * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Toxic.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Toxic.java index 0c8c3216..67d5c422 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Toxic.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Toxic.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -37,12 +37,12 @@ public class Toxic extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java index 5c45f366..26ec3ca9 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.Arrow; @@ -32,7 +32,7 @@ public class Tripleshot extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; for (int i = -1; i < 2; i += 2) { @@ -42,7 +42,7 @@ public class Tripleshot extends EcoEnchant { velocity.rotateAroundY(radians); Arrow arrow = player.launchProjectile(Arrow.class, velocity); - if(HasEnchant.playerHeld(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); + if(EnchantChecks.mainhand(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); arrow.setPickupStatus(AbstractArrow.PickupStatus.DISALLOWED); } } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/VampireAspect.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/VampireAspect.java index 31a8ba02..67bda1ab 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/VampireAspect.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/VampireAspect.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -37,12 +37,12 @@ public class VampireAspect extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Vein.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Vein.java index 5c1318ce..9d937639 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Vein.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Vein.java @@ -4,11 +4,11 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.anticheat.AnticheatManager; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.BlockBreak; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.RecursiveBlock; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -40,7 +40,7 @@ public class Vein extends EcoEnchant { return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (event.isCancelled()) return; @@ -56,7 +56,7 @@ public class Vein extends EcoEnchant { return; int blocksPerLevel = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "blocks-per-level"); - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int limit = level * blocksPerLevel; Set blockSet = RecursiveBlock.getVein(block, materials, limit); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Venom.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Venom.java index 3b10fa5f..ab92a9b8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Venom.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Venom.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -33,16 +33,16 @@ public class Venom extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; if(event.isCancelled()) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAffinity.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAffinity.java index 95e50ab1..0ac81b32 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAffinity.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAffinity.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Material; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -28,12 +28,12 @@ public class WaterAffinity extends EcoEnchant { Player player = (Player) event.getDamager(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if(!player.getLocation().getBlock().getType().equals(Material.WATER)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAspect.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAspect.java index b91848b7..9eac87e8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAspect.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/WaterAspect.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; @@ -29,8 +29,8 @@ public class WaterAspect extends EcoEnchant { if(!(victim instanceof Blaze || victim instanceof MagmaCube || victim instanceof Enderman)) return; - if (!HasEnchant.playerHeld(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + if (!EnchantChecks.mainhand(player, this)) return; + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Weakening.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Weakening.java index cbfae7a5..289881b8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Weakening.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Weakening.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -38,9 +38,9 @@ public class Weakening extends EcoEnchant { if (!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int ticksPerLevel = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "ticks-per-level"); int ticks = ticksPerLevel * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wisdom.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wisdom.java index 4b5d39e8..1407fe99 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wisdom.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wisdom.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.events.naturalexpgainevent.NaturalExpGainEvent; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; public class Wisdom extends EcoEnchant { @@ -23,9 +23,9 @@ public class Wisdom extends EcoEnchant { if(event.getExpChangeEvent().getAmount() < 0) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); event.getExpChangeEvent().setAmount((int) Math.ceil(event.getExpChangeEvent().getAmount() * (1 + (level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-point"))))); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wound.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wound.java index 51eca8a0..98992dbc 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wound.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Wound.java @@ -4,10 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; -import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; @@ -39,14 +38,14 @@ public class Wound extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Zeus.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Zeus.java index 27f9e434..30a39071 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Zeus.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Zeus.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Lightning; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Arrow; @@ -32,14 +32,14 @@ public class Zeus extends EcoEnchant { return; Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - + Arrow arrow = (Arrow) event.getDamager(); LivingEntity victim = (LivingEntity) event.getEntity(); if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Aiming.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Aiming.java index a6f9a3e1..a03ac58c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Aiming.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Aiming.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.util.EqualIfOver; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.entity.Arrow; @@ -44,9 +44,9 @@ public class Aiming extends EcoEnchant { Player player = (Player) event.getEntity().getShooter(); Arrow arrow = (Arrow) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "distance-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Annihilate.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Annihilate.java index 7362bb98..8b4571e5 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Annihilate.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Annihilate.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -37,9 +37,9 @@ public class Annihilate extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double baseMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "velocity-multiplier"); Vector vector = player.getLocation().toVector().clone().subtract(victim.getLocation().toVector()).normalize().multiply(level * baseMultiplier).multiply(-1); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bladed.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bladed.java index 3dcb280c..27ef6b52 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bladed.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bladed.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.nms.TridentStack; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Trident; @@ -40,9 +40,9 @@ public class Bladed extends EcoEnchant { ItemStack item = TridentStack.getTridentStack(trident); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - int level = HasEnchant.getItemLevel(item, this); + int level = EnchantChecks.getItemLevel(item, this); double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-base"); double perLevelDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-more-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bolt.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bolt.java index f8bf64bb..b2d1186f 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bolt.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Bolt.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Lightning; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.LivingEntity; @@ -35,12 +35,12 @@ public class Bolt extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Carve.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Carve.java index 67db1d2b..4de7fa5e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Carve.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Carve.java @@ -4,10 +4,10 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Bukkit; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -39,12 +39,12 @@ public class Carve extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damagePerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-percentage-per-level") * 0.01; double radiusPerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "radius-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Confusion.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Confusion.java index 4300221e..5dc99bd8 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Confusion.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Confusion.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -38,12 +38,12 @@ public class Confusion extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double chance = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level"); if (Rand.randFloat(0, 1) > level * 0.01 * chance) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Energizing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Energizing.java index 229387e0..79b5ff3d 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Energizing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Energizing.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.block.BlockBreakEvent; @@ -25,9 +25,9 @@ public class Energizing extends EcoEnchant { if(event.isCancelled()) return; Player player = event.getPlayer(); if(!AntigriefManager.canBreakBlock(player, event.getBlock())) return; - if(!HasEnchant.playerHeld(player, this)) return; + if(!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int duration = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "ticks-per-level") * level; int amplifier = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-level") + (level - 2); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Force.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Force.java index 97441a6a..13d8a757 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Force.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Force.java @@ -1,19 +1,14 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; -import com.comphenix.protocol.PacketType; -import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; -import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.ProjectileLaunchEvent; -import org.bukkit.metadata.FixedMetadataValue; public class Force extends EcoEnchant { public Force() { @@ -32,12 +27,13 @@ public class Force extends EcoEnchant { if(!(((Arrow) event.getDamager()).getShooter() instanceof Player)) return; + Arrow arrow = (Arrow) event.getDamager(); Player player = (Player) ((Arrow) event.getDamager()).getShooter(); - if(!HasEnchant.playerHeld(player, this)) + if(!EnchantChecks.arrow(arrow, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getArrowLevel(arrow, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Frenzy.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Frenzy.java index 5737bf05..6794fb58 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Frenzy.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Frenzy.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDeathEvent; @@ -26,9 +26,9 @@ public class Frenzy extends EcoEnchant { Player player = event.getEntity().getKiller(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); int duration = (int) (level * 20 * this.getConfig().getDouble((EcoEnchants.CONFIG_LOCATION + "seconds-per-level"))); int amplifier = level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Harpoon.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Harpoon.java index b04ea8ab..ebb9961f 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Harpoon.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Harpoon.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -35,9 +35,9 @@ public class Harpoon extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damagePerLevel = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-per-level"); double damage = damagePerLevel * level; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Indestructibility.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Indestructibility.java index d49b86c8..65ce3795 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Indestructibility.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Indestructibility.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerItemDamageEvent; @@ -22,9 +22,9 @@ public class Indestructibility extends EcoEnchant { public void onItemDamage(PlayerItemDamageEvent event) { ItemStack item = event.getItem(); - if (!HasEnchant.item(item, this)) return; + if (!EnchantChecks.item(item, this)) return; - double level = HasEnchant.getItemLevel(item, this); + double level = EnchantChecks.getItemLevel(item, this); double levelbonus = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "level-bonus"); if(Rand.randFloat(0, 1) < (100/ (level + (1 + levelbonus))/100)) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Instability.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Instability.java index 74998879..92d300f0 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Instability.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Instability.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Arrow; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -30,11 +30,11 @@ public class Instability extends EcoEnchant { Player player = (Player) event.getEntity().getShooter(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (!(event.getEntity() instanceof Arrow)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); boolean fire = this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "fire"); boolean breakblocks = this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "break-blocks"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Intellect.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Intellect.java index 6554acc1..18bbf81e 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Intellect.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Intellect.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.events.naturalexpgainevent.NaturalExpGainEvent; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; public class Intellect extends EcoEnchant { @@ -23,9 +23,9 @@ public class Intellect extends EcoEnchant { if(event.getExpChangeEvent().getAmount() < 0) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); event.getExpChangeEvent().setAmount((int) Math.ceil(event.getExpChangeEvent().getAmount() * (1 + (level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "bonus-per-point"))))); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/LifeSteal.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/LifeSteal.java index 79a408ed..b5787a09 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/LifeSteal.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/LifeSteal.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.attribute.Attribute; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -37,9 +37,9 @@ public class LifeSteal extends EcoEnchant { if(!AntigriefManager.canInjure(player, (Player) event.getEntity())) return; } - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double damage = event.getDamage(); double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java index 7ab9aa91..10eaaf23 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.Arrow; @@ -32,7 +32,7 @@ public class Pentashot extends EcoEnchant { Player player = (Player) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; for (int i = -2; i <= 2; i += 1) { if(i == 0) continue; @@ -43,7 +43,7 @@ public class Pentashot extends EcoEnchant { velocity.rotateAroundY(radians); Arrow arrow = player.launchProjectile(Arrow.class, velocity); - if(HasEnchant.playerHeld(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); + if(EnchantChecks.mainhand(player, Enchantment.ARROW_FIRE)) arrow.setFireTicks(Integer.MAX_VALUE); arrow.setPickupStatus(AbstractArrow.PickupStatus.DISALLOWED); } } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Preservation.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Preservation.java index fdc5403e..be801931 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Preservation.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Preservation.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageEvent; @@ -26,7 +26,7 @@ public class Preservation extends EcoEnchant { Player player = (Player) event.getEntity(); - int totalPreservationPoints = HasEnchant.getArmorPoints(player, this, true); + int totalPreservationPoints = EnchantChecks.getArmorPoints(player, this, 1); if (totalPreservationPoints == 0) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Razor.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Razor.java index af273824..7eb20eff 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Razor.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Razor.java @@ -3,9 +3,9 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -30,9 +30,9 @@ public class Razor extends EcoEnchant { LivingEntity victim = (LivingEntity) event.getEntity(); - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); double perLevelMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "per-level-multiplier"); double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "base-damage"); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Repairing.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Repairing.java index b0dd06e5..2dffc924 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Repairing.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Repairing.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; import com.willfp.ecoenchants.enchantments.EcoRunnable; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.ItemDurability; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Repairable; @@ -22,11 +22,11 @@ public class Repairing extends EcoEnchant implements EcoRunnable { @Override public void run() { EcoEnchantsPlugin.getInstance().getServer().getOnlinePlayers().parallelStream().forEach((player -> { - if(Arrays.stream(player.getInventory().getContents()).parallel().noneMatch(item2 -> HasEnchant.item(item2, EcoEnchants.REPAIRING))) + if(Arrays.stream(player.getInventory().getContents()).parallel().noneMatch(item2 -> EnchantChecks.item(item2, EcoEnchants.REPAIRING))) return; for(ItemStack item : player.getInventory().getContents()) { - if(!HasEnchant.item(item, EcoEnchants.REPAIRING)) continue; + if(!EnchantChecks.item(item, EcoEnchants.REPAIRING)) continue; if(!(item.getItemMeta() instanceof Repairable)) continue; @@ -35,7 +35,7 @@ public class Repairing extends EcoEnchant implements EcoRunnable { if(player.getItemOnCursor().equals(item)) continue; - int level = HasEnchant.getItemLevel(item, EcoEnchants.REPAIRING); + int level = EnchantChecks.getItemLevel(item, EcoEnchants.REPAIRING); int multiplier = EcoEnchants.REPAIRING.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "multiplier"); int repairAmount = level * multiplier; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Spring.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Spring.java index 7d449baf..c75bb68c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Spring.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Spring.java @@ -3,8 +3,8 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.google.common.collect.Sets; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -29,7 +29,7 @@ public class Spring extends EcoEnchant { if (!(event.getEntity() instanceof Player)) return; Player player = (Player) event.getEntity(); - if (!HasEnchant.playerBoots(player, this)) return; + if (!EnchantChecks.boots(player, this)) return; if (event.getCause() == EntityDamageEvent.DamageCause.FALL) { event.setCancelled(true); @@ -50,9 +50,9 @@ public class Spring extends EcoEnchant { jumpVelocity = Float.parseFloat(df.format(jumpVelocity).replace(',', '.')); if (e.getPlayer().getLocation().getBlock().getType() != Material.LADDER && prevPlayersOnGround.contains(player.getUniqueId())) { if (!player.isOnGround() && Float.compare((float) player.getVelocity().getY(), jumpVelocity) == 0) { - if (!HasEnchant.playerBoots(player, this)) return; + if (!EnchantChecks.boots(player, this)) return; - double multiplier = 0.5 + (double) ((HasEnchant.getPlayerBootsLevel(player, this) * HasEnchant.getPlayerBootsLevel(player, this)) / 4 - 0.2) / 3; + double multiplier = 0.5 + (double) ((EnchantChecks.getBootsLevel(player, this) * EnchantChecks.getBootsLevel(player, this)) / 4 - 0.2) / 3; player.setVelocity(player.getLocation().getDirection().multiply(multiplier).setY(multiplier)); } } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Streamlining.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Streamlining.java index d729841f..5bcca8f4 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Streamlining.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Streamlining.java @@ -4,9 +4,9 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.events.armorequip.ArmorEquipEvent; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.scheduler.BukkitRunnable; @@ -25,12 +25,12 @@ public class Streamlining extends EcoEnchant { new BukkitRunnable() { public void run() { - if (!HasEnchant.playerBoots(player, EcoEnchants.STREAMLINING)) { + if (!EnchantChecks.boots(player, EcoEnchants.STREAMLINING)) { player.setWalkSpeed(0.2f); return; } - int level = HasEnchant.getPlayerBootsLevel(player, EcoEnchants.STREAMLINING); + int level = EnchantChecks.getBootsLevel(player, EcoEnchants.STREAMLINING); double speed; player.setWalkSpeed((float) (0.2 + (level * EcoEnchants.STREAMLINING.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "speed-per-level")))); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Volatile.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Volatile.java index e62df247..0e3abb71 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Volatile.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Volatile.java @@ -3,10 +3,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder; import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.integrations.antigrief.AntigriefManager; import com.willfp.ecoenchants.nms.Cooldown; import com.willfp.ecoenchants.nms.Target; -import com.willfp.ecoenchants.util.HasEnchant; import com.willfp.ecoenchants.util.Rand; import org.bukkit.Location; import org.bukkit.entity.LivingEntity; @@ -35,12 +35,12 @@ public class Volatile extends EcoEnchant { if(!AntigriefManager.canInjure(player, victim)) return; - if (!HasEnchant.playerHeld(player, this)) return; + if (!EnchantChecks.mainhand(player, this)) return; if (Cooldown.getCooldown(player) != 1.0f && !this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "allow-not-fully-charged")) return; - int level = HasEnchant.getPlayerLevel(player, this); + int level = EnchantChecks.getMainhandLevel(player, this); if (Rand.randFloat(0, 1) > level * 0.01 * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "chance-per-level")) return; diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java index 1601be5b..e1402a9b 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java @@ -14,6 +14,7 @@ import com.willfp.ecoenchants.display.EnchantDisplay; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.EnchantmentRarity; +import com.willfp.ecoenchants.enchantments.checks.ArrowListeners; import com.willfp.ecoenchants.events.armorequip.ArmorListener; import com.willfp.ecoenchants.events.armorequip.DispenserArmorListener; import com.willfp.ecoenchants.events.entitydeathbyentity.EntityDeathByEntityListeners; @@ -240,6 +241,7 @@ public class Loader { Bukkit.getPluginManager().registerEvents(new EntityDeathByEntityListeners(), EcoEnchantsPlugin.getInstance()); Bukkit.getPluginManager().registerEvents(new NaturalExpGainListeners(), EcoEnchantsPlugin.getInstance()); Bukkit.getPluginManager().registerEvents(new VillagerListeners(), EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(new ArrowListeners(), EcoEnchantsPlugin.getInstance()); Bukkit.getLogger().info(""); /* diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/queue/DropQueue.java b/Plugin/src/main/java/com/willfp/ecoenchants/queue/DropQueue.java index dc60a348..c1c62093 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/queue/DropQueue.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/queue/DropQueue.java @@ -1,7 +1,7 @@ package com.willfp.ecoenchants.queue; import com.willfp.ecoenchants.enchantments.EcoEnchants; -import com.willfp.ecoenchants.util.HasEnchant; +import com.willfp.ecoenchants.enchantments.checks.EnchantChecks; import com.willfp.ecoenchants.util.Rand; import org.bukkit.*; import org.bukkit.entity.EntityType; @@ -102,7 +102,7 @@ public class DropQueue { * Push the queue */ public void push() { - if(!hasTelekinesis) hasTelekinesis = HasEnchant.item(item, EcoEnchants.TELEKINESIS); + if(!hasTelekinesis) hasTelekinesis = EnchantChecks.item(item, EcoEnchants.TELEKINESIS); World world = loc.getWorld(); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/util/HasEnchant.java b/Plugin/src/main/java/com/willfp/ecoenchants/util/HasEnchant.java deleted file mode 100644 index 7f6be81a..00000000 --- a/Plugin/src/main/java/com/willfp/ecoenchants/util/HasEnchant.java +++ /dev/null @@ -1,266 +0,0 @@ -package com.willfp.ecoenchants.util; - -import com.willfp.ecoenchants.nms.Target; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Horse; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Objects; - -public class HasEnchant { - - /** - * If player is holding item with Enchantment - * @param player The player - * @param enchant The Enchantment to test - * @return If the player is holding the item - */ - public static boolean playerHeld(Player player, Enchantment enchant) { - if (player == null) - return false; - - if (player.getInventory().getItemInMainHand() == null) - return false; - - if (!player.getInventory().getItemInMainHand().hasItemMeta()) - return false; - - return Objects.requireNonNull(player.getInventory().getItemInMainHand().getItemMeta()).hasEnchant(enchant); - } - - /** - * If horse has enchantment on armor - * @param horse The horse - * @param enchant The Enchantment to test - * @return If the player is holding the item - */ - public static boolean horseArmor(Horse horse, Enchantment enchant) { - if (horse == null) - return false; - - if (horse.getInventory().getArmor() == null) - return false; - - if (!horse.getInventory().getArmor().hasItemMeta()) - return false; - - return Objects.requireNonNull(horse.getInventory().getArmor().getItemMeta()).hasEnchant(enchant); - } - - /** - * If player is holding item in offhand with Enchantment - * @param player The player - * @param enchant The Enchantment to test - * @return If the player is holding the item in offhand - */ - public static boolean playerOffhand(Player player, Enchantment enchant) { - if (player == null) - return false; - - if (player.getInventory().getItemInOffHand() == null) - return false; - - if (!player.getInventory().getItemInOffHand().hasItemMeta()) - return false; - - return Objects.requireNonNull(player.getInventory().getItemInOffHand().getItemMeta()).hasEnchant(enchant); - } - - /** - * If player has helmet with Enchantment - * @param player The player - * @param enchant The Enchantment to test - * @return If the player has the enchantment on their helmet - */ - public static boolean playerHelmet(Player player, Enchantment enchant) { - if (player == null) - return false; - - if (player.getInventory().getHelmet() == null) - return false; - - if (!player.getInventory().getHelmet().hasItemMeta()) - return false; - - return Objects.requireNonNull(player.getInventory().getHelmet().getItemMeta()).hasEnchant(enchant); - } - - /** - * If player has boots with Enchantment - * @param player The player - * @param enchant The Enchantment to test - * @return If the player has the enchantment on their boots - */ - public static boolean playerBoots(Player player, Enchantment enchant) { - if (player == null) - return false; - - if (player.getInventory().getBoots() == null) - return false; - - if (!player.getInventory().getBoots().hasItemMeta()) - return false; - - return Objects.requireNonNull(player.getInventory().getBoots().getItemMeta()).hasEnchant(enchant); - } - - /** - * If player has elytra with Enchantment - * @param player The player - * @param enchant The Enchantment to test - * @return If the player has the enchantment on their elytra - */ - public static boolean playerElytra(Player player, Enchantment enchant) { - if (player == null) - return false; - - if (player.getInventory().getChestplate() == null) - return false; - - if (!Target.Applicable.ELYTRA.getMaterials().contains(player.getInventory().getChestplate().getType())) - return false; - - if (!player.getInventory().getChestplate().hasItemMeta()) - return false; - - return Objects.requireNonNull(player.getInventory().getChestplate().getItemMeta()).hasEnchant(enchant); - } - - /** - * If item has Enchantment - * @param item The item - * @param enchant The Enchantment to test - * @return If item has Enchantment - */ - public static boolean item(ItemStack item, Enchantment enchant) { - - if (item == null) - return false; - - if (!item.hasItemMeta()) - return false; - - if (item.getItemMeta() == null) - return false; - - return item.getItemMeta().hasEnchant(enchant); - } - - /** - * Get level of player held item - * @param player The player - * @param enchant The Enchantment to test - * @return The level - */ - public static int getPlayerLevel(Player player, Enchantment enchant) { - return player.getInventory().getItemInMainHand().getEnchantmentLevel(enchant); - } - - /** - * Get level of horse armor - * @param horse The horse - * @param enchant The Enchantment to test - * @return The level - */ - public static int getHorseLevel(Horse horse, Enchantment enchant) { - return Objects.requireNonNull(horse.getInventory().getArmor()).getEnchantmentLevel(enchant); - } - - /** - * Get level of player held item in offhand - * @param player The player - * @param enchant The Enchantment to test - * @return The level - */ - public static int getPlayerOffhandLevel(Player player, Enchantment enchant) { - return player.getInventory().getItemInOffHand().getEnchantmentLevel(enchant); - } - - /** - * Get level of player boots - * @param player The player - * @param enchant The Enchantment to test - * @return The level - */ - public static int getPlayerBootsLevel(Player player, Enchantment enchant) { - assert player.getInventory().getBoots() != null; - return player.getInventory().getBoots().getEnchantmentLevel(enchant); - } - - /** - * Get level of player helmet - * @param player The player - * @param enchant The Enchantment to test - * @return The level - */ - public static int getPlayerHelmetLevel(Player player, Enchantment enchant) { - assert player.getInventory().getHelmet() != null; - return player.getInventory().getHelmet().getEnchantmentLevel(enchant); - } - - /** - * Get level of player chestplate/elytra - * @param player The player - * @param enchant The Enchantment to test - * @return The level - */ - public static int getPlayerChestplateLevel(Player player, Enchantment enchant) { - assert player.getInventory().getChestplate() != null; - return player.getInventory().getChestplate().getEnchantmentLevel(enchant); - } - - /** - * Get level of item - * @param item The item - * @param enchant The Enchantment to test - * @return The level - */ - public static int getItemLevel(ItemStack item, Enchantment enchant) { - assert item.getItemMeta() != null; - return item.getItemMeta().getEnchantLevel(enchant); - } - - /** - * Get total levels of player armor - * @param player The player - * @param enchant The Enchantment to test - * @param damage Damage the armor - * @return The total levels - */ - public static int getArmorPoints(Player player, Enchantment enchant, boolean damage) { - ArrayList armor = new ArrayList(Arrays.asList(player.getInventory().getArmorContents())); - if (armor.isEmpty()) - return 0; - - - int points = 0; - - for (ItemStack armorPiece : armor) { - if (armorPiece == null) - continue; - if (armorPiece.containsEnchantment(enchant)) { - points += armorPiece.getEnchantmentLevel(enchant); - - if (damage) { - if (Target.Applicable.HELMET.getMaterials().contains(armorPiece.getType())) { - ItemDurability.damageItem(player, player.getInventory().getHelmet(), 1, 39); - } - if (Target.Applicable.CHESTPLATE.getMaterials().contains(armorPiece.getType())) { - ItemDurability.damageItem(player, player.getInventory().getChestplate(), 1, 38); - } - if (Target.Applicable.LEGGINGS.getMaterials().contains(armorPiece.getType())) { - ItemDurability.damageItem(player, player.getInventory().getLeggings(), 1, 37); - } - if (Target.Applicable.BOOTS.getMaterials().contains(armorPiece.getType())) { - ItemDurability.damageItem(player, player.getInventory().getBoots(), 1, 36); - } - } - } - } - - return points; - } -}