summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/test
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-15 10:36:57 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-15 10:36:57 +0200
commit5eae6a82b10cca07f3148f4d831ce285051634ca (patch)
treeae669f050b2f2aa8caeb3fde92dac7c07919d656 /src/main/java/at/hannibal2/skyhanni/test
parentb1a2491e9a84b8a4a6261b43f97d3a907d979f06 (diff)
downloadskyhanni-5eae6a82b10cca07f3148f4d831ce285051634ca.tar.gz
skyhanni-5eae6a82b10cca07f3148f4d831ce285051634ca.tar.bz2
skyhanni-5eae6a82b10cca07f3148f4d831ce285051634ca.zip
Added /shcopyinternalname and hotkey to copy internal names of items
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/test')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt33
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/command/CopyItemCommand.kt4
2 files changed, 35 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
index d330cc1d0..18baa8a5a 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
@@ -11,12 +11,15 @@ import at.hannibal2.skyhanni.features.garden.visitor.GardenVisitorColorNames
import at.hannibal2.skyhanni.utils.*
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalNameOrNull
+import at.hannibal2.skyhanni.utils.ItemUtils.name
import at.hannibal2.skyhanni.utils.NEUItems.getNpcPriceOrNull
import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators
import at.hannibal2.skyhanni.utils.RenderUtils.renderString
import at.hannibal2.skyhanni.utils.RenderUtils.renderStringsAndItems
import net.minecraft.client.Minecraft
+import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.nbt.NBTTagCompound
+import net.minecraftforge.client.event.GuiScreenEvent
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.event.entity.player.ItemTooltipEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -230,6 +233,36 @@ class SkyHanniDebugsAndTests {
OSUtils.copyToClipboard(builder.toString())
LorenzUtils.chat("§eCopied SkyHanni debug data to clipboard.")
}
+
+ fun copyItemInternalName() {
+ val hand = InventoryUtils.getItemInHand()
+ if (hand == null) {
+ LorenzUtils.chat("§cNo item in hand!")
+ return
+ }
+
+ val internalName = hand.getInternalNameOrNull()
+ if (internalName == null) {
+ LorenzUtils.chat("§cInternal name is null for item ${hand.name}")
+ return
+ }
+
+ val rawInternalName = internalName.asString()
+ OSUtils.copyToClipboard(rawInternalName)
+ LorenzUtils.chat("§eCopied internal name §7$rawInternalName §eto the clipboard!")
+ }
+ }
+
+ @SubscribeEvent
+ fun onKeybind(event: GuiScreenEvent.KeyboardInputEvent.Post) {
+ if (!OSUtils.isKeyHeld(SkyHanniMod.feature.dev.copyInternalName)) return
+ val gui = event.gui as? GuiContainer ?: return
+ val focussedSlot = gui.slotUnderMouse ?: return
+ val stack = focussedSlot.stack ?: return
+ val internalName = stack.getInternalNameOrNull() ?: return
+ val rawInternalName = internalName.asString()
+ OSUtils.copyToClipboard(rawInternalName)
+ LorenzUtils.chat("§eCopied internal name §7$rawInternalName §eto the clipboard!")
}
@SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/test/command/CopyItemCommand.kt b/src/main/java/at/hannibal2/skyhanni/test/command/CopyItemCommand.kt
index d2f0b60ab..4fc82bbc3 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/command/CopyItemCommand.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/command/CopyItemCommand.kt
@@ -1,18 +1,18 @@
package at.hannibal2.skyhanni.test.command
import at.hannibal2.skyhanni.test.SkyHanniDebugsAndTests
+import at.hannibal2.skyhanni.utils.InventoryUtils
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName_old
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.OSUtils
-import net.minecraft.client.Minecraft
object CopyItemCommand {
fun command(args: Array<String>) {
try {
val resultList = mutableListOf<String>()
- val itemStack = Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem()!!
+ val itemStack = InventoryUtils.getItemInHand() ?: return
resultList.add("ITEM LORE")
resultList.add("display name: '" + itemStack.displayName.toString() + "'")
val itemID = itemStack.getInternalName_old()