feat: pickaxe ability ready toast

This commit is contained in:
Jacob
2025-04-22 21:29:27 +08:00
committed by Linnea Gräf
parent c3ce85bcee
commit 3d0021f4a4
2 changed files with 11 additions and 0 deletions

View File

@@ -3,7 +3,10 @@ package moe.nea.firmament.features.mining
import java.util.regex.Pattern
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
import net.minecraft.client.MinecraftClient
import net.minecraft.client.toast.SystemToast
import net.minecraft.item.ItemStack
import net.minecraft.text.Text
import net.minecraft.util.DyeColor
import net.minecraft.util.Hand
import net.minecraft.util.Identifier
@@ -47,6 +50,7 @@ object PickaxeAbility : FirmamentFeature {
object TConfig : ManagedConfig(identifier, Category.MINING) {
val cooldownEnabled by toggle("ability-cooldown") { false }
val cooldownScale by integer("ability-scale", 16, 64) { 16 }
val cooldownReadyToast by toggle("ability-cooldown-toast") { false }
val drillFuelBar by toggle("fuel-bar") { true }
val blockOnPrivateIsland by choice(
"block-on-dynamic",
@@ -170,6 +174,11 @@ object PickaxeAbility : FirmamentFeature {
nowAvailable.useMatch(it.unformattedString) {
val ability = group("name")
lastUsage[ability] = TimeMark.farPast()
if (!TConfig.cooldownReadyToast) return
val mc: MinecraftClient = MinecraftClient.getInstance()
mc.toastManager.add(
SystemToast.create(mc, SystemToast.Type.NARRATOR_TOGGLE, Text.of("Pickaxe Cooldown"), Text.of("Pickaxe ability is ready!"))
)
}
}

View File

@@ -166,6 +166,8 @@
"firmament.config.pickaxe-info.ability-cooldown.description": "Show a cooldown on your cross-hair for your pickaxe ability.",
"firmament.config.pickaxe-info.ability-scale": "Ability Cooldown Scale",
"firmament.config.pickaxe-info.ability-scale.description": "Resize the cooldown around your cross-hair for your pickaxe ability.",
"firmament.config.pickaxe-info.ability-cooldown-toast": "Pickaxe Ability Ready Toast",
"firmament.config.pickaxe-info.ability-cooldown-toast.description": "Shows a toast when your pickaxe ability is ready.",
"firmament.config.pickaxe-info.block-on-dynamic": "Block on Private Island",
"firmament.config.pickaxe-info.block-on-dynamic.choice.always": "Always Block",
"firmament.config.pickaxe-info.block-on-dynamic.choice.never": "Never Block",