2021-02-28 18:48:39 +00:00
|
|
|
package net.shadowfacts.phycon.block.terminal
|
2019-10-30 00:59:46 +00:00
|
|
|
|
2021-02-14 02:37:39 +00:00
|
|
|
import net.minecraft.screen.slot.Slot
|
|
|
|
import net.minecraft.entity.player.PlayerEntity
|
|
|
|
import net.minecraft.inventory.Inventory
|
|
|
|
import net.minecraft.item.ItemStack
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author shadowfacts
|
|
|
|
*/
|
2021-02-16 03:51:33 +00:00
|
|
|
class TerminalFakeSlot(fakeInv: FakeInventory, slot: Int, x: Int, y: Int): Slot(fakeInv, slot, x, y) {
|
2021-02-14 02:37:39 +00:00
|
|
|
|
|
|
|
override fun canInsert(stack: ItemStack): Boolean {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun setStack(stack: ItemStack) {
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun canTakeItems(player: PlayerEntity): Boolean {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2021-02-16 03:51:33 +00:00
|
|
|
class FakeInventory(val screenHandler: TerminalScreenHandler): Inventory {
|
|
|
|
override fun getStack(slot: Int): ItemStack {
|
|
|
|
if (slot >= screenHandler.itemsForDisplay.size) return ItemStack.EMPTY
|
|
|
|
return screenHandler.itemsForDisplay[slot]
|
2021-02-14 02:37:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|