mirror of
https://github.com/YouHaveTrouble/Enchantio.git
synced 2026-05-12 06:06:55 +00:00
change the way main hand item is resolved
This commit is contained in:
@@ -11,13 +11,13 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.Registry;
|
import org.bukkit.Registry;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityDeathEvent;
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
import org.bukkit.inventory.EntityEquipment;
|
import org.bukkit.inventory.EntityEquipment;
|
||||||
import org.bukkit.inventory.InventoryHolder;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.SkullMeta;
|
import org.bukkit.inventory.meta.SkullMeta;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -37,14 +37,13 @@ public class BeheadingListener implements Listener {
|
|||||||
if (beheading == null) return;
|
if (beheading == null) return;
|
||||||
EnchantioEnchant enchant = EnchantioConfig.ENCHANTS.get(BeheadingEnchant.KEY);
|
EnchantioEnchant enchant = EnchantioConfig.ENCHANTS.get(BeheadingEnchant.KEY);
|
||||||
if (!(enchant instanceof BeheadingEnchant beheadingEnchant)) return;
|
if (!(enchant instanceof BeheadingEnchant beheadingEnchant)) return;
|
||||||
if (event.getEntity().getKiller() == null) return;
|
|
||||||
if (event.getDamageSource().isIndirect()) return;
|
if (event.getDamageSource().isIndirect()) return;
|
||||||
Entity killer = event.getDamageSource().getCausingEntity();
|
Entity killer = event.getDamageSource().getCausingEntity();
|
||||||
if (killer == null) return;
|
if (killer == null) return;
|
||||||
if (!(killer instanceof InventoryHolder inventoryHolder)) return;
|
if (!(killer instanceof LivingEntity killerEntity)) return;
|
||||||
if (!(inventoryHolder.getInventory() instanceof EntityEquipment entityEquipment)) return;
|
EntityEquipment killerEquipment = killerEntity.getEquipment();
|
||||||
|
if (killerEquipment == null) return;
|
||||||
ItemStack weapon = entityEquipment.getItemInMainHand();
|
ItemStack weapon = killerEquipment.getItemInMainHand();
|
||||||
|
|
||||||
if (!weapon.containsEnchantment(beheading)) return;
|
if (!weapon.containsEnchantment(beheading)) return;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import org.bukkit.event.EventPriority;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.inventory.EntityEquipment;
|
import org.bukkit.inventory.EntityEquipment;
|
||||||
import org.bukkit.inventory.InventoryHolder;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
@@ -34,10 +33,11 @@ public class ExecutionerListener implements Listener {
|
|||||||
Entity damager = event.getDamageSource().getCausingEntity();
|
Entity damager = event.getDamageSource().getCausingEntity();
|
||||||
if (damager == null) return;
|
if (damager == null) return;
|
||||||
if (!damager.equals(event.getDamageSource().getDirectEntity())) return;
|
if (!damager.equals(event.getDamageSource().getDirectEntity())) return;
|
||||||
if (!(damager instanceof InventoryHolder inventoryHolder)) return;
|
if (!(damager instanceof LivingEntity damagerEntity)) return;
|
||||||
if (!(inventoryHolder.getInventory() instanceof EntityEquipment entityEquipment)) return;
|
|
||||||
|
|
||||||
ItemStack attackingItem = entityEquipment.getItemInMainHand();
|
EntityEquipment damagerEquipment = damagerEntity.getEquipment();
|
||||||
|
if (damagerEquipment == null) return;
|
||||||
|
ItemStack attackingItem = damagerEquipment.getItemInMainHand();
|
||||||
|
|
||||||
if (!attackingItem.containsEnchantment(executioner)) return;
|
if (!attackingItem.containsEnchantment(executioner)) return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user