aboutsummaryrefslogtreecommitdiff
path: root/mod/src/main/kotlin/moe/nea/ledger/utils/ScreenUtil.kt
blob: 0305126b5187a34eaae318a66ea8f67b1713c0aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package moe.nea.ledger.utils

import moe.nea.ledger.mixin.AccessorContainerDispenser
import moe.nea.ledger.mixin.AccessorContainerHopper
import net.minecraft.client.gui.GuiScreen
import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.inventory.ContainerChest
import net.minecraft.inventory.IInventory

object ScreenUtil {
	fun estimateInventory(screen: GuiScreen?): IInventory? {
		if (screen !is GuiContainer) {
			return null
		}
		val container = screen.inventorySlots ?: return null
		if (container is ContainerChest)
			return container.lowerChestInventory
		if (container is AccessorContainerDispenser)
			return container.dispenserInventory_ledger
		if (container is AccessorContainerHopper)
			return container.hopperInventory_ledger
		return null

	}

	fun estimateName(screen: GuiScreen?): String? {
		return estimateInventory(screen)?.name
	}
}