45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
package storagecraft.gui;
|
|
|
|
import cpw.mods.fml.common.network.IGuiHandler;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.inventory.Container;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.world.World;
|
|
import storagecraft.SC;
|
|
import storagecraft.inventory.ContainerController;
|
|
import storagecraft.inventory.ContainerGrid;
|
|
import storagecraft.tile.TileController;
|
|
import storagecraft.tile.TileGrid;
|
|
|
|
public class GuiHandler implements IGuiHandler {
|
|
private Container getContainer(int ID, EntityPlayer player) {
|
|
switch (ID) {
|
|
case SC.GUI.CONTROLLER:
|
|
return new ContainerController(player);
|
|
case SC.GUI.GRID:
|
|
return new ContainerGrid(player);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
return getContainer(ID, player);
|
|
}
|
|
|
|
@Override
|
|
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
TileEntity tile = world.getTileEntity(x, y, z);
|
|
|
|
switch (ID) {
|
|
case SC.GUI.CONTROLLER:
|
|
return new GuiController(getContainer(ID, player), (TileController) tile);
|
|
case SC.GUI.GRID:
|
|
return new GuiGrid(getContainer(ID, player), (TileGrid) tile);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
}
|