diff options
author | nea <nea@nea.moe> | 2023-07-25 19:48:22 +0200 |
---|---|---|
committer | nea <nea@nea.moe> | 2023-07-25 19:48:22 +0200 |
commit | 3375907c44704b968f06ac996cb389c4e29b3826 (patch) | |
tree | 07dcc268946d2966806ac814646512861f16b8c9 /src/main/kotlin/moe/nea/firmament/features/debug | |
parent | 0aacb6b965852647fde85045882b6aa6cf58c287 (diff) | |
download | firmament-3375907c44704b968f06ac996cb389c4e29b3826.tar.gz firmament-3375907c44704b968f06ac996cb389c4e29b3826.tar.bz2 firmament-3375907c44704b968f06ac996cb389c4e29b3826.zip |
Fix some issues idk
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/features/debug')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt | 27 |
1 files changed, 27 insertions, 0 deletions
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 253bc0d..ffa0fd2 100644 --- a/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt +++ b/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt @@ -2,16 +2,25 @@ 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.iterate +import moe.nea.firmament.util.skyBlockId object DeveloperFeatures : FirmamentFeature { override val identifier: String @@ -50,5 +59,23 @@ 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_NEU ?: 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"))) + ) + ) + } + } } } |