Files
refinedstorage/src/main/java/storagecraft/gui/GuiHandler.java
Raoul Van den Berge 048b906a77 Remove crafter stuff
2016-03-19 22:33:35 +01:00

87 lines
3.6 KiB
Java

package storagecraft.gui;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.IGuiHandler;
import storagecraft.StorageCraftGUI;
import storagecraft.container.*;
import storagecraft.storage.IStorageGui;
import storagecraft.tile.*;
public class GuiHandler implements IGuiHandler
{
private Container getContainer(int ID, EntityPlayer player, TileEntity tile)
{
switch (ID)
{
case StorageCraftGUI.CONTROLLER:
return new ContainerController(player);
case StorageCraftGUI.GRID:
return new ContainerGrid(player, (TileGrid) tile);
case StorageCraftGUI.DRIVE:
return new ContainerDrive(player, (TileDrive) tile);
case StorageCraftGUI.IMPORTER:
return new ContainerImporter(player, (TileImporter) tile);
case StorageCraftGUI.EXPORTER:
return new ContainerExporter(player, (TileExporter) tile);
case StorageCraftGUI.DETECTOR:
return new ContainerDetector(player, (TileDetector) tile);
case StorageCraftGUI.SOLDERER:
return new ContainerSolderer(player, (TileSolderer) tile);
case StorageCraftGUI.WIRELESS_TRANSMITTER:
return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile);
case StorageCraftGUI.DESTRUCTOR:
return new ContainerDestructor(player);
case StorageCraftGUI.CONSTRUCTOR:
return new ContainerConstructor(player, (TileConstructor) tile);
case StorageCraftGUI.STORAGE:
return new ContainerStorage(player, ((IStorageGui) tile).getInventory());
default:
return null;
}
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
return getContainer(ID, player, world.getTileEntity(new BlockPos(x, y, z)));
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
switch (ID)
{
case StorageCraftGUI.CONTROLLER:
return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile);
case StorageCraftGUI.GRID:
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile);
case StorageCraftGUI.DRIVE:
return new GuiDrive((ContainerDrive) getContainer(ID, player, tile), (TileDrive) tile);
case StorageCraftGUI.IMPORTER:
return new GuiImporter((ContainerImporter) getContainer(ID, player, tile), (TileImporter) tile);
case StorageCraftGUI.EXPORTER:
return new GuiExporter((ContainerExporter) getContainer(ID, player, tile), (TileExporter) tile);
case StorageCraftGUI.DETECTOR:
return new GuiDetector((ContainerDetector) getContainer(ID, player, tile), (TileDetector) tile);
case StorageCraftGUI.SOLDERER:
return new GuiSolderer((ContainerSolderer) getContainer(ID, player, tile), (TileSolderer) tile);
case StorageCraftGUI.WIRELESS_TRANSMITTER:
return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile);
case StorageCraftGUI.DESTRUCTOR:
return new GuiDestructor((ContainerDestructor) getContainer(ID, player, tile), (TileDestructor) tile);
case StorageCraftGUI.CONSTRUCTOR:
return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile);
case StorageCraftGUI.STORAGE:
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile);
default:
return null;
}
}
}