diff --git a/build.gradle.kts b/build.gradle.kts index 65a826d4..4d782e6d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { allprojects { - version = "2.0-beta-6" + version = "2.0-beta-7" apply() apply(plugin = "java") diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts index 8f528ea3..7b332c39 100644 --- a/plugin/build.gradle.kts +++ b/plugin/build.gradle.kts @@ -53,6 +53,7 @@ dependencies { compileOnly(files("libs/mcMMO-api.jar")) compileOnly(files("libs/ClueScrolls-4.8.7-api.jar")) compileOnly(files("libs/notquests-5.17.1.jar")) + compileOnly(files("libs/zaphkiel-2.0.24.jar")) // api module implementation(project(":api")) diff --git a/plugin/libs/mcMMO-api.jar b/plugin/libs/mcMMO-api.jar index a2ac22e0..67934d46 100644 Binary files a/plugin/libs/mcMMO-api.jar and b/plugin/libs/mcMMO-api.jar differ diff --git a/plugin/libs/zaphkiel-2.0.24.jar b/plugin/libs/zaphkiel-2.0.24.jar new file mode 100644 index 00000000..ac48bf0b Binary files /dev/null and b/plugin/libs/zaphkiel-2.0.24.jar differ diff --git a/plugin/src/main/java/net/momirealms/customfishing/compatibility/IntegrationManagerImpl.java b/plugin/src/main/java/net/momirealms/customfishing/compatibility/IntegrationManagerImpl.java index f6793954..4f4e3cfd 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/compatibility/IntegrationManagerImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/compatibility/IntegrationManagerImpl.java @@ -78,6 +78,10 @@ public class IntegrationManagerImpl implements IntegrationManager { plugin.getItemManager().registerItemLibrary(new OraxenItemImpl()); hookMessage("Oraxen"); } + if (plugin.isHookedPluginEnabled("Zaphkiel")) { + plugin.getItemManager().registerItemLibrary(new ZaphkielItemImpl()); + hookMessage("Zaphkiel"); + } if (plugin.isHookedPluginEnabled("NeigeItems")) { plugin.getItemManager().registerItemLibrary(new NeigeItemsItemImpl()); hookMessage("NeigeItems"); diff --git a/plugin/src/main/java/net/momirealms/customfishing/compatibility/item/ZaphkielItemImpl.java b/plugin/src/main/java/net/momirealms/customfishing/compatibility/item/ZaphkielItemImpl.java new file mode 100644 index 00000000..f6c1ae16 --- /dev/null +++ b/plugin/src/main/java/net/momirealms/customfishing/compatibility/item/ZaphkielItemImpl.java @@ -0,0 +1,33 @@ +package net.momirealms.customfishing.compatibility.item; + +import ink.ptms.zaphkiel.ZapAPI; +import ink.ptms.zaphkiel.Zaphkiel; +import net.momirealms.customfishing.api.mechanic.item.ItemLibrary; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +public class ZaphkielItemImpl implements ItemLibrary { + + private final ZapAPI zapAPI; + + public ZaphkielItemImpl() { + this.zapAPI = Zaphkiel.INSTANCE.api(); + } + + @Override + public String identification() { + return "Zaphkiel"; + } + + @Override + public ItemStack buildItem(Player player, String id) { + return zapAPI.getItemManager().generateItemStack(id, player); + } + + @Override + public String getItemID(ItemStack itemStack) { + if (itemStack == null || itemStack.getType() == Material.AIR) return null; + return zapAPI.getItemHandler().getItemId(itemStack); + } +} diff --git a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java index 9458a554..a8211c65 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java +++ b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/FishingManagerImpl.java @@ -294,7 +294,7 @@ public class FishingManagerImpl implements Listener, FishingManager { if ((entity instanceof ArmorStand armorStand) && armorStand.getPersistentDataContainer().get( Objects.requireNonNull(NamespacedKey.fromString("lavafishing", plugin)), - PersistentDataType.BOOLEAN + PersistentDataType.STRING ) != null) { // The hook is hooked into the temp entity // This might be called both not in game and in game diff --git a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/HookCheckTimerTask.java b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/HookCheckTimerTask.java index da9e9dec..e3eb3679 100644 --- a/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/HookCheckTimerTask.java +++ b/plugin/src/main/java/net/momirealms/customfishing/mechanic/fishing/HookCheckTimerTask.java @@ -230,8 +230,8 @@ public class HookCheckTimerTask implements Runnable { a.setGravity(false); a.getPersistentDataContainer().set( Objects.requireNonNull(NamespacedKey.fromString("lavafishing", CustomFishingPlugin.get())), - PersistentDataType.BOOLEAN, - true + PersistentDataType.STRING, + "temp" ); }); fishHook.setHookedEntity(hookedEntity); diff --git a/plugin/src/main/resources/plugin.yml b/plugin/src/main/resources/plugin.yml index 13968d76..ba18ccdf 100644 --- a/plugin/src/main/resources/plugin.yml +++ b/plugin/src/main/resources/plugin.yml @@ -33,6 +33,7 @@ softdepend: - Jobs - EcoJobs + - Zaphkiel permissions: fishingbag.user: