From 9c7ea1ff0a676c0c568b06750df8cb364b77d01b Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Fri, 29 Dec 2023 20:26:22 +0100 Subject: Support copying nerd stats from item list --- .../firmament/features/debug/DeveloperFeatures.kt | 33 +--------------------- .../nea/firmament/features/debug/PowerUserTools.kt | 5 ++-- 2 files changed, 4 insertions(+), 34 deletions(-) (limited to 'src/main/kotlin/moe/nea/firmament/features/debug') diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt b/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt index 7e3203b..6bf299f 100644 --- a/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt +++ b/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt @@ -8,25 +8,17 @@ package moe.nea.firmament.features.debug import java.nio.file.Path import java.util.concurrent.CompletableFuture -import org.lwjgl.glfw.GLFW import kotlin.io.path.absolute import kotlin.io.path.exists import net.minecraft.client.MinecraftClient -import net.minecraft.text.ClickEvent -import net.minecraft.text.HoverEvent -import net.minecraft.text.Style import net.minecraft.text.Text -import net.minecraft.util.Formatting import moe.nea.firmament.Firmament -import moe.nea.firmament.events.HandledScreenKeyPressedEvent import moe.nea.firmament.features.FirmamentFeature import moe.nea.firmament.gui.config.ManagedConfig -import moe.nea.firmament.keybindings.IKeyBinding -import moe.nea.firmament.mixins.accessor.AccessorHandledScreen import moe.nea.firmament.util.MC import moe.nea.firmament.util.TimeMark +import moe.nea.firmament.util.errorBoundary import moe.nea.firmament.util.iterate -import moe.nea.firmament.util.skyBlockId object DeveloperFeatures : FirmamentFeature { override val identifier: String @@ -66,29 +58,6 @@ object DeveloperFeatures : FirmamentFeature { override fun onLoad() { - HandledScreenKeyPressedEvent.subscribe { - if (it.matches(IKeyBinding.ofKeyCode(GLFW.GLFW_KEY_K))) { - it.screen as AccessorHandledScreen - val focussedSlot = it.screen.focusedSlot_Firmament ?: return@subscribe - val item = focussedSlot.stack ?: return@subscribe - val ident = item.skyBlockId?.identifier.toString() - MinecraftClient.getInstance().inGameHud.chatHud.addMessage( - Text.translatable( - "firmament.debug.skyblockid", - ident - ).setStyle( - Style.EMPTY.withColor(Formatting.AQUA) - .withClickEvent(ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, ident)) - .withHoverEvent( - HoverEvent( - HoverEvent.Action.SHOW_TEXT, - Text.translatable("firmament.debug.skyblockid.copy") - ) - ) - ) - ) - } - } } } diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt b/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt index 8c9baf7..4140490 100644 --- a/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt +++ b/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt @@ -24,6 +24,7 @@ import moe.nea.firmament.gui.config.ManagedConfig import moe.nea.firmament.mixins.accessor.AccessorHandledScreen import moe.nea.firmament.util.ClipboardUtils import moe.nea.firmament.util.MC +import moe.nea.firmament.util.focusedItemStack import moe.nea.firmament.util.skyBlockId object PowerUserTools : FirmamentFeature { @@ -56,7 +57,7 @@ object PowerUserTools : FirmamentFeature { it.lines.add(Text.translatable("firmament.tooltip.skyblockid", id.neuItem)) } val (item, text) = lastCopiedStack ?: return@subscribe - if (item != it.stack) { + if (!ItemStack.areEqual(item, it.stack)) { lastCopiedStack = null return@subscribe } @@ -96,7 +97,7 @@ object PowerUserTools : FirmamentFeature { } HandledScreenKeyPressedEvent.subscribe { if (it.screen !is AccessorHandledScreen) return@subscribe - val item = it.screen.focusedSlot_Firmament?.stack ?: return@subscribe + val item = it.screen.focusedItemStack ?: return@subscribe if (it.matches(TConfig.copyItemId)) { val sbId = item.skyBlockId if (sbId == null) { -- cgit