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 java.util.regex.Pattern
import kotlin.time.Duration import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds 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.item.ItemStack
import net.minecraft.text.Text
import net.minecraft.util.DyeColor import net.minecraft.util.DyeColor
import net.minecraft.util.Hand import net.minecraft.util.Hand
import net.minecraft.util.Identifier import net.minecraft.util.Identifier
@@ -47,6 +50,7 @@ object PickaxeAbility : FirmamentFeature {
object TConfig : ManagedConfig(identifier, Category.MINING) { object TConfig : ManagedConfig(identifier, Category.MINING) {
val cooldownEnabled by toggle("ability-cooldown") { false } val cooldownEnabled by toggle("ability-cooldown") { false }
val cooldownScale by integer("ability-scale", 16, 64) { 16 } 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 drillFuelBar by toggle("fuel-bar") { true }
val blockOnPrivateIsland by choice( val blockOnPrivateIsland by choice(
"block-on-dynamic", "block-on-dynamic",
@@ -170,6 +174,11 @@ object PickaxeAbility : FirmamentFeature {
nowAvailable.useMatch(it.unformattedString) { nowAvailable.useMatch(it.unformattedString) {
val ability = group("name") val ability = group("name")
lastUsage[ability] = TimeMark.farPast() 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-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": "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-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": "Block on Private Island",
"firmament.config.pickaxe-info.block-on-dynamic.choice.always": "Always Block", "firmament.config.pickaxe-info.block-on-dynamic.choice.always": "Always Block",
"firmament.config.pickaxe-info.block-on-dynamic.choice.never": "Never Block", "firmament.config.pickaxe-info.block-on-dynamic.choice.never": "Never Block",