aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt')
-rw-r--r--src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt b/src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt
index 8ad8d26..988e317 100644
--- a/src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt
+++ b/src/main/kotlin/moe/nea/ledger/ItemIdProvider.kt
@@ -1,37 +1,37 @@
package moe.nea.ledger
-import net.minecraft.client.gui.GuiScreen
import net.minecraft.client.gui.inventory.GuiChest
import net.minecraft.inventory.ContainerChest
import net.minecraft.nbt.NBTTagCompound
import net.minecraftforge.client.event.GuiScreenEvent
+import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class ItemIdProvider {
@SubscribeEvent
fun onMouseInput(event: GuiScreenEvent.MouseInputEvent.Pre) {
- saveInventoryIds(event.gui)
+ MinecraftForge.EVENT_BUS.post(BeforeGuiAction(event.gui))
}
@SubscribeEvent
fun onKeyInput(event: GuiScreenEvent.KeyboardInputEvent.Pre) {
- saveInventoryIds(event.gui)
+ MinecraftForge.EVENT_BUS.post(BeforeGuiAction(event.gui))
}
private val knownNames = mutableMapOf<String, String>()
- fun saveInventoryIds(gui: GuiScreen) {
- val chest = (gui as? GuiChest) ?: return
+ @SubscribeEvent
+ fun saveInventoryIds(event: BeforeGuiAction) {
+ val chest = (event.gui as? GuiChest) ?: return
val slots = chest.inventorySlots as ContainerChest
slots.inventorySlots.forEach {
val stack = it.stack ?: return@forEach
val nbt = stack.tagCompound ?: NBTTagCompound()
val display = nbt.getCompoundTag("display")
val name = display.getString("Name").unformattedString()
- val extraAttributes = nbt.getCompoundTag("ExtraAttributes")
- val id = extraAttributes.getString("id")
- if (id.isNotBlank() && name.isNotBlank()) {
+ val id = stack.getInternalId()
+ if (id != null && name.isNotBlank()) {
knownNames[name] = id
}
}