TechReborn/src/main/java/techreborn/client/GuiHandler.java

278 lines
16 KiB
Java
Raw Normal View History

2015-04-10 00:17:30 +02:00
package techreborn.client;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
2016-03-13 17:08:30 +01:00
import net.minecraft.util.math.BlockPos;
2015-04-10 00:17:30 +02:00
import net.minecraft.world.World;
2015-11-23 20:19:18 +01:00
import net.minecraftforge.fml.common.network.IGuiHandler;
2016-04-12 09:33:38 +02:00
import reborncore.api.tile.IContainerLayout;
import reborncore.common.container.RebornContainer;
2016-03-27 21:10:49 +02:00
import techreborn.client.container.*;
import techreborn.client.container.builder.ContainerBuilder;
2016-03-27 21:10:49 +02:00
import techreborn.client.gui.*;
2016-02-25 19:25:52 +01:00
import techreborn.manual.GuiManual;
2016-03-27 21:10:49 +02:00
import techreborn.tiles.*;
import techreborn.tiles.fusionReactor.TileEntityFusionController;
2016-03-27 21:10:49 +02:00
import techreborn.tiles.generator.*;
import techreborn.tiles.idsu.TileIDSU;
2015-06-14 17:42:03 +02:00
import techreborn.tiles.lesu.TileLesu;
import techreborn.tiles.multiblock.*;
2016-03-21 16:30:32 +01:00
import techreborn.tiles.storage.TileBatBox;
import techreborn.tiles.storage.TileMFE;
2016-03-27 21:10:49 +02:00
import techreborn.tiles.storage.TileMFSU;
import techreborn.tiles.teir1.*;
2015-04-10 00:17:30 +02:00
2016-10-08 21:46:16 +02:00
public class GuiHandler implements IGuiHandler {
2015-04-10 00:17:30 +02:00
2016-03-25 10:47:34 +01:00
public static final int thermalGeneratorID = 0;
public static final int quantumTankID = 1;
public static final int quantumChestID = 2;
public static final int centrifugeID = 3;
public static final int rollingMachineID = 4;
public static final int blastFurnaceID = 5;
public static final int alloySmelterID = 6;
public static final int industrialGrinderID = 7;
public static final int implosionCompresserID = 8;
public static final int matterfabID = 9;
public static final int manuelID = 10;
public static final int chunkloaderID = 11;
public static final int assemblingmachineID = 12;
public static final int dieselGeneratorID = 15;
public static final int industrialElectrolyzerID = 16;
public static final int aesuID = 17;
public static final int alloyFurnaceID = 18;
public static final int sawMillID = 19;
public static final int chemicalReactorID = 20;
public static final int semifluidGeneratorID = 21;
public static final int gasTurbineID = 22;
public static final int digitalChestID = 23;
public static final int destructoPackID = 25;
public static final int lesuID = 26;
public static final int idsuID = 27;
public static final int chargeBench = 28;
public static final int fusionID = 29;
public static final int vacuumFreezerID = 30;
public static final int grinderID = 31;
public static final int generatorID = 32;
public static final int extractorID = 33;
public static final int compressorID = 34;
public static final int electricFurnaceID = 35;
public static final int ironFurnace = 36;
public static final int recyclerID = 37;
public static final int scrapboxinatorID = 38;
public static final int batboxID = 39;
2016-03-27 21:10:49 +02:00
public static final int mfsuID = 40;
public static final int mfeID = 41;
2016-10-08 21:46:16 +02:00
2016-03-25 10:47:34 +01:00
@Override
public Object getServerGuiElement(final int ID, final EntityPlayer player, final World world, final int x, final int y, final int z) {
2016-04-12 09:33:38 +02:00
RebornContainer container = null;
if (ID == GuiHandler.thermalGeneratorID) {
2016-03-25 10:47:34 +01:00
return new ContainerThermalGenerator((TileThermalGenerator) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.semifluidGeneratorID) {
2016-03-25 10:47:34 +01:00
return new ContainerSemifluidGenerator((TileSemifluidGenerator) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.gasTurbineID) {
2016-03-25 10:47:34 +01:00
return new ContainerGasTurbine((TileGasTurbine) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.quantumTankID) {
2016-03-25 10:47:34 +01:00
return new ContainerQuantumTank((TileQuantumTank) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.digitalChestID || ID == GuiHandler.quantumChestID) {
return new ContainerBuilder().player(player.inventory).inventory().hotbar().addInventory()
.tile((IInventory) world.getTileEntity(new BlockPos(x, y, z))).slot(0, 80, 17).outputSlot(1, 80, 53)
.fakeSlot(2, 59, 42).addInventory().create();
} else if (ID == GuiHandler.centrifugeID) {
2016-11-26 20:15:55 +01:00
container = new ContainerCentrifuge(player, (TileCentrifuge) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.rollingMachineID) {
2016-03-25 10:47:34 +01:00
return new ContainerRollingMachine((TileRollingMachine) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.blastFurnaceID) {
2016-03-25 10:47:34 +01:00
return new ContainerBlastFurnace((TileBlastFurnace) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.alloySmelterID) {
2016-11-27 19:31:50 +01:00
container = new ContainerAlloySmelter(player, (TileAlloySmelter) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.industrialGrinderID) {
2016-03-25 10:47:34 +01:00
return new ContainerIndustrialGrinder((TileIndustrialGrinder) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.implosionCompresserID) {
2016-03-25 10:47:34 +01:00
return new ContainerImplosionCompressor(
(TileImplosionCompressor) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.matterfabID) {
2016-03-25 10:47:34 +01:00
return new ContainerMatterFabricator((TileMatterFabricator) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.assemblingmachineID) {
2016-11-26 20:01:10 +01:00
container = new ContainerAssemblingMachine(player, (TileAssemblingMachine) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.chunkloaderID) {
return new ContainerBuilder().player(player.inventory).inventory().hotbar().addInventory()
.create();
} else if (ID == GuiHandler.dieselGeneratorID) {
2016-03-25 10:47:34 +01:00
return new ContainerDieselGenerator((TileDieselGenerator) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.industrialElectrolyzerID) {
2016-03-25 10:47:34 +01:00
return new ContainerIndustrialElectrolyzer(
(TileIndustrialElectrolyzer) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.aesuID) {
2016-03-29 04:47:00 +02:00
return new ContainerAESU((TileAesu) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.alloyFurnaceID) {
2016-03-25 10:47:34 +01:00
return new ContainerAlloyFurnace((TileAlloyFurnace) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.sawMillID) {
2016-03-25 10:47:34 +01:00
return new ContainerIndustrialSawmill((TileIndustrialSawmill) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.chemicalReactorID) {
2016-03-25 10:47:34 +01:00
return new ContainerChemicalReactor((TileChemicalReactor) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.manuelID) {
2016-03-25 10:47:34 +01:00
return null;
} else if (ID == GuiHandler.destructoPackID) {
2016-03-25 10:47:34 +01:00
return new ContainerDestructoPack(player);
} else if (ID == GuiHandler.lesuID) {
2016-03-29 04:47:00 +02:00
return new ContainerLESU((TileLesu) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.idsuID) {
2016-03-25 10:47:34 +01:00
return new ContainerIDSU((TileIDSU) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.fusionID) {
2016-03-25 10:47:34 +01:00
return new ContainerFusionReactor((TileEntityFusionController) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.chargeBench) {
return new ContainerBuilder().player(player.inventory).inventory().hotbar(8, 142).addInventory()
.tile((IInventory) world.getTileEntity(new BlockPos(x, y, z))).energySlot(0, 62, 21)
.energySlot(1, 80, 21).energySlot(2, 98, 21).energySlot(3, 62, 39).energySlot(4, 80, 39)
.energySlot(5, 98, 39).syncEnergyValue().addInventory().create();
} else if (ID == GuiHandler.vacuumFreezerID) {
2016-03-25 10:47:34 +01:00
return new ContainerVacuumFreezer((TileVacuumFreezer) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.grinderID) {
2016-11-05 11:39:13 +01:00
container = new ContainerGrinder(player, (TileGrinder) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.generatorID) {
2017-01-07 20:34:03 +01:00
return new ContainerBuilder().player(player.inventory).inventory(8, 84).hotbar(8, 142).addInventory()
.tile((IInventory) world.getTileEntity(new BlockPos(x, y, z))).fuelSlot(0, 80, 53)
.energySlot(1, 80, 17).syncEnergyValue()
.syncIntegerValue(((TileGenerator) world.getTileEntity(new BlockPos(x, y, z)))::getBurnTime,
((TileGenerator) world.getTileEntity(new BlockPos(x, y, z)))::setBurnTime)
.syncIntegerValue(((TileGenerator) world.getTileEntity(new BlockPos(x, y, z)))::getTotalBurnTime,
((TileGenerator) world.getTileEntity(new BlockPos(x, y, z)))::setTotalBurnTime)
.addInventory().create();
} else if (ID == GuiHandler.extractorID) {
2016-11-05 11:39:13 +01:00
container = new ContainerExtractor(player, (TileExtractor) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.compressorID) {
2016-03-25 10:47:34 +01:00
return new ContainerCompressor((TileCompressor) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.electricFurnaceID) {
2016-03-25 10:47:34 +01:00
return new ContainerElectricFurnace((TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z)),
player);
} else if (ID == GuiHandler.ironFurnace) {
2016-03-25 10:47:34 +01:00
return new ContainerIronFurnace((TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.recyclerID) {
2016-03-25 10:47:34 +01:00
return new ContainerRecycler((TileRecycler) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.scrapboxinatorID) {
2016-03-25 10:47:34 +01:00
return new ContainerScrapboxinator((TileScrapboxinator) world.getTileEntity(new BlockPos(x, y, z)), player);
} else if (ID == GuiHandler.batboxID) {
2017-01-07 19:12:50 +01:00
return new ContainerBuilder().player(player.inventory).inventory(8, 84).hotbar(8, 142).addInventory()
.tile((IInventory) world.getTileEntity(new BlockPos(x, y, z))).energySlot(0, 80, 17)
.energySlot(1, 80, 53).syncEnergyValue().addInventory().create();
} else if (ID == GuiHandler.mfeID || ID == GuiHandler.mfsuID) {
return new ContainerBuilder().player(player.inventory).inventory(8, 84).hotbar(8, 142).armor()
.complete(44, 6).addArmor().addInventory()
.tile((IInventory) world.getTileEntity(new BlockPos(x, y, z))).energySlot(0, 80, 17)
.energySlot(1, 80, 53).syncEnergyValue().addInventory().create();
2016-03-25 10:47:34 +01:00
}
2016-10-08 21:46:16 +02:00
if (container != null) {
if (container instanceof IContainerLayout) {
final IContainerLayout layout = (IContainerLayout) container;
2016-04-12 09:33:38 +02:00
layout.setTile(world.getTileEntity(new BlockPos(x, y, z)));
layout.setPlayer(player);
layout.addInventorySlots();
layout.addPlayerSlots();
}
return container;
}
2016-03-25 10:47:34 +01:00
return null;
}
2016-03-25 10:47:34 +01:00
@Override
public Object getClientGuiElement(final int ID, final EntityPlayer player, final World world, final int x, final int y, final int z) {
if (ID == GuiHandler.thermalGeneratorID) {
2016-03-25 10:47:34 +01:00
return new GuiThermalGenerator(player, (TileThermalGenerator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.semifluidGeneratorID) {
2016-03-25 10:47:34 +01:00
return new GuiSemifluidGenerator(player,
(TileSemifluidGenerator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.gasTurbineID) {
2016-03-25 10:47:34 +01:00
return new GuiGasTurbine(player, (TileGasTurbine) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.quantumTankID) {
2016-03-25 10:47:34 +01:00
return new GuiQuantumTank(player, (TileQuantumTank) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.digitalChestID) {
2016-03-25 10:47:34 +01:00
return new GuiDigitalChest(player, (TileDigitalChest) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.quantumChestID) {
2016-03-25 10:47:34 +01:00
return new GuiQuantumChest(player, (TileQuantumChest) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.centrifugeID) {
2016-03-25 10:47:34 +01:00
return new GuiCentrifuge(player, (TileCentrifuge) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.rollingMachineID) {
2016-03-25 10:47:34 +01:00
return new GuiRollingMachine(player, (TileRollingMachine) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.blastFurnaceID) {
2016-03-25 10:47:34 +01:00
return new GuiBlastFurnace(player, (TileBlastFurnace) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.alloySmelterID) {
2016-03-25 10:47:34 +01:00
return new GuiAlloySmelter(player, (TileAlloySmelter) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.industrialGrinderID) {
2016-03-25 10:47:34 +01:00
return new GuiIndustrialGrinder(player, (TileIndustrialGrinder) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.implosionCompresserID) {
2016-03-25 10:47:34 +01:00
return new GuiImplosionCompressor(player,
(TileImplosionCompressor) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.matterfabID) {
2016-03-25 10:47:34 +01:00
return new GuiMatterFabricator(player, (TileMatterFabricator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.chunkloaderID) {
2016-03-25 10:47:34 +01:00
return new GuiChunkLoader(player, (TileChunkLoader) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.assemblingmachineID) {
2016-03-25 10:47:34 +01:00
return new GuiAssemblingMachine(player, (TileAssemblingMachine) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.dieselGeneratorID) {
2016-03-25 10:47:34 +01:00
return new GuiDieselGenerator(player, (TileDieselGenerator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.industrialElectrolyzerID) {
2016-03-25 10:47:34 +01:00
return new GuiIndustrialElectrolyzer(player,
(TileIndustrialElectrolyzer) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.aesuID) {
2016-03-29 04:47:00 +02:00
return new GuiAESU(player, (TileAesu) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.alloyFurnaceID) {
2016-03-25 10:47:34 +01:00
return new GuiAlloyFurnace(player, (TileAlloyFurnace) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.sawMillID) {
2016-03-25 10:47:34 +01:00
return new GuiIndustrialSawmill(player, (TileIndustrialSawmill) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.chemicalReactorID) {
2016-03-25 10:47:34 +01:00
return new GuiChemicalReactor(player, (TileChemicalReactor) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.manuelID) {
2016-03-25 10:47:34 +01:00
return new GuiManual();
} else if (ID == GuiHandler.destructoPackID) {
2016-03-25 10:47:34 +01:00
return new GuiDestructoPack(new ContainerDestructoPack(player));
} else if (ID == GuiHandler.lesuID) {
2016-03-29 04:47:00 +02:00
return new GuiLESU(player, (TileLesu) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.idsuID) {
2016-03-25 10:47:34 +01:00
return new GuiIDSU(player, (TileIDSU) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.chargeBench) {
2016-03-25 10:47:34 +01:00
return new GuiChargeBench(player, (TileChargeBench) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.fusionID) {
2016-03-25 10:47:34 +01:00
return new GuiFusionReactor(player,
(TileEntityFusionController) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.vacuumFreezerID) {
2016-03-25 10:47:34 +01:00
return new GuiVacuumFreezer(player, (TileVacuumFreezer) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.grinderID) {
2016-03-25 10:47:34 +01:00
return new GuiGrinder(player, (TileGrinder) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.generatorID) {
2016-03-25 10:47:34 +01:00
return new GuiGenerator(player, (TileGenerator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.extractorID) {
2016-03-25 10:47:34 +01:00
return new GuiExtractor(player, (TileExtractor) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.compressorID) {
2016-03-25 10:47:34 +01:00
return new GuiCompressor(player, (TileCompressor) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.electricFurnaceID) {
2016-03-25 10:47:34 +01:00
return new GuiElectricFurnace(player, (TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.ironFurnace) {
2016-03-25 10:47:34 +01:00
return new GuiIronFurnace(player, (TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.recyclerID) {
2016-03-25 10:47:34 +01:00
return new GuiRecycler(player, (TileRecycler) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.scrapboxinatorID) {
2016-03-25 10:47:34 +01:00
return new GuiScrapboxinator(player, (TileScrapboxinator) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.batboxID) {
2016-03-25 10:47:34 +01:00
return new GuiBatbox(player, (TileBatBox) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.mfsuID) {
2016-03-27 21:10:49 +02:00
return new GuiMFSU(player, (TileMFSU) world.getTileEntity(new BlockPos(x, y, z)));
} else if (ID == GuiHandler.mfeID) {
return new GuiMFE(player, (TileMFE) world.getTileEntity(new BlockPos(x, y, z)));
}
2016-03-25 10:47:34 +01:00
return null;
}
2015-04-10 00:17:30 +02:00
}