ExtraHoppers-forge/src/main/kotlin/net/shadowfacts/extrahoppers/gui/GUIHandler.kt

54 lines
2.5 KiB
Kotlin
Raw Normal View History

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
2017-01-15 00:41:01 +00:00
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
2017-01-15 16:46:04 +00:00
import net.shadowfacts.extrahoppers.block.inverted.TileEntityInvertedHopper
2017-01-14 23:57:11 +00:00
import net.shadowfacts.extrahoppers.block.wooden.ContainerWoodenHopper
import net.shadowfacts.extrahoppers.block.wooden.GUIWoodenHopper
import net.shadowfacts.extrahoppers.block.wooden.TileEntityWoodenHopper
2017-01-15 02:56:21 +00:00
import net.shadowfacts.extrahoppers.block.wooden_fluid.GUIWoodenFluidHopper
2017-01-15 00:41:01 +00:00
import net.shadowfacts.shadowmc.inventory.ContainerPlayerInv
/**
* @author shadowfacts
*/
object GUIHandler: IGuiHandler {
2017-01-15 16:46:04 +00:00
val INVERTED_HOPPER = 0
val FLUID_HOPPER = 1
val WOODEN_HOPPER = 2
val WOODEN_FLUID_HOPPER = 3
val ADVANCED_HOPPER = 4
2017-01-15 02:56:21 +00:00
var woodenFluidHopperOpen = false
override fun getClientGuiElement(ID: Int, player: EntityPlayer, world: World, x: Int, y: Int, z: Int): Any? {
2017-01-15 00:41:01 +00:00
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)
2017-01-15 00:41:01 +00:00
FLUID_HOPPER -> GUIFluidHopper.create(world.getTileEntity(pos) as TileEntityFluidHopper, getServerGuiElement(ID, player, world, x, y, z)!!)
2017-01-14 23:57:11 +00:00
WOODEN_HOPPER -> GUIWoodenHopper(getServerGuiElement(ID, player, world, x, y, z)!!)
2017-01-15 02:56:21 +00:00
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)
2017-01-15 02:56:21 +00:00
FLUID_HOPPER, WOODEN_FLUID_HOPPER -> ContainerPlayerInv(pos, player.inventory)
2017-01-14 23:57:11 +00:00
WOODEN_HOPPER -> ContainerWoodenHopper(world.getTileEntity(pos) as TileEntityWoodenHopper, player.inventory, pos)
else -> null
}
}
}