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

41 lines
1.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
2017-01-15 00:41:01 +00:00
import net.shadowfacts.extrahoppers.block.fluid.GUIFluidHopper
import net.shadowfacts.extrahoppers.block.fluid.TileEntityFluidHopper
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 00:41:01 +00:00
import net.shadowfacts.shadowmc.inventory.ContainerPlayerInv
/**
* @author shadowfacts
*/
object GUIHandler: IGuiHandler {
val FLUID_HOPPER = 0
2017-01-14 23:57:11 +00:00
val WOODEN_HOPPER = 1
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) {
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)!!)
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) {
2017-01-15 00:41:01 +00:00
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
}
}
}