From b0735ffc3ed655838de6d0d0eb6376cde92483d1 Mon Sep 17 00:00:00 2001 From: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Date: Mon, 23 Sep 2024 15:48:19 +1000 Subject: Backend: Create and use primitive recipe and ingredient (#2460) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../skyhanni/utils/PrimitiveIngredient.kt | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/utils/PrimitiveIngredient.kt (limited to 'src/main/java/at/hannibal2/skyhanni/utils/PrimitiveIngredient.kt') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveIngredient.kt b/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveIngredient.kt new file mode 100644 index 000000000..e8d1edefc --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveIngredient.kt @@ -0,0 +1,26 @@ +package at.hannibal2.skyhanni.utils + +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.SKYBLOCK_COIN +import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName +import io.github.moulberry.notenoughupdates.recipes.Ingredient + +class PrimitiveIngredient(val internalName: NEUInternalName, val count: Double = 1.0) { + + constructor(internalName: NEUInternalName, count: Int) : this(internalName, count.toDouble()) + + constructor(ingredientIdentifier: String) : this( + ingredientIdentifier.substringBefore(':').asInternalName(), + ingredientIdentifier.substringAfter(':').toDoubleOrNull() ?: 1.0, + ) + + companion object { + fun coinIngredient(count: Double = 1.0) = PrimitiveIngredient(SKYBLOCK_COIN, count) + + fun fromNeuIngredient(neuIngredient: Ingredient) = PrimitiveIngredient(neuIngredient.internalItemId.asInternalName(), neuIngredient.count) + } + + fun isCoin() = internalName == SKYBLOCK_COIN + + + override fun toString() = "$internalName x$count" +} -- cgit