feat: Allow skipping DFU for REI lore cache generation

This commit is contained in:
Linnea Gräf
2025-06-22 15:19:01 +02:00
parent 4cfba87783
commit 7c45e48050
5 changed files with 73 additions and 25 deletions

View File

@@ -146,6 +146,10 @@ object ItemCache : IReloadable {
}
}
fun hasCacheFor(skyblockId: SkyblockId): Boolean {
return skyblockId.neuItem in cache
}
fun NEUItem?.asItemStack(idHint: SkyblockId? = null, loreReplacements: Map<String, String>? = null): ItemStack {
if (this == null) return brokenItemStack(null, idHint)
var s = cache[this.skyblockItemId]

View File

@@ -46,6 +46,7 @@ object RepoManager {
}
val alwaysSuperCraft by toggle("enable-super-craft") { true }
var warnForMissingItemListMod by toggle("warn-for-missing-item-list-mod") { true }
val perfectTooltips by toggle("perfect-tooltips") { false }
}
val currentDownloadedSha by RepoDownloadManager::latestSavedVersionHash

View File

@@ -225,14 +225,21 @@ data class SBItemStack constructor(
Text.literal(
buffKind.prefix + formattedAmount +
statFormatting.postFix +
buffKind.postFix + " ")
.withColor(buffKind.color)))
buffKind.postFix + " "
)
.withColor(buffKind.color)
)
)
}
fun formatValue() =
Text.literal(FirmFormatters.formatCommas(valueNum ?: 0.0,
1,
includeSign = true) + statFormatting.postFix + " ")
Text.literal(
FirmFormatters.formatCommas(
valueNum ?: 0.0,
1,
includeSign = true
) + statFormatting.postFix + " "
)
.setStyle(Style.EMPTY.withColor(statFormatting.color))
val statFormatting = formattingOverrides[statName] ?: StatFormatting("", Formatting.GREEN)
@@ -413,13 +420,26 @@ data class SBItemStack constructor(
.append(starString(stars))
val isDungeon = ItemType.fromItemStack(itemStack)?.isDungeon ?: true
val truncatedStarCount = if (isDungeon) minOf(5, stars) else stars
appendEnhancedStats(itemStack,
baseStats
.filter { it.statFormatting.isStarAffected }
.associate {
it.statName to ((it.valueNum ?: 0.0) * (truncatedStarCount * 0.02))
},
BuffKind.STAR_BUFF)
appendEnhancedStats(
itemStack,
baseStats
.filter { it.statFormatting.isStarAffected }
.associate {
it.statName to ((it.valueNum ?: 0.0) * (truncatedStarCount * 0.02))
},
BuffKind.STAR_BUFF
)
}
fun isWarm(): Boolean {
if (itemStack_ != null) return true
if (ItemCache.hasCacheFor(skyblockId)) return true
return false
}
fun asLazyImmutableItemStack(): ItemStack? {
if (isWarm()) return asImmutableItemStack()
return null
}
fun asImmutableItemStack(): ItemStack {