mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-02-02 11:21:20 +01:00
!Update RDW compatibility
This commit is contained in:
parent
4f1913fa24
commit
e559741d5b
@ -22,13 +22,19 @@ public class RealDualWieldHook implements Listener {
|
||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||
public void a(PlayerDamageEntityWithOffhandEvent event) {
|
||||
|
||||
// check for npc
|
||||
// safety checks
|
||||
if (event.getEntity().hasMetadata("NPC") || !(event.getEntity() instanceof LivingEntity) || event.getDamage() == 0)
|
||||
/*
|
||||
* Citizens and Sentinels NPC support; damage = 0 check to ignore safety
|
||||
* checks; check for entity attack
|
||||
*/
|
||||
if (event.getDamage() == 0 || !(event.getEntity() instanceof LivingEntity) || event.getEntity().hasMetadata("NPC"))
|
||||
return;
|
||||
|
||||
// custom damage check
|
||||
LivingEntity target = (LivingEntity) event.getEntity();
|
||||
Player player = (Player) event.getPlayer();
|
||||
if (MMOItems.plugin.getDamage().findInfo(target) != null)
|
||||
return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
TemporaryStats stats = null;
|
||||
|
||||
/*
|
||||
@ -36,8 +42,10 @@ public class RealDualWieldHook implements Listener {
|
||||
* be cancelled before anything is applied
|
||||
*/
|
||||
PlayerData playerData = PlayerData.get(player);
|
||||
NBTItem item = MMOItems.plugin.getNMS().getNBTItem(event.getItemInOffhand());
|
||||
NBTItem item = MMOItems.plugin.getNMS().getNBTItem(player.getInventory().getItemInMainHand());
|
||||
NBTItem offhandItem = MMOItems.plugin.getNMS().getNBTItem(player.getInventory().getItemInOffHand());
|
||||
AttackResult result = new AttackResult(event.getDamage(), DamageType.WEAPON, DamageType.PHYSICAL);
|
||||
|
||||
if (item.hasType()) {
|
||||
Weapon weapon = new Weapon(playerData, item, item.getType());
|
||||
|
||||
@ -57,6 +65,19 @@ public class RealDualWieldHook implements Listener {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (offhandItem.hasType()) {
|
||||
Weapon weapon = new Weapon(playerData, offhandItem, offhandItem.getType());
|
||||
|
||||
if (weapon.getMMOItem().getType().getItemSet() == TypeSet.RANGE) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!weapon.canBeUsed()) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* cast on-hit abilities and add the extra damage to the damage event
|
||||
|
Loading…
Reference in New Issue
Block a user