package net.shadowfacts.phycon.block.terminal import net.minecraft.screen.slot.Slot import net.minecraft.entity.player.PlayerEntity import net.minecraft.inventory.Inventory import net.minecraft.item.ItemStack /** * @author shadowfacts */ class TerminalFakeSlot(fakeInv: FakeInventory, slot: Int, x: Int, y: Int): Slot(fakeInv, slot, x, y) { override fun canInsert(stack: ItemStack): Boolean { return false } override fun setStack(stack: ItemStack) { } override fun canTakeItems(player: PlayerEntity): Boolean { return false } } class FakeInventory(val screenHandler: TerminalScreenHandler): Inventory { override fun getStack(slot: Int): ItemStack { if (slot >= screenHandler.itemsForDisplay.size) return ItemStack.EMPTY return screenHandler.itemsForDisplay[slot] } override fun markDirty() { } override fun clear() { } override fun setStack(p0: Int, p1: ItemStack?) { } override fun removeStack(p0: Int): ItemStack { return ItemStack.EMPTY } override fun canPlayerUse(p0: PlayerEntity?): Boolean { return false } override fun size(): Int { return 1 } override fun removeStack(p0: Int, p1: Int): ItemStack { return ItemStack.EMPTY } override fun isEmpty(): Boolean { return false } }