From 489bff3620de65915b2ffdeadbc045ef2a00d6c2 Mon Sep 17 00:00:00 2001 From: Christian Koop Date: Sun, 25 Jun 2023 12:50:56 +0200 Subject: [PATCH] Migrate from SongodaCore to CraftaroCore v3.0.0-SNAPSHOT --- pom.xml | 21 ++++++----- .../songoda/epicenchants/EpicEnchants.java | 19 +++++----- .../commands/CommandAlchemist.java | 2 +- .../epicenchants/commands/CommandApply.java | 6 ++-- .../commands/CommandEnchanter.java | 2 +- .../commands/CommandGiveBook.java | 2 +- .../commands/CommandGiveItemDust.java | 2 +- .../commands/CommandGiveRandomBook.java | 2 +- .../commands/CommandGiveScroll.java | 2 +- .../epicenchants/commands/CommandList.java | 2 +- .../epicenchants/commands/CommandReload.java | 2 +- .../commands/CommandSettings.java | 4 +-- .../commands/CommandTinkerer.java | 2 +- .../epicenchants/effect/effects/DropHead.java | 16 ++++----- .../epicenchants/effect/effects/SpawnMob.java | 12 +++---- .../listeners/EntityListener.java | 2 +- .../listeners/item/BlackScrollListener.java | 4 +-- .../listeners/item/BookListener.java | 6 ++-- .../listeners/item/DustListener.java | 2 +- .../listeners/item/ItemListener.java | 9 +++-- .../listeners/item/WhiteScrollListener.java | 6 ++-- .../epicenchants/managers/FileManager.java | 2 +- .../epicenchants/menus/AlchemistMenu.java | 4 +-- .../epicenchants/menus/EnchanterMenu.java | 3 +- .../epicenchants/menus/TinkererMenu.java | 4 +-- .../epicenchants/objects/BookItem.java | 2 +- .../songoda/epicenchants/objects/Enchant.java | 13 +++---- .../epicenchants/utils/EnchantUtils.java | 8 ++--- .../songoda/epicenchants/utils/Methods.java | 35 ------------------- .../epicenchants/utils/SpecialItems.java | 2 +- .../utils/objects/ItemBuilder.java | 23 +++--------- .../epicenchants/utils/settings/Settings.java | 6 ++-- .../utils/single/GeneralUtils.java | 24 ++++--------- .../epicenchants/utils/single/ItemGroup.java | 28 +++++++-------- src/main/resources/plugin.yml | 3 +- 35 files changed, 113 insertions(+), 169 deletions(-) diff --git a/pom.xml b/pom.xml index 8b23877..f334d46 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ ${java.version} ${java.version} - ${java.release} + ${java.release} @@ -94,6 +94,11 @@ + + craftaro-minecraft-plugins + https://repo.craftaro.com/repository/minecraft-plugins/ + + songoda-public https://repo.songoda.com/repository/public/ @@ -106,6 +111,13 @@ + + com.craftaro + CraftaroCore + 3.0.0-SNAPSHOT + compile + + org.spigotmc spigot-api @@ -113,13 +125,6 @@ provided - - com.songoda - SongodaCore - 2.6.19 - compile - - com.songoda UltimateBottles diff --git a/src/main/java/com/songoda/epicenchants/EpicEnchants.java b/src/main/java/com/songoda/epicenchants/EpicEnchants.java index f7254cd..ace332e 100644 --- a/src/main/java/com/songoda/epicenchants/EpicEnchants.java +++ b/src/main/java/com/songoda/epicenchants/EpicEnchants.java @@ -1,12 +1,13 @@ package com.songoda.epicenchants; -import com.songoda.core.SongodaCore; -import com.songoda.core.SongodaPlugin; -import com.songoda.core.commands.CommandManager; -import com.songoda.core.compatibility.CompatibleMaterial; -import com.songoda.core.configuration.Config; -import com.songoda.core.gui.GuiManager; -import com.songoda.core.hooks.EconomyManager; +import com.craftaro.core.SongodaCore; +import com.craftaro.core.SongodaPlugin; +import com.craftaro.core.commands.CommandManager; +import com.craftaro.core.compatibility.CompatibleMaterial; +import com.craftaro.core.configuration.Config; +import com.craftaro.core.gui.GuiManager; +import com.craftaro.core.hooks.EconomyManager; +import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial; import com.songoda.epicenchants.commands.CommandAlchemist; import com.songoda.epicenchants.commands.CommandApply; import com.songoda.epicenchants.commands.CommandEnchanter; @@ -71,10 +72,10 @@ public class EpicEnchants extends SongodaPlugin { @Override public void onPluginEnable() { // Run Songoda Updater - SongodaCore.registerPlugin(this, 67, CompatibleMaterial.DIAMOND_SWORD); + SongodaCore.registerPlugin(this, 67, XMaterial.DIAMOND_SWORD); // setup commands - this.commandManager = new com.songoda.core.commands.CommandManager(this); + this.commandManager = new com.craftaro.core.commands.CommandManager(this); this.commandManager.addMainCommand("ee") .addSubCommand(new CommandReload(this)) .addSubCommand(new CommandAlchemist(this)) diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandAlchemist.java b/src/main/java/com/songoda/epicenchants/commands/CommandAlchemist.java index 756d053..fa1c554 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandAlchemist.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandAlchemist.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.menus.AlchemistMenu; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandApply.java b/src/main/java/com/songoda/epicenchants/commands/CommandApply.java index 68288eb..b3af3c6 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandApply.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandApply.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; -import com.songoda.core.compatibility.CompatibleMaterial; +import com.craftaro.core.commands.AbstractCommand; +import com.craftaro.core.compatibility.CompatibleMaterial; import com.songoda.epicenchants.CommandCommons; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.enums.EnchantResult; @@ -62,7 +62,7 @@ public class CommandApply extends AbstractCommand { int level = Integer.parseInt(args[1]); Player player = (Player) sender; - if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(player.getItemInHand()))) { + if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(player.getItemInHand().getType()).get())) { System.out.println("List = " + enchant.getItemWhitelist()); plugin.getLocale().getMessage("command.apply.invaliditem") .processPlaceholder("enchant", enchant.getIdentifier()) diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandEnchanter.java b/src/main/java/com/songoda/epicenchants/commands/CommandEnchanter.java index 2b39de2..d214e29 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandEnchanter.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandEnchanter.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.menus.EnchanterMenu; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandGiveBook.java b/src/main/java/com/songoda/epicenchants/commands/CommandGiveBook.java index 1a6681c..fc79d21 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandGiveBook.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandGiveBook.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.CommandCommons; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Enchant; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandGiveItemDust.java b/src/main/java/com/songoda/epicenchants/commands/CommandGiveItemDust.java index c5ca35d..5ec9b50 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandGiveItemDust.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandGiveItemDust.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.CommandCommons; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Group; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandGiveRandomBook.java b/src/main/java/com/songoda/epicenchants/commands/CommandGiveRandomBook.java index fde88cf..6d8f4bf 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandGiveRandomBook.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandGiveRandomBook.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Group; import org.bukkit.Bukkit; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandGiveScroll.java b/src/main/java/com/songoda/epicenchants/commands/CommandGiveScroll.java index 471d989..6999df2 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandGiveScroll.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandGiveScroll.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.CommandCommons; import com.songoda.epicenchants.EpicEnchants; import org.bukkit.Bukkit; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandList.java b/src/main/java/com/songoda/epicenchants/commands/CommandList.java index 938944a..80d1d96 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandList.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandList.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandReload.java b/src/main/java/com/songoda/epicenchants/commands/CommandReload.java index 9bbd65e..2be4542 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandReload.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandReload.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandSettings.java b/src/main/java/com/songoda/epicenchants/commands/CommandSettings.java index ad774b9..c78c530 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandSettings.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandSettings.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; -import com.songoda.core.configuration.editor.PluginConfigGui; +import com.craftaro.core.commands.AbstractCommand; +import com.craftaro.core.configuration.editor.PluginConfigGui; import com.songoda.epicenchants.EpicEnchants; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/songoda/epicenchants/commands/CommandTinkerer.java b/src/main/java/com/songoda/epicenchants/commands/CommandTinkerer.java index cac55f4..8ba6a56 100644 --- a/src/main/java/com/songoda/epicenchants/commands/CommandTinkerer.java +++ b/src/main/java/com/songoda/epicenchants/commands/CommandTinkerer.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.commands; -import com.songoda.core.commands.AbstractCommand; +import com.craftaro.core.commands.AbstractCommand; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.menus.TinkererMenu; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/songoda/epicenchants/effect/effects/DropHead.java b/src/main/java/com/songoda/epicenchants/effect/effects/DropHead.java index 33a5a58..5d3408b 100644 --- a/src/main/java/com/songoda/epicenchants/effect/effects/DropHead.java +++ b/src/main/java/com/songoda/epicenchants/effect/effects/DropHead.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.effect.effects; -import com.songoda.core.compatibility.CompatibleMaterial; +import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial; import com.songoda.epicenchants.effect.EffectExecutor; import com.songoda.epicenchants.enums.EventType; import org.bukkit.configuration.ConfigurationSection; @@ -24,7 +24,7 @@ public class DropHead extends EffectExecutor { } private Optional getHead(Entity entity) { - ItemStack out = CompatibleMaterial.PLAYER_HEAD.getItem(); + ItemStack out = XMaterial.PLAYER_HEAD.parseItem(); String skin = null; switch (entity.getType()) { @@ -47,10 +47,10 @@ public class DropHead extends EffectExecutor { skin = "MHF_Spider"; break; case ZOMBIE: - out = CompatibleMaterial.ZOMBIE_HEAD.getItem(); + out = XMaterial.ZOMBIE_HEAD.parseItem(); break; case SKELETON: - out = CompatibleMaterial.SKELETON_SKULL.getItem(); + out = XMaterial.SKELETON_SKULL.parseItem(); break; case VILLAGER: skin = "MHF_Villager"; @@ -62,7 +62,7 @@ public class DropHead extends EffectExecutor { skin = "MHF_Blaze"; break; case CREEPER: - out = CompatibleMaterial.CREEPER_HEAD.getItem(); + out = XMaterial.CREEPER_HEAD.parseItem(); case ENDERMAN: skin = "MHF_Enderman"; break; @@ -72,8 +72,6 @@ public class DropHead extends EffectExecutor { case IRON_GOLEM: skin = "MHF_Golem"; break; - case WITHER_SKELETON: - out = CompatibleMaterial.WITHER_SKELETON_SKULL.getItem(); case PLAYER: break; default: @@ -82,9 +80,9 @@ public class DropHead extends EffectExecutor { SkullMeta skullMeta = (SkullMeta) out.getItemMeta(); - if (skin != null && CompatibleMaterial.getMaterial(out) == CompatibleMaterial.PLAYER_HEAD - || entity instanceof Player) + if ((skin != null && XMaterial.PLAYER_HEAD.isSimilar(out)) || entity instanceof Player) { skullMeta.setOwner(entity instanceof Player ? entity.getName() : skin); + } out.setItemMeta(skullMeta); return Optional.of(out); diff --git a/src/main/java/com/songoda/epicenchants/effect/effects/SpawnMob.java b/src/main/java/com/songoda/epicenchants/effect/effects/SpawnMob.java index ab21408..1d973ff 100644 --- a/src/main/java/com/songoda/epicenchants/effect/effects/SpawnMob.java +++ b/src/main/java/com/songoda/epicenchants/effect/effects/SpawnMob.java @@ -5,8 +5,6 @@ import com.songoda.epicenchants.enums.EventType; import com.songoda.epicenchants.objects.LeveledModifier; import com.songoda.epicenchants.utils.objects.ItemBuilder; import org.bukkit.Location; -import org.bukkit.attribute.Attribute; -import org.bukkit.attribute.AttributeInstance; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; @@ -91,11 +89,13 @@ public class SpawnMob extends EffectExecutor { } if (entity instanceof LivingEntity) { - AttributeInstance attack = ((LivingEntity) entity).getAttribute(Attribute.GENERIC_ATTACK_DAMAGE); - attack.setBaseValue(attackDamage.get(level, (int) Math.round(attack.getBaseValue()), user, opponent)); + LivingEntity livingEntity = (LivingEntity) entity; - AttributeInstance heal = ((LivingEntity) entity).getAttribute(Attribute.GENERIC_MAX_HEALTH); - heal.setBaseValue(health.get(level, (int) Math.round(heal.getBaseValue()), user, opponent)); +// AttributeInstance attack = ((LivingEntity) entity).getAttribute(Attribute.GENERIC_ATTACK_DAMAGE); +// attack.setBaseValue(attackDamage.get(level, (int) Math.round(attack.getBaseValue()), user, opponent)); + + double maxHealth = livingEntity.getMaxHealth(); + livingEntity.setMaxHealth(health.get(level, (int) Math.round(maxHealth), user, opponent)); } } } diff --git a/src/main/java/com/songoda/epicenchants/listeners/EntityListener.java b/src/main/java/com/songoda/epicenchants/listeners/EntityListener.java index b304764..6734ec9 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/EntityListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/EntityListener.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.listeners; -import com.songoda.core.nms.NmsManager; +import com.craftaro.core.nms.NmsManager; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.enums.TriggerType; import org.bukkit.entity.LivingEntity; diff --git a/src/main/java/com/songoda/epicenchants/listeners/item/BlackScrollListener.java b/src/main/java/com/songoda/epicenchants/listeners/item/BlackScrollListener.java index 46737ce..9d067f5 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/item/BlackScrollListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/item/BlackScrollListener.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.listeners.item; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTCompound; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Enchant; import com.songoda.epicenchants.utils.single.RomanNumber; diff --git a/src/main/java/com/songoda/epicenchants/listeners/item/BookListener.java b/src/main/java/com/songoda/epicenchants/listeners/item/BookListener.java index 625e6f7..3dfc17a 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/item/BookListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/item/BookListener.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.listeners.item; -import com.songoda.core.compatibility.CompatibleMaterial; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.compatibility.CompatibleMaterial; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.enums.EnchantResult; import com.songoda.epicenchants.events.EnchantApplyEvent; @@ -39,7 +39,7 @@ public class BookListener extends ItemListener { ItemStack toApply = event.getCurrentItem(); Enchant enchant = instance.getEnchantManager().getValue(cursor.getString("enchant")).orElseThrow(() -> new IllegalStateException("Book without enchant!")); - if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(current.getItem()))) { + if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(current.getItem().getType()).get())) { return; } // get total amount of enchantments on item diff --git a/src/main/java/com/songoda/epicenchants/listeners/item/DustListener.java b/src/main/java/com/songoda/epicenchants/listeners/item/DustListener.java index c291472..f7df27d 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/item/DustListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/item/DustListener.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.listeners.item; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Enchant; import com.songoda.epicenchants.objects.Group; diff --git a/src/main/java/com/songoda/epicenchants/listeners/item/ItemListener.java b/src/main/java/com/songoda/epicenchants/listeners/item/ItemListener.java index 96dbd6d..69ec6e0 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/item/ItemListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/item/ItemListener.java @@ -1,6 +1,7 @@ package com.songoda.epicenchants.listeners.item; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.compatibility.CompatibleHand; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import org.bukkit.Material; import org.bukkit.event.EventHandler; @@ -10,7 +11,6 @@ import org.bukkit.event.block.Action; import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; public abstract class ItemListener implements Listener { @@ -61,9 +61,8 @@ public abstract class ItemListener implements Listener { void useItem(PlayerInteractEvent event) { int slot = event.getPlayer().getInventory().getHeldItemSlot(); - try { - if (event.getHand() == EquipmentSlot.OFF_HAND) slot = 40; - } catch (Exception | Error ignore) { + if (CompatibleHand.getHand(event) == CompatibleHand.OFF_HAND) { + slot = 40; } if (event.getItem().getAmount() > 1) { diff --git a/src/main/java/com/songoda/epicenchants/listeners/item/WhiteScrollListener.java b/src/main/java/com/songoda/epicenchants/listeners/item/WhiteScrollListener.java index ba3529a..df7f3e7 100644 --- a/src/main/java/com/songoda/epicenchants/listeners/item/WhiteScrollListener.java +++ b/src/main/java/com/songoda/epicenchants/listeners/item/WhiteScrollListener.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.listeners.item; -import com.songoda.core.compatibility.CompatibleMaterial; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.compatibility.CompatibleMaterial; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.utils.objects.ItemBuilder; import org.bukkit.event.inventory.InventoryClickEvent; @@ -27,7 +27,7 @@ public class WhiteScrollListener extends ItemListener { return; } - if (!instance.getItemGroup().isValid(CompatibleMaterial.getMaterial(event.getCurrentItem()))) + if (!instance.getItemGroup().isValid(CompatibleMaterial.getMaterial(event.getCurrentItem().getType()).get())) return; current.setBoolean("protected", true); diff --git a/src/main/java/com/songoda/epicenchants/managers/FileManager.java b/src/main/java/com/songoda/epicenchants/managers/FileManager.java index 5ae3642..04e6ec5 100644 --- a/src/main/java/com/songoda/epicenchants/managers/FileManager.java +++ b/src/main/java/com/songoda/epicenchants/managers/FileManager.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.managers; -import com.songoda.core.compatibility.ServerVersion; +import com.craftaro.core.compatibility.ServerVersion; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.utils.objects.FileLocation; import com.songoda.epicenchants.utils.settings.Settings; diff --git a/src/main/java/com/songoda/epicenchants/menus/AlchemistMenu.java b/src/main/java/com/songoda/epicenchants/menus/AlchemistMenu.java index b9433aa..215d401 100644 --- a/src/main/java/com/songoda/epicenchants/menus/AlchemistMenu.java +++ b/src/main/java/com/songoda/epicenchants/menus/AlchemistMenu.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.menus; -import com.songoda.core.hooks.EconomyManager; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.hooks.EconomyManager; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Enchant; import com.songoda.epicenchants.objects.Group; diff --git a/src/main/java/com/songoda/epicenchants/menus/EnchanterMenu.java b/src/main/java/com/songoda/epicenchants/menus/EnchanterMenu.java index 5eb5b42..b5c63e3 100644 --- a/src/main/java/com/songoda/epicenchants/menus/EnchanterMenu.java +++ b/src/main/java/com/songoda/epicenchants/menus/EnchanterMenu.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.menus; -import com.songoda.core.hooks.EconomyManager; +import com.craftaro.core.hooks.EconomyManager; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Group; import com.songoda.epicenchants.utils.objects.FastInv; @@ -84,4 +84,3 @@ public class EnchanterMenu extends FastInv { .forEach(section -> addItem(getSlots(section.getString("slot")), new ItemBuilder(section).build())); } } - diff --git a/src/main/java/com/songoda/epicenchants/menus/TinkererMenu.java b/src/main/java/com/songoda/epicenchants/menus/TinkererMenu.java index 4a56f71..4744042 100644 --- a/src/main/java/com/songoda/epicenchants/menus/TinkererMenu.java +++ b/src/main/java/com/songoda/epicenchants/menus/TinkererMenu.java @@ -1,7 +1,7 @@ package com.songoda.epicenchants.menus; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTCompound; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.enums.ItemType; import com.songoda.epicenchants.objects.Enchant; diff --git a/src/main/java/com/songoda/epicenchants/objects/BookItem.java b/src/main/java/com/songoda/epicenchants/objects/BookItem.java index 816b695..7bd0093 100644 --- a/src/main/java/com/songoda/epicenchants/objects/BookItem.java +++ b/src/main/java/com/songoda/epicenchants/objects/BookItem.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.objects; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.utils.objects.ItemBuilder; import com.songoda.epicenchants.utils.settings.Settings; diff --git a/src/main/java/com/songoda/epicenchants/objects/Enchant.java b/src/main/java/com/songoda/epicenchants/objects/Enchant.java index 89dac1d..ad831a0 100644 --- a/src/main/java/com/songoda/epicenchants/objects/Enchant.java +++ b/src/main/java/com/songoda/epicenchants/objects/Enchant.java @@ -1,6 +1,7 @@ package com.songoda.epicenchants.objects; -import com.songoda.core.compatibility.CompatibleMaterial; +import com.craftaro.core.compatibility.CompatibleMaterial; +import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial; import com.songoda.epicenchants.effect.EffectExecutor; import com.songoda.epicenchants.enums.EventType; import com.songoda.epicenchants.enums.TriggerType; @@ -23,14 +24,14 @@ public class Enchant { private Group group; private int maxLevel; private Set conflict; - private Set itemWhitelist; + private Set itemWhitelist; private Set effectExecutors; private List description; private String format; @Nullable private BookItem bookItem; - Enchant(String author, String identifier, Group group, int maxLevel, Set conflict, Set itemWhitelist, Set effectExecutors, List description, String format, BookItem bookItem) { + Enchant(String author, String identifier, Group group, int maxLevel, Set conflict, Set itemWhitelist, Set effectExecutors, List description, String format, BookItem bookItem) { this.author = author; this.identifier = identifier; this.group = group; @@ -96,7 +97,7 @@ public class Enchant { return this.conflict; } - public Set getItemWhitelist() { + public Set getItemWhitelist() { return new HashSet<>(this.itemWhitelist); } @@ -123,7 +124,7 @@ public class Enchant { private Group group; private int maxLevel; private Set conflict; - private Set itemWhitelist; + private Set itemWhitelist; private Set effectExecutors; private List description; private String format; @@ -157,7 +158,7 @@ public class Enchant { return this; } - public Enchant.EnchantBuilder itemWhitelist(Set itemWhitelist) { + public Enchant.EnchantBuilder itemWhitelist(Set itemWhitelist) { this.itemWhitelist = itemWhitelist; return this; } diff --git a/src/main/java/com/songoda/epicenchants/utils/EnchantUtils.java b/src/main/java/com/songoda/epicenchants/utils/EnchantUtils.java index 3c5d961..2579dad 100644 --- a/src/main/java/com/songoda/epicenchants/utils/EnchantUtils.java +++ b/src/main/java/com/songoda/epicenchants/utils/EnchantUtils.java @@ -1,8 +1,8 @@ package com.songoda.epicenchants.utils; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; -import com.songoda.core.utils.TextUtils; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTCompound; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.utils.TextUtils; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.enums.EnchantResult; import com.songoda.epicenchants.enums.EventType; @@ -18,8 +18,8 @@ import org.bukkit.event.Event; import org.bukkit.inventory.ItemStack; import org.bukkit.permissions.PermissionAttachmentInfo; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -import javax.annotation.Nullable; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; diff --git a/src/main/java/com/songoda/epicenchants/utils/Methods.java b/src/main/java/com/songoda/epicenchants/utils/Methods.java index 0328948..530525b 100644 --- a/src/main/java/com/songoda/epicenchants/utils/Methods.java +++ b/src/main/java/com/songoda/epicenchants/utils/Methods.java @@ -1,43 +1,8 @@ package com.songoda.epicenchants.utils; -import com.songoda.core.compatibility.ServerVersion; -import com.songoda.epicenchants.EpicEnchants; import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; public class Methods { - - public static ItemStack getGlass() { - EpicEnchants instance = EpicEnchants.getInstance(); - return Methods.getGlass(instance.getConfig().getBoolean("Interfaces.Replace Glass Type 1 With Rainbow Glass"), instance.getConfig().getInt("Interfaces.Glass Type 1")); - } - - public static ItemStack getBackgroundGlass(boolean type) { - EpicEnchants instance = EpicEnchants.getInstance(); - if (type) - return getGlass(false, instance.getConfig().getInt("Interfaces.Glass Type 2")); - else - return getGlass(false, instance.getConfig().getInt("Interfaces.Glass Type 3")); - } - - private static ItemStack getGlass(Boolean rainbow, int type) { - int randomNum = 1 + (int) (Math.random() * 6); - ItemStack glass; - if (rainbow) { - glass = new ItemStack(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13) ? - Material.LEGACY_STAINED_GLASS_PANE : Material.valueOf("STAINED_GLASS_PANE"), 1, (short) randomNum); - } else { - glass = new ItemStack(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13) ? - Material.LEGACY_STAINED_GLASS_PANE : Material.valueOf("STAINED_GLASS_PANE"), 1, (short) type); - } - ItemMeta glassmeta = glass.getItemMeta(); - glassmeta.setDisplayName("§l"); - glass.setItemMeta(glassmeta); - return glass; - } - public static boolean isInt(String number) { if (number == null || number.equals("")) return false; diff --git a/src/main/java/com/songoda/epicenchants/utils/SpecialItems.java b/src/main/java/com/songoda/epicenchants/utils/SpecialItems.java index 23b9eaf..cd7659b 100644 --- a/src/main/java/com/songoda/epicenchants/utils/SpecialItems.java +++ b/src/main/java/com/songoda/epicenchants/utils/SpecialItems.java @@ -1,6 +1,6 @@ package com.songoda.epicenchants.utils; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.EpicEnchants; import com.songoda.epicenchants.objects.Group; import com.songoda.epicenchants.utils.objects.ItemBuilder; diff --git a/src/main/java/com/songoda/epicenchants/utils/objects/ItemBuilder.java b/src/main/java/com/songoda/epicenchants/utils/objects/ItemBuilder.java index e639708..94d0e8f 100644 --- a/src/main/java/com/songoda/epicenchants/utils/objects/ItemBuilder.java +++ b/src/main/java/com/songoda/epicenchants/utils/objects/ItemBuilder.java @@ -1,6 +1,7 @@ package com.songoda.epicenchants.utils.objects; -import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; +import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial; +import com.craftaro.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.epicenchants.objects.Placeholder; import com.songoda.epicenchants.utils.single.ConfigParser; import com.songoda.epicenchants.utils.single.GeneralUtils; @@ -53,8 +54,8 @@ public class ItemBuilder { public ItemBuilder(ConfigurationSection section, Player player, Placeholder... placeholders) { this(section, placeholders); - if (item.getType() == Material.LEGACY_SKULL_ITEM) { - ((SkullMeta) item.getItemMeta()).setOwningPlayer(player); + if (XMaterial.PLAYER_HEAD.isSimilar(item)) { + ((SkullMeta) item.getItemMeta()).setOwner(player.getName()); } } @@ -254,15 +255,6 @@ public class ItemBuilder { return this; } - public ItemBuilder unbreakable() { - return unbreakable(true); - } - - public ItemBuilder unbreakable(boolean unbreakable) { - meta.setUnbreakable(unbreakable); - return this; - } - public NBTItem nbt() { return new NBTItem(build()); } @@ -304,11 +296,4 @@ public class ItemBuilder { public String getName() { return meta.getDisplayName(); } - - /* - * Unbreakability: - */ - public boolean isUnbreakable() { - return meta.isUnbreakable(); - } } diff --git a/src/main/java/com/songoda/epicenchants/utils/settings/Settings.java b/src/main/java/com/songoda/epicenchants/utils/settings/Settings.java index 20e2acf..652f26e 100644 --- a/src/main/java/com/songoda/epicenchants/utils/settings/Settings.java +++ b/src/main/java/com/songoda/epicenchants/utils/settings/Settings.java @@ -1,8 +1,8 @@ package com.songoda.epicenchants.utils.settings; -import com.songoda.core.configuration.Config; -import com.songoda.core.configuration.ConfigSetting; -import com.songoda.core.hooks.EconomyManager; +import com.craftaro.core.configuration.Config; +import com.craftaro.core.configuration.ConfigSetting; +import com.craftaro.core.hooks.EconomyManager; import com.songoda.epicenchants.EpicEnchants; import java.util.stream.Collectors; diff --git a/src/main/java/com/songoda/epicenchants/utils/single/GeneralUtils.java b/src/main/java/com/songoda/epicenchants/utils/single/GeneralUtils.java index 8d6cae5..dad86f3 100644 --- a/src/main/java/com/songoda/epicenchants/utils/single/GeneralUtils.java +++ b/src/main/java/com/songoda/epicenchants/utils/single/GeneralUtils.java @@ -1,6 +1,7 @@ package com.songoda.epicenchants.utils.single; -import com.songoda.core.math.MathUtils; +import com.craftaro.core.compatibility.CompatibleHand; +import com.craftaro.core.math.MathUtils; import com.songoda.epicenchants.enums.EnchantResult; import com.songoda.epicenchants.enums.TriggerType; import org.apache.commons.lang.StringUtils; @@ -10,8 +11,6 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.Event; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; import java.util.Arrays; @@ -74,11 +73,8 @@ public class GeneralUtils { } else if (entity.getEquipment() != null) { ItemStack item = entity.getEquipment().getItemInHand(); - try { - if (item.getType() == Material.AIR) { - return entity.getEquipment().getItemInOffHand(); - } - } catch (NoSuchMethodError ignore) { + if (item == null || item.getType() == Material.AIR) { + return CompatibleHand.OFF_HAND.getItem(entity); } return item; } @@ -86,16 +82,10 @@ public class GeneralUtils { } public static int getHeldItemSlot(Player player, Event event) { - int slot = player.getInventory().getHeldItemSlot(); - - try { - if (event instanceof PlayerInteractEvent && ((PlayerInteractEvent) event).getHand() == EquipmentSlot.OFF_HAND) { - slot = 40; - } - } catch (NoSuchMethodError ignore) { + if (CompatibleHand.getHand(event) == CompatibleHand.OFF_HAND) { + return 40; } - - return slot; + return player.getInventory().getHeldItemSlot(); } public static Object parseJS(String toParse, String type, Object def) { diff --git a/src/main/java/com/songoda/epicenchants/utils/single/ItemGroup.java b/src/main/java/com/songoda/epicenchants/utils/single/ItemGroup.java index 7792621..f9bd2a7 100644 --- a/src/main/java/com/songoda/epicenchants/utils/single/ItemGroup.java +++ b/src/main/java/com/songoda/epicenchants/utils/single/ItemGroup.java @@ -1,8 +1,9 @@ package com.songoda.epicenchants.utils.single; +import com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import com.songoda.core.compatibility.CompatibleMaterial; +import com.craftaro.core.compatibility.CompatibleMaterial; import org.apache.commons.lang.StringUtils; import java.util.Arrays; @@ -13,12 +14,12 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import static com.songoda.core.compatibility.CompatibleMaterial.*; +import static com.craftaro.core.third_party.com.cryptomorin.xseries.XMaterial.*; import static com.songoda.epicenchants.utils.single.ItemGroup.Group.*; public class ItemGroup { - private final Multimap groupMap; + private final Multimap groupMap; public ItemGroup() { groupMap = HashMultimap.create(); @@ -46,27 +47,26 @@ public class ItemGroup { groupMap.put(TRIDENTS, TRIDENT); } - public Set get(String key) { + public Set get(String key) { Optional optionalGroup = Group.from(key); - Set output = new HashSet<>(); + Set output = new HashSet<>(); optionalGroup.ifPresent(group -> output.addAll(getMaterials(group))); - if (CompatibleMaterial.getMaterial(key) != null) { - output.add(CompatibleMaterial.getMaterial(key)); - } + Optional material = CompatibleMaterial.getMaterial(key); + material.ifPresent(output::add); return output; } - public boolean isValid(CompatibleMaterial material) { + public boolean isValid(XMaterial material) { for (Group group : groupMap.keys()) if (getMaterials(group).contains(material)) return true; return false; } - public Set getGroups(Set materials) { + public Set getGroups(Set materials) { Set groups = new HashSet<>(); for (int i = 0; i < 5; i++) { @@ -76,11 +76,11 @@ public class ItemGroup { }); } - groups.addAll(materials.stream().map(CompatibleMaterial::toString).collect(Collectors.toSet())); + groups.addAll(materials.stream().map(XMaterial::toString).collect(Collectors.toSet())); return groups; } - public Optional getGroup(Set materials) { + public Optional getGroup(Set materials) { Optional group = Arrays.stream(Group.values()) .filter(s -> !s.getChildren().isEmpty() && s.getChildren().stream().allMatch(child -> materials.containsAll(groupMap.get(child)))) .findFirst(); @@ -92,8 +92,8 @@ public class ItemGroup { return groupMap.asMap().entrySet().stream().filter(s -> materials.containsAll(s.getValue())).map(Map.Entry::getKey).findFirst(); } - public Set getMaterials(Group group) { - Set out = new HashSet<>(); + public Set getMaterials(Group group) { + Set out = new HashSet<>(); for (int i = 0; i < 5; i++) { if (group.getChildren().isEmpty()) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 89d468c..981c636 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -10,9 +10,10 @@ softdepend: - UltimateBottles - Vault -author: Songoda +author: Craftaro website: ${project.url} +# TODO: Fix the stuff below (ussage?, why ee and not epicenchants?, etc.) commands: ee: aliases: