54 lines
2.5 KiB
Kotlin
54 lines
2.5 KiB
Kotlin
package net.shadowfacts.extrahoppers.gui
|
|
|
|
import net.minecraft.entity.player.EntityPlayer
|
|
import net.minecraft.inventory.Container
|
|
import net.minecraft.util.math.BlockPos
|
|
import net.minecraft.world.World
|
|
import net.minecraftforge.fml.common.network.IGuiHandler
|
|
import net.shadowfacts.extrahoppers.block.inventory.ContainerInventoryHopper
|
|
import net.shadowfacts.extrahoppers.block.fluid.GUIFluidHopper
|
|
import net.shadowfacts.extrahoppers.block.fluid.TileEntityFluidHopper
|
|
import net.shadowfacts.extrahoppers.block.inventory.GUIInventoryHopper
|
|
import net.shadowfacts.extrahoppers.block.inventory.TileEntityInventoryHopper
|
|
import net.shadowfacts.extrahoppers.block.inverted.TileEntityInvertedHopper
|
|
import net.shadowfacts.extrahoppers.block.wooden.ContainerWoodenHopper
|
|
import net.shadowfacts.extrahoppers.block.wooden.GUIWoodenHopper
|
|
import net.shadowfacts.extrahoppers.block.wooden.TileEntityWoodenHopper
|
|
import net.shadowfacts.extrahoppers.block.wooden_fluid.GUIWoodenFluidHopper
|
|
import net.shadowfacts.shadowmc.inventory.ContainerPlayerInv
|
|
|
|
/**
|
|
* @author shadowfacts
|
|
*/
|
|
object GUIHandler: IGuiHandler {
|
|
|
|
val INVERTED_HOPPER = 0
|
|
val FLUID_HOPPER = 1
|
|
val WOODEN_HOPPER = 2
|
|
val WOODEN_FLUID_HOPPER = 3
|
|
val ADVANCED_HOPPER = 4
|
|
|
|
var woodenFluidHopperOpen = false
|
|
|
|
override fun getClientGuiElement(ID: Int, player: EntityPlayer, world: World, x: Int, y: Int, z: Int): Any? {
|
|
val pos = BlockPos(x, y, z)
|
|
return when (ID) {
|
|
INVERTED_HOPPER, ADVANCED_HOPPER -> GUIInventoryHopper(getServerGuiElement(ID, player, world, x, y, z)!!, world.getTileEntity(pos) as TileEntityInventoryHopper)
|
|
FLUID_HOPPER -> GUIFluidHopper.create(world.getTileEntity(pos) as TileEntityFluidHopper, getServerGuiElement(ID, player, world, x, y, z)!!)
|
|
WOODEN_HOPPER -> GUIWoodenHopper(getServerGuiElement(ID, player, world, x, y, z)!!)
|
|
WOODEN_FLUID_HOPPER -> GUIWoodenFluidHopper.create(world.getTileEntity(pos) as TileEntityFluidHopper, getServerGuiElement(ID, player, world, x, y, z)!!)
|
|
else -> null
|
|
}
|
|
}
|
|
|
|
override fun getServerGuiElement(ID: Int, player: EntityPlayer, world: World, x: Int, y: Int, z: Int): Container? {
|
|
val pos = BlockPos(x, y, z)
|
|
return when (ID) {
|
|
INVERTED_HOPPER, ADVANCED_HOPPER -> ContainerInventoryHopper(world.getTileEntity(pos) as TileEntityInventoryHopper, player.inventory, pos)
|
|
FLUID_HOPPER, WOODEN_FLUID_HOPPER -> ContainerPlayerInv(pos, player.inventory)
|
|
WOODEN_HOPPER -> ContainerWoodenHopper(world.getTileEntity(pos) as TileEntityWoodenHopper, player.inventory, pos)
|
|
else -> null
|
|
}
|
|
}
|
|
|
|
} |