feat: Prettier price formatting

Co-authored-by: jani270 <69345714+jani270@users.noreply.github.com>
This commit is contained in:
Linnea Gräf
2025-06-04 00:19:51 +02:00
parent d75153847d
commit 9ad691bc1b
2 changed files with 58 additions and 39 deletions

View File

@@ -1,5 +1,3 @@
package moe.nea.firmament.features.inventory
import net.minecraft.text.Text
@@ -8,8 +6,12 @@ import moe.nea.firmament.events.ItemTooltipEvent
import moe.nea.firmament.features.FirmamentFeature
import moe.nea.firmament.gui.config.ManagedConfig
import moe.nea.firmament.repo.HypixelStaticData
import moe.nea.firmament.util.FirmFormatters
import moe.nea.firmament.util.FirmFormatters.formatCommas
import moe.nea.firmament.util.bold
import moe.nea.firmament.util.gold
import moe.nea.firmament.util.skyBlockId
import moe.nea.firmament.util.tr
import moe.nea.firmament.util.yellow
object PriceData : FirmamentFeature {
override val identifier: String
@@ -22,6 +24,20 @@ object PriceData : FirmamentFeature {
override val config get() = TConfig
fun formatPrice(label: Text, price: Double): Text {
return Text.literal("")
.yellow()
.bold()
.append(label)
.append(": ")
.append(
Text.literal(formatCommas(price, fractionalDigits = 1))
.append(if(price != 1.0) " coins" else " coin")
.gold()
.bold()
)
}
@Subscribe
fun onItemTooltip(it: ItemTooltipEvent) {
if (!TConfig.tooltipEnabled && !TConfig.enableKeybinding.isPressed()) {
@@ -33,18 +49,24 @@ object PriceData : FirmamentFeature {
if (bazaarData != null) {
it.lines.add(Text.literal(""))
it.lines.add(
Text.stringifiedTranslatable("firmament.tooltip.bazaar.sell-order",
FirmFormatters.formatCommas(bazaarData.quickStatus.sellPrice, 1))
formatPrice(
tr("firmament.tooltip.bazaar.sell-order", "Bazaar Sell Order"),
bazaarData.quickStatus.sellPrice
)
)
it.lines.add(
Text.stringifiedTranslatable("firmament.tooltip.bazaar.buy-order",
FirmFormatters.formatCommas(bazaarData.quickStatus.buyPrice, 1))
formatPrice(
tr("firmament.tooltip.bazaar.buy-order", "Bazaar Buy Order"),
bazaarData.quickStatus.buyPrice
)
)
} else if (lowestBin != null) {
it.lines.add(Text.literal(""))
it.lines.add(
Text.stringifiedTranslatable("firmament.tooltip.ah.lowestbin",
FirmFormatters.formatCommas(lowestBin, 1))
formatPrice(
tr("firmament.tooltip.ah.lowestbin", "Lowest BIN"),
lowestBin
)
)
}
}

View File

@@ -375,9 +375,6 @@
"firmament.sbinfo.server": "Locraw Server: %s",
"firmament.toggle.false": "Off",
"firmament.toggle.true": "On",
"firmament.tooltip.ah.lowestbin": "Lowest BIN: %d",
"firmament.tooltip.bazaar.buy-order": "Bazaar Buy Order: %s",
"firmament.tooltip.bazaar.sell-order": "Bazaar Sell Order: %s",
"firmament.tooltip.copied.lore": "Copied Name and Lore",
"firmament.tooltip.copied.modelid": "Copied Texture Id: %s",
"firmament.tooltip.copied.modelid.fail": "Failed to copy Texture Id",