diff --git a/compatibility/build.gradle.kts b/compatibility/build.gradle.kts index 7f9d3348..f71f9f3a 100644 --- a/compatibility/build.gradle.kts +++ b/compatibility/build.gradle.kts @@ -18,6 +18,7 @@ repositories { maven("https://repo.nexomc.com/releases/") // nexo maven("https://repo.nexomc.com/snapshots/") maven("https://repo.lukasa.lt/repository/maven-public/") // packet wrapper + maven("https://repo.minebench.de/") // minedown adventure } dependencies { @@ -45,14 +46,15 @@ dependencies { // leveler compileOnly(files("libs/mcMMO-api.jar")) compileOnly("net.Indyuce:MMOCore-API:1.12.1-SNAPSHOT") - compileOnly(files("libs/AuraSkills-2.3.4.jar")) + compileOnly(files("libs/AuraSkills-2.3.8.jar")) compileOnly("com.github.Archy-X:AureliumSkills:Beta1.3.21") compileOnly("com.github.Zrips:Jobs:v5.2.2.3") // quest compileOnly(files("libs/BattlePass-4.0.6-api.jar")) compileOnly(files("libs/ClueScrolls-4.8.7-api.jar")) compileOnly(files("libs/notquests-5.17.1.jar")) - compileOnly(files("libs/beautyquests-1.0.4.jar")) + compileOnly(files("libs/beautyquests-2.0.0.jar")) + compileOnly("com.github.cryptomorin:XSeries:13.5.1") compileOnly("com.comphenix.packetwrapper:PacketWrapper:1.20-2.2.1") compileOnly("org.betonquest:betonquest:2.2.1") // item diff --git a/compatibility/libs/AuraSkills-2.3.4.jar b/compatibility/libs/AuraSkills-2.3.8.jar similarity index 81% rename from compatibility/libs/AuraSkills-2.3.4.jar rename to compatibility/libs/AuraSkills-2.3.8.jar index 92be04f4..6d480d77 100644 Binary files a/compatibility/libs/AuraSkills-2.3.4.jar and b/compatibility/libs/AuraSkills-2.3.8.jar differ diff --git a/compatibility/libs/beautyquests-1.0.4.jar b/compatibility/libs/beautyquests-1.0.4.jar deleted file mode 100644 index 413506d5..00000000 Binary files a/compatibility/libs/beautyquests-1.0.4.jar and /dev/null differ diff --git a/compatibility/libs/beautyquests-2.0.0.jar b/compatibility/libs/beautyquests-2.0.0.jar new file mode 100644 index 00000000..8043efcf Binary files /dev/null and b/compatibility/libs/beautyquests-2.0.0.jar differ diff --git a/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/item/AuraSkillItemProvider.java b/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/item/AuraSkillItemProvider.java index 9b615efd..13d5e0ec 100644 --- a/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/item/AuraSkillItemProvider.java +++ b/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/item/AuraSkillItemProvider.java @@ -17,6 +17,7 @@ import dev.aurelium.auraskills.bukkit.AuraSkills; import dev.aurelium.auraskills.bukkit.hooks.WorldGuardFlags.FlagKey; import dev.aurelium.auraskills.bukkit.hooks.WorldGuardHook; import dev.aurelium.auraskills.bukkit.loot.context.MobContext; +import dev.aurelium.auraskills.bukkit.loot.item.BukkitItemSupplier; import dev.aurelium.auraskills.bukkit.loot.type.EntityLoot; import dev.aurelium.auraskills.bukkit.loot.type.ItemLoot; import dev.aurelium.auraskills.bukkit.source.FishingLeveler; @@ -225,7 +226,8 @@ public class AuraSkillItemProvider implements ItemProvider { int amount = generateAmount(loot.getMinAmount(), loot.getMaxAmount()); if (amount == 0) return new ItemStack(Material.AIR); - ItemStack drop = generateDamaged(unwrap(loot.getItem().supplyItem(plugin, table)), loot.getMinDamage(), loot.getMaxDamage()); + BukkitItemSupplier bukkitItemSupplier = new BukkitItemSupplier(loot.getItem()); + ItemStack drop = generateDamaged(unwrap(bukkitItemSupplier.supplyItem(plugin, table)), loot.getMinDamage(), loot.getMaxDamage()); drop.setAmount(amount); attemptSendMessage(player, loot); diff --git a/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/quest/BeautyFishingQuest.java b/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/quest/BeautyFishingQuest.java index deab0fae..7a2d4005 100644 --- a/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/quest/BeautyFishingQuest.java +++ b/compatibility/src/main/java/net/momirealms/customfishing/bukkit/integration/quest/BeautyFishingQuest.java @@ -1,5 +1,6 @@ package net.momirealms.customfishing.bukkit.integration.quest; +import com.cryptomorin.xseries.XMaterial; import fr.skytasul.quests.api.QuestsAPI; import fr.skytasul.quests.api.comparison.ItemComparisonMap; import fr.skytasul.quests.api.localization.Lang; @@ -10,7 +11,6 @@ import fr.skytasul.quests.api.stages.StageTypeRegistry; import fr.skytasul.quests.api.stages.creation.StageCreationContext; import fr.skytasul.quests.api.stages.types.AbstractItemStage; import fr.skytasul.quests.api.utils.CountableObject; -import fr.skytasul.quests.api.utils.XMaterial; import net.momirealms.customfishing.api.event.FishingLootSpawnEvent; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Item; diff --git a/core/src/main/java/net/momirealms/customfishing/bukkit/integration/BukkitIntegrationManager.java b/core/src/main/java/net/momirealms/customfishing/bukkit/integration/BukkitIntegrationManager.java index 1e140b77..5e3511e8 100644 --- a/core/src/main/java/net/momirealms/customfishing/bukkit/integration/BukkitIntegrationManager.java +++ b/core/src/main/java/net/momirealms/customfishing/bukkit/integration/BukkitIntegrationManager.java @@ -197,8 +197,10 @@ public class BukkitIntegrationManager implements IntegrationManager { if (isHooked("ShopGUIPlus")) { ShopGUIHook.register(); } - if (isHooked("BeautyQuests")) { + if (isHooked("BeautyQuests", "2")) { BeautyFishingQuest.register(); + } else if (isOutdated("BeautyQuests", "1")) { + this.plugin.getPluginLogger().info("CustomFishing no longer supports BeautyQuests1.x, please consider updating to BeautyQuests2.x. https://www.spigotmc.org/resources/beautyquests.39255/"); } if (Bukkit.getPluginManager().getPlugin("Geyser-Spigot") != null) { this.hasGeyser = true; @@ -231,6 +233,19 @@ public class BukkitIntegrationManager implements IntegrationManager { return false; } + private boolean isOutdated(String hooked, String... versionPrefix) { + Plugin p = Bukkit.getPluginManager().getPlugin(hooked); + if (p != null) { + String ver = p.getDescription().getVersion(); + for (String prefix : versionPrefix) { + if (ver.startsWith(prefix)) { + return true; + } + } + } + return false; + } + @Override public boolean registerLevelerProvider(@NotNull LevelerProvider leveler) { if (levelerProviders.containsKey(leveler.identifier())) return false;