aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/KatRecipe.kt2
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt24
2 files changed, 18 insertions, 8 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/KatRecipe.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/KatRecipe.kt
index c4b64969..e6dc0abc 100644
--- a/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/KatRecipe.kt
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/KatRecipe.kt
@@ -161,4 +161,6 @@ data class KatRecipe(
override fun getBackground(): ResourceLocation {
return ResourceLocation("notenoughupdates:textures/gui/katting_tall.png")
}
+
+ override fun shouldUseForCraftCost() = false
}
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt
index e7d29642..200aa3fa 100644
--- a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/PetLeveling.kt
@@ -91,21 +91,29 @@ object PetLeveling {
}
}
+ val stubExpLadder by lazy {
+ Utils.showOutdatedRepoNotification()
+ ExpLadder(listOf(1, 1))
+ }
+
internal fun getPetLevelingForPet0(petIdWithoutRarity: String, rarity: Rarity): ExpLadder {
- val petConstants = this.petConstants ?: Constants.PETS
- var levels = petConstants["pet_levels"].asJsonArray.map { it.asLong }.toMutableList()
- val customLeveling = petConstants["custom_pet_leveling"].asJsonObject[petIdWithoutRarity]
- val offset = petConstants["pet_rarity_offset"].asJsonObject[rarity.name].asInt
+ val petConstants = this.petConstants ?: Constants.PETS ?: return stubExpLadder
+ var levels = petConstants["pet_levels"]?.asJsonArray?.map { it.asLong }?.toMutableList() ?: return stubExpLadder
+ val customLeveling = petConstants["custom_pet_leveling"]?.asJsonObject?.get(petIdWithoutRarity)
+ var rarityOffsets = petConstants["pet_rarity_offset"]?.asJsonObject
var maxLevel = 100
if (customLeveling is JsonObject) {
- val customLevels by lazy { customLeveling["pet_levels"].asJsonArray.map { it.asLong } }
+ val customLevels by lazy { customLeveling["pet_levels"]?.asJsonArray?.map { it.asLong } }
when (customLeveling["type"]?.asInt ?: 0) {
- 1 -> levels.addAll(customLevels)
- 2 -> levels = customLevels.toMutableList()
+ 1 -> levels.addAll(customLevels ?: return stubExpLadder)
+ 2 -> levels = customLevels?.toMutableList() ?: return stubExpLadder
}
maxLevel = customLeveling["max_level"]?.asInt ?: maxLevel
+ rarityOffsets = customLeveling["rarity_offset"]?.asJsonObject ?: rarityOffsets
}
- return ExpLadder(levels.drop(offset).take(maxLevel))
+ val offset = rarityOffsets?.get(rarity.name)?.asInt ?: return stubExpLadder
+
+ return ExpLadder(levels.drop(offset).take(maxLevel - 1))
}
}