diff --git a/src/main/java/net/Indyuce/mmocore/api/item/ConfigItem.java b/src/main/java/net/Indyuce/mmocore/api/item/ConfigItem.java index 737ce742..1f3a2977 100644 --- a/src/main/java/net/Indyuce/mmocore/api/item/ConfigItem.java +++ b/src/main/java/net/Indyuce/mmocore/api/item/ConfigItem.java @@ -22,8 +22,8 @@ import com.mojang.authlib.properties.Property; import net.Indyuce.mmocore.MMOCore; import net.mmogroup.mmolib.MMOLib; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; import net.mmogroup.mmolib.version.VersionMaterial; public class ConfigItem { diff --git a/src/main/java/net/Indyuce/mmocore/api/item/CurrencyItem.java b/src/main/java/net/Indyuce/mmocore/api/item/CurrencyItem.java index 3ac797d9..5b250b1c 100644 --- a/src/main/java/net/Indyuce/mmocore/api/item/CurrencyItem.java +++ b/src/main/java/net/Indyuce/mmocore/api/item/CurrencyItem.java @@ -8,8 +8,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import net.mmogroup.mmolib.MMOLib; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class CurrencyItem extends ConfigItem { private final int worth, amount; diff --git a/src/main/java/net/Indyuce/mmocore/api/skill/TargetSkillResult.java b/src/main/java/net/Indyuce/mmocore/api/skill/TargetSkillResult.java index d87967b9..840b234d 100644 --- a/src/main/java/net/Indyuce/mmocore/api/skill/TargetSkillResult.java +++ b/src/main/java/net/Indyuce/mmocore/api/skill/TargetSkillResult.java @@ -2,6 +2,7 @@ package net.Indyuce.mmocore.api.skill; import org.bukkit.entity.LivingEntity; +import net.Indyuce.mmocore.MMOCoreUtils; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.skill.Skill.SkillInfo; import net.mmogroup.mmolib.MMOLib; @@ -14,7 +15,7 @@ public class TargetSkillResult extends SkillResult { super(data, skill); if (isSuccessful()) { - MMORayTraceResult result = MMOLib.plugin.getVersion().getWrapper().rayTrace(data.getPlayer(), data.getPlayer().getEyeLocation().getDirection(), range); + MMORayTraceResult result = MMOLib.plugin.getVersion().getWrapper().rayTrace(data.getPlayer(), data.getPlayer().getEyeLocation().getDirection(), range, entity -> MMOCoreUtils.canTarget(data.getPlayer(), entity)); if (result == null) abort(CancelReason.OTHER); else diff --git a/src/main/java/net/Indyuce/mmocore/command/rpg/booster/ListCommandMap.java b/src/main/java/net/Indyuce/mmocore/command/rpg/booster/ListCommandMap.java index 76812b50..251ec59b 100644 --- a/src/main/java/net/Indyuce/mmocore/command/rpg/booster/ListCommandMap.java +++ b/src/main/java/net/Indyuce/mmocore/command/rpg/booster/ListCommandMap.java @@ -24,7 +24,7 @@ public class ListCommandMap extends CommandEnd { sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------"); for (Booster booster : MMOCore.plugin.boosterManager.getBoosters()) if (!booster.isTimedOut()) - MMOLib.plugin.getNMS().sendJson((Player) sender, "{\"text\":\"" + ChatColor.YELLOW + "- " + ChatColor.GOLD + MMOCore.plugin.configManager.decimal.format((1 + booster.getExtra())) + "x" + ChatColor.YELLOW + " Booster - " + ChatColor.GOLD + (!booster.hasProfession() ? "Main" : booster.getProfession().getName()) + ChatColor.YELLOW + " - " + ChatColor.GOLD + new DelayFormat().format(booster.getCreationDate() + booster.getLength() - System.currentTimeMillis()) + "\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/mmocore booster remove " + booster.getUniqueId().toString() + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"Click to remove.\"}}}"); + MMOLib.plugin.getNMS().sendJson((Player) sender, "{\"text\":\"" + ChatColor.YELLOW + "- " + ChatColor.GOLD + MMOCore.plugin.configManager.decimal.format((1 + booster.getExtra())) + "x" + ChatColor.YELLOW + " Booster - " + ChatColor.GOLD + (!booster.hasProfession() ? "ExploreAttributesCommand" : booster.getProfession().getName()) + ChatColor.YELLOW + " - " + ChatColor.GOLD + new DelayFormat().format(booster.getCreationDate() + booster.getLength() - System.currentTimeMillis()) + "\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/mmocore booster remove " + booster.getUniqueId().toString() + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"Click to remove.\"}}}"); sender.sendMessage(ChatColor.YELLOW + "----------------------------------------------------"); return CommandResult.SUCCESS; diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/Lootsplosion.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/Lootsplosion.java index 483ce1fd..6d2a71e6 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/Lootsplosion.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/Lootsplosion.java @@ -17,7 +17,7 @@ import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.ItemTier; import net.mmogroup.mmolib.MMOLib; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.NBTItem; public class Lootsplosion implements Listener { private static final Random random = new Random(); diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java index be87c715..7ed8bb83 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java @@ -15,8 +15,8 @@ import io.lumine.xikage.mythicmobs.io.MythicLineConfig; import net.Indyuce.mmocore.MMOCoreUtils; import net.Indyuce.mmocore.api.item.ConfigItem; import net.Indyuce.mmocore.api.item.CurrencyItem; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class GoldPouchDrop extends Drop implements IMultiDrop { private int min, max; diff --git a/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java b/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java index cd67f1f4..f2251203 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java +++ b/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java @@ -24,8 +24,8 @@ import net.Indyuce.mmocore.gui.api.GeneratedInventory; import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.manager.InventoryManager; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class ClassSelect extends EditableInventory { public ClassSelect() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/QuestViewer.java b/src/main/java/net/Indyuce/mmocore/gui/QuestViewer.java index a41a2411..0575895a 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/QuestViewer.java +++ b/src/main/java/net/Indyuce/mmocore/gui/QuestViewer.java @@ -27,8 +27,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class QuestViewer extends EditableInventory { public QuestViewer() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/SkillList.java b/src/main/java/net/Indyuce/mmocore/gui/SkillList.java index 6e35fa49..ad3b783e 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/SkillList.java +++ b/src/main/java/net/Indyuce/mmocore/gui/SkillList.java @@ -27,8 +27,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class SkillList extends EditableInventory { public SkillList() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java b/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java index 20eb3b96..a0c8adf4 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java +++ b/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java @@ -21,8 +21,8 @@ import net.Indyuce.mmocore.gui.api.GeneratedInventory; import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.manager.InventoryManager; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class SubclassSelect extends EditableInventory { public SubclassSelect() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/WaypointViewer.java b/src/main/java/net/Indyuce/mmocore/gui/WaypointViewer.java index 86a92e85..5931f940 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/WaypointViewer.java +++ b/src/main/java/net/Indyuce/mmocore/gui/WaypointViewer.java @@ -19,8 +19,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class WaypointViewer extends EditableInventory { public WaypointViewer() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/eco/DepositMenu.java b/src/main/java/net/Indyuce/mmocore/gui/eco/DepositMenu.java index cd2d9a68..a1a8ebb1 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/eco/DepositMenu.java +++ b/src/main/java/net/Indyuce/mmocore/gui/eco/DepositMenu.java @@ -15,7 +15,7 @@ import net.Indyuce.mmocore.MMOCoreUtils; import net.Indyuce.mmocore.api.item.ConfigItem; import net.Indyuce.mmocore.api.item.SmartGive; import net.Indyuce.mmocore.gui.api.PluginInventory; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.NBTItem; public class DepositMenu extends PluginInventory { private ItemStack depositItem; diff --git a/src/main/java/net/Indyuce/mmocore/gui/eco/GoldPouch.java b/src/main/java/net/Indyuce/mmocore/gui/eco/GoldPouch.java index a8ddf6aa..0a664db3 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/eco/GoldPouch.java +++ b/src/main/java/net/Indyuce/mmocore/gui/eco/GoldPouch.java @@ -12,8 +12,8 @@ import org.bukkit.inventory.ItemStack; import net.Indyuce.mmocore.MMOCoreUtils; import net.Indyuce.mmocore.gui.api.PluginInventory; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class GoldPouch extends PluginInventory { private final boolean mob; diff --git a/src/main/java/net/Indyuce/mmocore/gui/social/friend/EditableFriendList.java b/src/main/java/net/Indyuce/mmocore/gui/social/friend/EditableFriendList.java index 4b242f1c..28a1f7a0 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/social/friend/EditableFriendList.java +++ b/src/main/java/net/Indyuce/mmocore/gui/social/friend/EditableFriendList.java @@ -26,8 +26,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; import net.Indyuce.mmocore.manager.InventoryManager; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class EditableFriendList extends EditableInventory { public EditableFriendList() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildAdmin.java b/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildAdmin.java index b3e571eb..c4fef270 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildAdmin.java +++ b/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildAdmin.java @@ -25,8 +25,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class EditableGuildAdmin extends EditableInventory { public EditableGuildAdmin() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildView.java b/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildView.java index 121f50ac..2cb546f8 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildView.java +++ b/src/main/java/net/Indyuce/mmocore/gui/social/guild/EditableGuildView.java @@ -26,8 +26,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class EditableGuildView extends EditableInventory { public EditableGuildView() { diff --git a/src/main/java/net/Indyuce/mmocore/gui/social/party/EditablePartyView.java b/src/main/java/net/Indyuce/mmocore/gui/social/party/EditablePartyView.java index 19d2e7f5..f3da5626 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/social/party/EditablePartyView.java +++ b/src/main/java/net/Indyuce/mmocore/gui/social/party/EditablePartyView.java @@ -25,8 +25,8 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; -import net.mmogroup.mmolib.api.ItemTag; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.ItemTag; +import net.mmogroup.mmolib.api.item.NBTItem; public class EditablePartyView extends EditableInventory { public EditablePartyView() { diff --git a/src/main/java/net/Indyuce/mmocore/listener/GoldPouchesListener.java b/src/main/java/net/Indyuce/mmocore/listener/GoldPouchesListener.java index 25926ee4..a980e661 100644 --- a/src/main/java/net/Indyuce/mmocore/listener/GoldPouchesListener.java +++ b/src/main/java/net/Indyuce/mmocore/listener/GoldPouchesListener.java @@ -9,7 +9,7 @@ import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; import net.Indyuce.mmocore.gui.eco.GoldPouch; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.NBTItem; public class GoldPouchesListener implements Listener { @EventHandler diff --git a/src/main/java/net/Indyuce/mmocore/listener/event/PlayerAttackEventListener.java b/src/main/java/net/Indyuce/mmocore/listener/event/PlayerAttackEventListener.java index 8bd97f0c..b90150d7 100644 --- a/src/main/java/net/Indyuce/mmocore/listener/event/PlayerAttackEventListener.java +++ b/src/main/java/net/Indyuce/mmocore/listener/event/PlayerAttackEventListener.java @@ -47,8 +47,13 @@ public class PlayerAttackEventListener implements Listener { * check damage systems from other MMOCore plugins + from MMOCore, and * register an attack damage for easier plugin calculations */ - if (damager instanceof Player && !damager.hasMetadata("NPC")) - Bukkit.getPluginManager().callEvent(new PlayerAttackEvent(PlayerData.get((Player) damager), event, MMOLib.plugin.getDamage().findInfo(event.getEntity()).mergeTypes(result))); + if (damager instanceof Player && !damager.hasMetadata("NPC")) { + AttackResult found = MMOLib.plugin.getDamage().findInfo(event.getEntity()); + if (found != null) + result.mergeTypes(found); + + Bukkit.getPluginManager().callEvent(new PlayerAttackEvent(PlayerData.get((Player) damager), event, result)); + } /* * checks for killing diff --git a/src/main/java/net/Indyuce/mmocore/listener/profession/Alchemy.java b/src/main/java/net/Indyuce/mmocore/listener/profession/Alchemy.java index bb76a439..ad35e1f0 100644 --- a/src/main/java/net/Indyuce/mmocore/listener/profession/Alchemy.java +++ b/src/main/java/net/Indyuce/mmocore/listener/profession/Alchemy.java @@ -25,7 +25,7 @@ import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.Type; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.NBTItem; public class Alchemy implements Listener { private Set runnables = new HashSet<>(); diff --git a/src/main/java/net/Indyuce/mmocore/listener/profession/Smelting.java b/src/main/java/net/Indyuce/mmocore/listener/profession/Smelting.java index 82edbb66..c15563b6 100644 --- a/src/main/java/net/Indyuce/mmocore/listener/profession/Smelting.java +++ b/src/main/java/net/Indyuce/mmocore/listener/profession/Smelting.java @@ -19,7 +19,7 @@ import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.Type; import net.mmogroup.mmolib.MMOLib; -import net.mmogroup.mmolib.api.NBTItem; +import net.mmogroup.mmolib.api.item.NBTItem; public class Smelting implements Listener {