From 8d6bf06f9703e210b537c6e5b7b4e2e0af206376 Mon Sep 17 00:00:00 2001 From: NotAlexNoyle Date: Mon, 11 May 2026 09:33:14 -0400 Subject: [PATCH] Update to latest DiamondBank-OG API --- libs/DiamondBank-OG | 2 +- .../kotlin/net/trueog/questsOG/QuestsOG.kt | 2 +- .../net/trueog/questsOG/quests/HomesFive.kt | 25 ++++++++++++-- .../net/trueog/questsOG/quests/HomesFour.kt | 25 ++++++++++++-- .../net/trueog/questsOG/quests/HomesSix.kt | 25 ++++++++++++-- .../net/trueog/questsOG/quests/HomesThree.kt | 34 ++++++++++++++++--- .../net/trueog/questsOG/quests/HomesTwo.kt | 26 +++++++++++--- 7 files changed, 120 insertions(+), 19 deletions(-) diff --git a/libs/DiamondBank-OG b/libs/DiamondBank-OG index b57a37a..ddd98df 160000 --- a/libs/DiamondBank-OG +++ b/libs/DiamondBank-OG @@ -1 +1 @@ -Subproject commit b57a37a5db21d3da591db142e691e16ccd60bfa4 +Subproject commit ddd98df0a785cec3e9c9afc1bfca1bb5c0de2816 diff --git a/src/main/kotlin/net/trueog/questsOG/QuestsOG.kt b/src/main/kotlin/net/trueog/questsOG/QuestsOG.kt index 58d6cdc..c843527 100644 --- a/src/main/kotlin/net/trueog/questsOG/QuestsOG.kt +++ b/src/main/kotlin/net/trueog/questsOG/QuestsOG.kt @@ -6,7 +6,7 @@ import net.kyori.adventure.text.minimessage.MiniMessage import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver import net.kyori.adventure.text.minimessage.tag.standard.StandardTags import net.luckperms.api.LuckPerms -import net.trueog.diamondbankog.DiamondBankAPIKotlin +import net.trueog.diamondbankog.api.DiamondBankAPIKotlin import org.bukkit.Bukkit import org.bukkit.plugin.Plugin import org.bukkit.plugin.java.JavaPlugin diff --git a/src/main/kotlin/net/trueog/questsOG/quests/HomesFive.kt b/src/main/kotlin/net/trueog/questsOG/quests/HomesFive.kt index 6450452..8f3ef2c 100644 --- a/src/main/kotlin/net/trueog/questsOG/quests/HomesFive.kt +++ b/src/main/kotlin/net/trueog/questsOG/quests/HomesFive.kt @@ -16,6 +16,7 @@ import org.bukkit.persistence.PersistentDataType class HomesFive : Quest { private data class Requirements( val totalShards: Long, + val requiredShards: Long, val ticksPlayed: Int, val pigOneCm: Int, val striderOneCm: Int, @@ -33,6 +34,10 @@ class HomesFive : Quest { val duelsWins: Int, ) + private companion object { + const val REQUIRED_DIAMONDS = 2500L + } + val customMobHeadKey = NamespacedKey(QuestsOG.mobHeads, "customMobHead") private val cutestPredatorAdvancement = @@ -53,6 +58,10 @@ class HomesFive : Quest { } private suspend fun fetchRequirements(player: Player): Requirements? { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return null + } val totalShards = QuestsOG.diamondBankAPI.getTotalShards(player.uniqueId).getOrElse { return null @@ -93,6 +102,7 @@ class HomesFive : Quest { return Requirements( totalShards, + requiredShards, ticksPlayed, pigOneCm, striderOneCm, @@ -118,7 +128,7 @@ class HomesFive : Quest { return null } - return requirements.totalShards >= 2500 * 9 && + return requirements.totalShards >= requirements.requiredShards && requirements.ticksPlayed / 20.0 / 60.0 / 60.0 / 24.0 >= 15 && requirements.pigOneCm / 100000.0 >= 5 && requirements.striderOneCm / 100000.0 >= 1 && @@ -137,8 +147,17 @@ class HomesFive : Quest { } override suspend fun consumeQuestItems(player: Player): Boolean { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return false + } val withdrawResult = - QuestsOG.diamondBankAPI.consumeFromPlayer(player.uniqueId, 2500 * 9, "Homes five quest claimed", null) + QuestsOG.diamondBankAPI.consumeFromPlayer( + player.uniqueId, + requiredShards, + "Home five quest claimed", + "Quests-OG /claimquest", + ) if (withdrawResult.isFailure) { return false } @@ -166,7 +185,7 @@ class HomesFive : Quest { } return arrayOf( - ProgressRequirement("Total Shards", requirements.totalShards, 2500L * 9L), + ProgressRequirement("Total Shards", requirements.totalShards, requirements.requiredShards), ProgressRequirement("Ticks Played", (requirements.ticksPlayed).toLong(), (25920000).toLong()), ProgressRequirement("Cm Travelled on Pig", (requirements.pigOneCm).toLong(), (500000).toLong()), ProgressRequirement("Cm Travelled on Strider", (requirements.striderOneCm).toLong(), (100000).toLong()), diff --git a/src/main/kotlin/net/trueog/questsOG/quests/HomesFour.kt b/src/main/kotlin/net/trueog/questsOG/quests/HomesFour.kt index c135217..7030762 100644 --- a/src/main/kotlin/net/trueog/questsOG/quests/HomesFour.kt +++ b/src/main/kotlin/net/trueog/questsOG/quests/HomesFour.kt @@ -13,6 +13,7 @@ import org.bukkit.entity.Player class HomesFour : Quest { private data class Requirements( val totalShards: Long, + val requiredShards: Long, val ticksPlayed: Int, val totalCm: Int, val hasFuriousCocktail: Boolean, @@ -22,6 +23,10 @@ class HomesFour : Quest { val duelsWins: Int, ) + private companion object { + const val REQUIRED_DIAMONDS = 1000L + } + private val furiousCocktailAdvancement = Bukkit.getServer().advancementIterator().asSequence().single { it.key.toString() == "minecraft:nether/all_potions" @@ -32,6 +37,10 @@ class HomesFour : Quest { } private suspend fun fetchRequirements(player: Player): Requirements? { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return null + } val totalShards = QuestsOG.diamondBankAPI.getTotalShards(player.uniqueId).getOrElse { return null @@ -78,6 +87,7 @@ class HomesFour : Quest { return Requirements( totalShards, + requiredShards, ticksPlayed, totalCm, furiousCocktailAdvancementProgress.isDone, @@ -95,7 +105,7 @@ class HomesFour : Quest { return null } - return requirements.totalShards >= 1000 * 9 && + return requirements.totalShards >= requirements.requiredShards && requirements.ticksPlayed / 20.0 / 60.0 / 60.0 / 24.0 >= 10 && requirements.totalCm / 100.0 >= 200000 && requirements.hasFuriousCocktail && @@ -106,8 +116,17 @@ class HomesFour : Quest { } override suspend fun consumeQuestItems(player: Player): Boolean { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return false + } val withdrawResult = - QuestsOG.diamondBankAPI.consumeFromPlayer(player.uniqueId, 1000 * 9, "Homes four quest claimed", null) + QuestsOG.diamondBankAPI.consumeFromPlayer( + player.uniqueId, + requiredShards, + "Home four quest claimed", + "Quests-OG /claimquest", + ) if (withdrawResult.isFailure) { return false } @@ -135,7 +154,7 @@ class HomesFour : Quest { } return arrayOf( - ProgressRequirement("Total Shards", (requirements.totalShards).toLong(), 1000L * 9L), + ProgressRequirement("Total Shards", requirements.totalShards, requirements.requiredShards), ProgressRequirement("Ticks Played", (requirements.ticksPlayed).toLong(), (17280000).toLong()), ProgressRequirement("Total Cm Travelled", (requirements.totalCm).toLong(), (20000000).toLong()), BooleanRequirement("A Furious Cocktail", requirements.hasFuriousCocktail), diff --git a/src/main/kotlin/net/trueog/questsOG/quests/HomesSix.kt b/src/main/kotlin/net/trueog/questsOG/quests/HomesSix.kt index 0fcfb9f..dda02c0 100644 --- a/src/main/kotlin/net/trueog/questsOG/quests/HomesSix.kt +++ b/src/main/kotlin/net/trueog/questsOG/quests/HomesSix.kt @@ -14,6 +14,7 @@ import org.bukkit.inventory.ItemStack class HomesSix : Quest { private data class Requirements( val totalShards: Long, + val requiredShards: Long, val ticksPlayed: Int, val walkOnWaterOneCm: Int, val walkUnderWaterOneCm: Int, @@ -27,6 +28,10 @@ class HomesSix : Quest { val duelsWins: Int, ) + private companion object { + const val REQUIRED_DIAMONDS = 5000L + } + private val neededDiscs = setOf( Material.MUSIC_DISC_13, @@ -45,6 +50,10 @@ class HomesSix : Quest { ) private suspend fun fetchRequirements(player: Player): Requirements? { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return null + } val totalShards = QuestsOG.diamondBankAPI.getTotalShards(player.uniqueId).getOrElse { return null @@ -80,6 +89,7 @@ class HomesSix : Quest { return Requirements( totalShards, + requiredShards, ticksPlayed, walkOnWaterOneCm, walkUnderWaterOneCm, @@ -101,7 +111,7 @@ class HomesSix : Quest { return null } - return requirements.totalShards >= 5000 * 9 && + return requirements.totalShards >= requirements.requiredShards && requirements.ticksPlayed / 20.0 / 60.0 / 60.0 / 24.0 >= 30 && requirements.walkOnWaterOneCm / 100000.0 >= 10 && requirements.walkUnderWaterOneCm / 100000.0 >= 10 && @@ -115,8 +125,17 @@ class HomesSix : Quest { } override suspend fun consumeQuestItems(player: Player): Boolean { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return false + } val withdrawResult = - QuestsOG.diamondBankAPI.consumeFromPlayer(player.uniqueId, 5000 * 9, "Homes six quest claimed", null) + QuestsOG.diamondBankAPI.consumeFromPlayer( + player.uniqueId, + requiredShards, + "Home six quest claimed", + "Quests-OG /claimquest", + ) if (withdrawResult.isFailure) { return false } @@ -157,7 +176,7 @@ class HomesSix : Quest { } return arrayOf( - ProgressRequirement("Total Shards", (requirements.totalShards).toLong(), 5000L * 9L), + ProgressRequirement("Total Shards", requirements.totalShards, requirements.requiredShards), ProgressRequirement("Ticks Played", (requirements.ticksPlayed).toLong(), (51840000).toLong()), ProgressRequirement("Cm Walked on Water", (requirements.walkOnWaterOneCm).toLong(), (1000000).toLong()), ProgressRequirement( diff --git a/src/main/kotlin/net/trueog/questsOG/quests/HomesThree.kt b/src/main/kotlin/net/trueog/questsOG/quests/HomesThree.kt index 0c973ae..2253ef3 100644 --- a/src/main/kotlin/net/trueog/questsOG/quests/HomesThree.kt +++ b/src/main/kotlin/net/trueog/questsOG/quests/HomesThree.kt @@ -13,6 +13,7 @@ import org.bukkit.entity.Player class HomesThree : Quest { private data class Requirements( val totalShards: Long, + val requiredShards: Long, val ticksPlayed: Int, val totalCm: Int, val hasBeaconator: Boolean, @@ -20,12 +21,20 @@ class HomesThree : Quest { val duelsWins: Int, ) + private companion object { + const val REQUIRED_DIAMONDS = 250L + } + private val beaconatorAdvancement = Bukkit.getServer().advancementIterator().asSequence().single { it.key.toString() == "minecraft:nether/create_full_beacon" } private suspend fun fetchRequirements(player: Player): Requirements? { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return null + } val totalShards = QuestsOG.diamondBankAPI.getTotalShards(player.uniqueId).getOrElse { return null @@ -65,7 +74,15 @@ class HomesThree : Quest { val duelsWins = QuestsOG.duels.userManager.get(player.uniqueId)?.wins ?: 0 - return Requirements(totalShards, ticksPlayed, totalCm, advancementProgress.isDone, player.level, duelsWins) + return Requirements( + totalShards, + requiredShards, + ticksPlayed, + totalCm, + advancementProgress.isDone, + player.level, + duelsWins, + ) } override suspend fun isEligible(player: Player): Boolean? { @@ -75,7 +92,7 @@ class HomesThree : Quest { return null } - return requirements.totalShards >= 250 * 9 && + return requirements.totalShards >= requirements.requiredShards && requirements.ticksPlayed / 20.0 / 60.0 / 60.0 / 24.0 >= 5 && requirements.totalCm / 100.0 >= 50000 && // 100k? requirements.hasBeaconator && @@ -84,8 +101,17 @@ class HomesThree : Quest { } override suspend fun consumeQuestItems(player: Player): Boolean { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return false + } val withdrawResult = - QuestsOG.diamondBankAPI.consumeFromPlayer(player.uniqueId, 250 * 9, "Homes three quest claimed", null) + QuestsOG.diamondBankAPI.consumeFromPlayer( + player.uniqueId, + requiredShards, + "Home three quest claimed", + "Quests-OG /claimquest", + ) if (withdrawResult.isFailure) { return false } @@ -113,7 +139,7 @@ class HomesThree : Quest { } return arrayOf( - ProgressRequirement("Total Shards", (requirements.totalShards).toLong(), 250L * 9L), + ProgressRequirement("Total Shards", requirements.totalShards, requirements.requiredShards), ProgressRequirement("Ticks Played", (requirements.ticksPlayed).toLong(), (8640000).toLong()), ProgressRequirement("Total Cm Travelled", (requirements.totalCm).toLong(), (5000000).toLong()), BooleanRequirement("Beaconator", requirements.hasBeaconator), diff --git a/src/main/kotlin/net/trueog/questsOG/quests/HomesTwo.kt b/src/main/kotlin/net/trueog/questsOG/quests/HomesTwo.kt index 6ba433f..b6a9092 100644 --- a/src/main/kotlin/net/trueog/questsOG/quests/HomesTwo.kt +++ b/src/main/kotlin/net/trueog/questsOG/quests/HomesTwo.kt @@ -11,13 +11,22 @@ import org.bukkit.entity.Player class HomesTwo : Quest { private data class Requirements( val totalShards: Long, + val requiredShards: Long, val ticksPlayed: Int, val totalCm: Int, val levels: Int, val duelsWins: Int, ) + private companion object { + const val REQUIRED_DIAMONDS = 100L + } + private suspend fun fetchRequirements(player: Player): Requirements? { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return null + } val totalShards = QuestsOG.diamondBankAPI.getTotalShards(player.uniqueId).getOrElse { return null @@ -55,7 +64,7 @@ class HomesTwo : Quest { val duelsWins = QuestsOG.duels.userManager.get(player.uniqueId)?.wins ?: 0 - return Requirements(totalShards, ticksPlayed, totalCm, player.level, duelsWins) + return Requirements(totalShards, requiredShards, ticksPlayed, totalCm, player.level, duelsWins) } override suspend fun isEligible(player: Player): Boolean? { @@ -65,7 +74,7 @@ class HomesTwo : Quest { return null } - return requirements.totalShards >= 100 * 9 && + return requirements.totalShards >= requirements.requiredShards && requirements.ticksPlayed / 20.0 / 60.0 / 60.0 >= 24 && requirements.totalCm / 100.0 >= 10000 && requirements.levels >= 50 && @@ -73,8 +82,17 @@ class HomesTwo : Quest { } override suspend fun consumeQuestItems(player: Player): Boolean { + val requiredShards = + QuestsOG.diamondBankAPI.diamondsToShards(REQUIRED_DIAMONDS.toDouble()).getOrElse { + return false + } val withdrawResult = - QuestsOG.diamondBankAPI.consumeFromPlayer(player.uniqueId, 100 * 9, "Homes two quest claimed", null) + QuestsOG.diamondBankAPI.consumeFromPlayer( + player.uniqueId, + requiredShards, + "Home two quest claimed", + "Quests-OG /claimquest", + ) if (withdrawResult.isFailure) { return false } @@ -98,7 +116,7 @@ class HomesTwo : Quest { } return arrayOf( - ProgressRequirement("Total Shards", (requirements.totalShards).toLong(), 100L * 9L), + ProgressRequirement("Total Shards", requirements.totalShards, requirements.requiredShards), ProgressRequirement("Ticks Played", (requirements.ticksPlayed).toLong(), (1728000).toLong()), ProgressRequirement("Total Cm Travelled", (requirements.totalCm).toLong(), (1000000).toLong()), )