package extracells.proxy;
import appeng.api.Blocks;
import appeng.api.Items;
import appeng.api.Materials;
import appeng.api.Util;
import appeng.api.movable.IMovableRegistry;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.registry.GameRegistry;
import extracells.BlockEnum;
import extracells.ItemEnum;
import extracells.container.*;
import extracells.gui.*;
import extracells.tileentity.*;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import java.util.logging.Level;
public class CommonProxy implements IGuiHandler
{
public void checkForIDMismatches()
{
for (BlockEnum entry : BlockEnum.values())
{
if (!entry.getBlockClass().isInstance(Block.blocksList[entry.getID()]))
FMLLog.log(Level.SEVERE, "!IMPORTANT! ExtraCells has found ID mismatches! The Block \"" + entry.getStatName() + "\"with the id " + entry.getID() + " has been overridden by another mod!");
}
for (ItemEnum entry : ItemEnum.values())
{
if (!entry.getItemClass().isInstance(Item.itemsList[entry.getID() + 256]))
FMLLog.log(Level.SEVERE, "!IMPORTANT! ExtraCells has found ID mismatches! The Item \"" + entry.getStatName() + "\"with the id " + entry.getID() + " (in config, ingame it'shifted up by 256 by forge) has been overridden by another mod!");
}
}
public void registerMovables()
{
try
{
IMovableRegistry registry = Util.getAppEngApi().getMovableRegistry();
registry.whiteListTileEntity(TileEntitySolderingStation.class);
registry.whiteListTileEntity(TileEntityMEDropper.class);
registry.whiteListTileEntity(TileEntityMEBattery.class);
registry.whiteListTileEntity(TileEntityHardMEDrive.class);
registry.whiteListTileEntity(TileEntityBusFluidImport.class);
registry.whiteListTileEntity(TileEntityBusFluidExport.class);
registry.whiteListTileEntity(TileEntityBusFluidStorage.class);
registry.whiteListTileEntity(TileEntityTerminalFluid.class);
registry.whiteListTileEntity(TileEntityTransitionPlaneFluid.class);
registry.whiteListTileEntity(TileEntityCertusTank.class);
registry.whiteListTileEntity(TileEntityWalrus.class);
registry.whiteListTileEntity(TileEntityLevelEmitterFluid.class);
registry.whiteListTileEntity(TileEntityVoidFluid.class);
registry.whiteListTileEntity(TileEntityInterfaceFluid.class);
registry.whiteListTileEntity(TileEntityMonitorStorageFluid.class);
} catch (Throwable e)
{
// Doesn't register because AE13 is installed instead of AE14
}
}
public void addRecipes()
{
try
{
ItemStack storagePhysical256k = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 0);
ItemStack storagePhysical1m = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 1);
ItemStack storagePhysical4m = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 2);
ItemStack storagePhysical16m = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 3);
ItemStack storageFluid1k = new ItemStack(ItemEnum.STORAGEFLUID.getItemInstance(), 1, 0);
ItemStack storageFluid4k = new ItemStack(ItemEnum.STORAGEFLUID.getItemInstance(), 1, 1);
ItemStack storageFluid16k = new ItemStack(ItemEnum.STORAGEFLUID.getItemInstance(), 1, 2);
ItemStack storageFluid64k = new ItemStack(ItemEnum.STORAGEFLUID.getItemInstance(), 1, 3);
ItemStack containerCell = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 4);
ItemStack encryptableCell = new ItemStack(ItemEnum.STORAGEPHYSICALDECRYPTED.getItemInstance(), 1, 0);
ItemStack customCell = new ItemStack(ItemEnum.STORAGEPHYSICAL.getItemInstance(), 1, 5);
if (!customCell.hasTagCompound())
customCell.setTagCompound(new NBTTagCompound());
customCell.getTagCompound().setInteger("custom_size", 4096);
customCell.getTagCompound().setInteger("custom_types", 27);
ItemStack physicalKilo = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 0);
ItemStack physicalMega = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 1);
ItemStack physicalGiga = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 2);
ItemStack physicalTera = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 3);
ItemStack fluidCell = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 4);
ItemStack fluidSegment = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 5);
ItemStack fluidBlock = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 6);
ItemStack fluidCluster = new ItemStack(ItemEnum.STORAGECOMPONENT.getItemInstance(), 1, 7);
ItemStack advancedStorageCasingPhysical = new ItemStack(ItemEnum.STORAGECASING.getItemInstance(), 1, 0);
ItemStack advancedStorageCasingFluid = new ItemStack(ItemEnum.STORAGECASING.getItemInstance(), 1, 1);
ItemStack meItemDropper = new ItemStack(BlockEnum.MEDROPPER.getBlockInstance(), 1);
ItemStack solderingStation = new ItemStack(BlockEnum.SOLDERINGSTATION.getBlockInstance(), 1);
ItemStack meBattery = new ItemStack(BlockEnum.MEBATTERY.getBlockInstance(), 1);
ItemStack hardMEDrive = new ItemStack(BlockEnum.BLASTRESISTANTMEDRIVE.getBlockInstance(), 1);
ItemStack fluidImportBus = new ItemStack(BlockEnum.FLUIDIMPORT.getBlockInstance(), 1);
ItemStack fluidExportBus = new ItemStack(BlockEnum.FLUIDEXPORT.getBlockInstance(), 1);
ItemStack fluidStorageBus = new ItemStack(BlockEnum.FLUIDSTORAGE.getBlockInstance(), 1);
ItemStack fluidTerminal = new ItemStack(BlockEnum.FLUIDTERMINAL.getBlockInstance(), 1);
ItemStack transitionPlaneFluid = new ItemStack(BlockEnum.FLUIDTRANSITION.getBlockInstance(), 1);
ItemStack certusTank = new ItemStack(BlockEnum.CERTUSTANK.getBlockInstance(), 1);
ItemStack chromia = new ItemStack(BlockEnum.CHROMIA.getBlockInstance(), 1);
ItemStack levelEmitter = new ItemStack(BlockEnum.FLUIDLEVELEMITTER.getBlockInstance(), 1);
ItemStack fluidInterface = new ItemStack(BlockEnum.FLUIDINTERFACE.getBlockInstance(), 1);
ItemStack fluidVoid = new ItemStack(BlockEnum.FLUIDVOID.getBlockInstance(), 1);
ItemStack fluidMonitor = new ItemStack(BlockEnum.FLUIDMONITOR.getBlockInstance(), 1);
// Advanced Casing Physical
GameRegistry.addShapedRecipe(advancedStorageCasingPhysical, new Object[]
{ "GFG", "F_F", "DDD", 'G', Blocks.blkQuartzGlass, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond });
// Advanced Casing Fluid
GameRegistry.addShapedRecipe(advancedStorageCasingFluid, new Object[]
{ "GFG", "F_F", "TTT", 'T', certusTank, 'F', appeng.api.Materials.matFluxDust, 'G', Blocks.blkQuartzGlass });
// Normal Cells
GameRegistry.addShapedRecipe(storagePhysical256k, new Object[]
{ "GFG", "FCF", "DDD", 'G', Blocks.blkQuartzGlass, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'C', physicalKilo });
GameRegistry.addShapelessRecipe(storagePhysical256k, new Object[]
{ advancedStorageCasingPhysical, physicalKilo });
GameRegistry.addShapedRecipe(storagePhysical1m, new Object[]
{ "GFG", "FCF", "DDD", 'G', Blocks.blkQuartzGlass, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'C', physicalMega });
GameRegistry.addShapelessRecipe(storagePhysical1m, new Object[]
{ advancedStorageCasingPhysical, physicalMega });
GameRegistry.addShapedRecipe(storagePhysical4m, new Object[]
{ "GFG", "FCF", "DDD", 'G', Blocks.blkQuartzGlass, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'C', physicalGiga });
GameRegistry.addShapelessRecipe(storagePhysical4m, new Object[]
{ advancedStorageCasingPhysical, physicalGiga });
GameRegistry.addShapedRecipe(storagePhysical16m, new Object[]
{ "GFG", "FCF", "DDD", 'G', Blocks.blkQuartzGlass, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'C', physicalTera });
GameRegistry.addShapelessRecipe(storagePhysical16m, new Object[]
{ advancedStorageCasingPhysical, physicalTera });
// Fluid Cells
GameRegistry.addShapedRecipe(storageFluid1k, new Object[]
{ "GFG", "FCF", "TTT", 'T', certusTank, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'G', Blocks.blkQuartzGlass, 'C', fluidCell });
GameRegistry.addShapelessRecipe(storageFluid1k, new Object[]
{ advancedStorageCasingFluid, fluidCell });
GameRegistry.addShapedRecipe(storageFluid4k, new Object[]
{ "GFG", "FCF", "TTT", 'T', certusTank, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'G', Blocks.blkQuartzGlass, 'C', fluidSegment });
GameRegistry.addShapelessRecipe(storageFluid4k, new Object[]
{ advancedStorageCasingFluid, fluidSegment });
GameRegistry.addShapedRecipe(storageFluid16k, new Object[]
{ "GFG", "FCF", "TTT", 'T', certusTank, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'G', Blocks.blkQuartzGlass, 'C', fluidBlock });
GameRegistry.addShapelessRecipe(storageFluid16k, new Object[]
{ advancedStorageCasingFluid, fluidBlock });
GameRegistry.addShapedRecipe(storageFluid64k, new Object[]
{ "GFG", "FCF", "TTT", 'T', certusTank, 'F', appeng.api.Materials.matFluxDust, 'D', Item.diamond, 'G', Blocks.blkQuartzGlass, 'C', fluidCluster });
GameRegistry.addShapelessRecipe(storageFluid64k, new Object[]
{ advancedStorageCasingFluid, fluidCluster });
// Cell Container
GameRegistry.addShapelessRecipe(containerCell, new Object[]
{ appeng.api.Items.itemCell1k, Block.chest });
// Encryptable Cell
GameRegistry.addShapedRecipe(encryptableCell, new Object[]
{ "_II", "ICI", "III", 'I', Item.ingotIron, 'C', Items.itemCell1k });
// Customizable Cell
GameRegistry.addShapedRecipe(customCell, new Object[]
{ " P ", "SSS", " P ", 'P', appeng.api.Materials.matProcessorBasic.copy(), 'S', appeng.api.Items.itemCell1k.copy() });
// Clusters Phsyical
GameRegistry.addShapedRecipe(physicalKilo, new Object[]
{ "FPF", "CDC", "FCF", 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'D', Item.diamond, 'C', appeng.api.Materials.matStorageCluster.copy() });
GameRegistry.addShapedRecipe(physicalMega, new Object[]
{ "FPF", "CDC", "FCF", 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'D', Item.diamond, 'C', physicalKilo });
GameRegistry.addShapedRecipe(physicalGiga, new Object[]
{ "FPF", "CDC", "FCF", 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'D', Item.diamond, 'C', physicalMega });
GameRegistry.addShapedRecipe(physicalTera, new Object[]
{ "FPF", "CDC", "FCF", 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'D', Item.diamond, 'C', physicalGiga });
// Clusters Fluid
GameRegistry.addShapedRecipe(fluidCell, new Object[]
{ "FCF", "CPC", "FCF", 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'C', appeng.api.Materials.matFluxCrystal.copy() });
GameRegistry.addShapedRecipe(fluidSegment, new Object[]
{ "FPF", "CGC", "FCF", 'G', Blocks.blkQuartzGlass, 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'P', Materials.matProcessorAdvanced.copy(), 'C', fluidCell });
GameRegistry.addShapedRecipe(fluidBlock, new Object[]
{ "FPF", "CGC", "FCF", 'G', Blocks.blkQuartzGlass, 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'P', Materials.matProcessorAdvanced.copy(), 'C', fluidSegment });
GameRegistry.addShapedRecipe(fluidCluster, new Object[]
{ "FPF", "CGC", "FCF", 'G', Blocks.blkQuartzGlass, 'P', appeng.api.Materials.matProcessorAdvanced.copy(), 'F', appeng.api.Materials.matFluxDust.copy(), 'P', Materials.matProcessorAdvanced.copy(), 'C', fluidBlock });
// SolderingStation
GameRegistry.addShapedRecipe(solderingStation, new Object[]
{ "III", "IDI", "I_I", 'I', Item.ingotIron, 'D', Item.diamond });
// ME Item Dropper
GameRegistry.addShapedRecipe(meItemDropper, new Object[]
{ "CMC", "I_I", "IRI", 'C', Block.cobblestone, 'R', Item.redstone, 'M', appeng.api.Materials.matConversionMatrix.copy(), 'I', Item.ingotIron });
// ME Backup Battery
GameRegistry.addShapedRecipe(meBattery, new Object[]
{ "EFE", "FPF", "EFE", 'E', appeng.api.Blocks.blkEnergyCell, 'F', appeng.api.Materials.matFluxCrystal.copy(), 'P', appeng.api.Materials.matProcessorBasic.copy() });
// Blast resistant ME Drive
try {
GameRegistry.addShapedRecipe(hardMEDrive, new Object[]
{ "OOO", "ODO", "OCO", 'O', Block.obsidian, 'D', appeng.api.Blocks.blkDrive.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy() });
} catch (Throwable e)
{
// ME Drive was deactivated
}
// ME Fluid Import Bus
GameRegistry.addShapedRecipe(fluidImportBus, new Object[]
{ "IBI", "ISI", "ICI", 'I', Item.ingotIron, 'S', appeng.api.Blocks.blkInputCablePrecision.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', Item.bucketEmpty });
// ME Fluid Export Bus
GameRegistry.addShapedRecipe(fluidExportBus, new Object[]
{ "IBI", "ISI", "ICI", 'I', Item.ingotIron, 'S', appeng.api.Blocks.blkOutputCablePrecision.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', Item.bucketEmpty });
// ME Fluid Storage Bus
GameRegistry.addShapedRecipe(fluidStorageBus, new Object[]
{ "IBI", "ISI", "ICI", 'I', Item.ingotIron, 'S', appeng.api.Blocks.blkStorageBus.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', Item.bucketEmpty });
// ME Fluid Terminal
GameRegistry.addShapedRecipe(fluidTerminal, new Object[]
{ "IBI", "ISI", "ICI", 'I', Item.ingotIron, 'S', appeng.api.Blocks.blkTerminal.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', certusTank });
// ME Fluid Transition Plane
GameRegistry.addShapedRecipe(transitionPlaneFluid, new Object[]
{ "BBB", "ITI", "ICI", 'I', Item.ingotIron, 'T', appeng.api.Blocks.blkTransitionPlane.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', Item.bucketEmpty });
// ME Fluid Transition Plane
GameRegistry.addShapedRecipe(fluidInterface, new Object[]
{ "BBB", "ITI", "ICI", 'I', Item.ingotIron, 'T', appeng.api.Blocks.blkInterface.copy(), 'C', appeng.api.Blocks.blkColorlessCableCovered.copy(), 'B', Item.bucketEmpty });
// Certus Tank
GameRegistry.addShapedRecipe(certusTank, new Object[]
{ "GGG", "G_G", "GCG", 'G', Blocks.blkQuartzGlass, 'C', Blocks.blkColorlessCable.copy(), });
// Chromia
GameRegistry.addShapedRecipe(chromia, new Object[]
{ "FFF", "F_F", "FFF", 'F', Item.fishRaw, });
// Level Emitter
GameRegistry.addRecipe(new ShapelessOreRecipe(levelEmitter, new Object[]
{ Blocks.blkLevelEmitter, "dyeBlue" }));
// Fluid Void
GameRegistry.addShapedRecipe(fluidVoid, new Object[]
{ "FIF", "IEI", "FIF", 'F', Materials.matFluxCrystal.copy(), 'E', new ItemStack(Item.enderPearl, 1), 'I', new ItemStack(Item.ingotIron, 1) });
// Fluid Monitor
GameRegistry.addShapedRecipe(fluidMonitor, new Object[]
{ "IIG", "CLG", "IIG", 'I', Item.ingotIron, 'G', Block.glass, 'C', Blocks.blkColorlessCableCovered.copy(), 'L', levelEmitter.copy() });
try
{
Class.forName("appeng.api.me.util.ITileCraftingProvider");
ItemStack fluidCrafter = new ItemStack(BlockEnum.FLUIDCRAFTER.getBlockInstance(), 1);
// Fluid Crafter
GameRegistry.addShapedRecipe(fluidCrafter, new Object[]
{ "III", "MPM", "TCT", 'T', certusTank, 'M', Materials.matConversionMatrix.copy(), 'P', Blocks.blkAssembler.copy(), 'I', new ItemStack(Item.ingotIron, 1), 'C', Blocks.blkColorlessCable.copy(), });
} catch (ClassNotFoundException e)
{
// AE13
}
} catch (Throwable e)
{
FMLLog.log(Level.SEVERE, "There was an ID conflict in extracells! Shutting down now!");
System.exit(1);
}
}
public void RegisterTileEntities()
{
GameRegistry.registerTileEntity(TileEntitySolderingStation.class, "tileEntitySolderingStation");
GameRegistry.registerTileEntity(TileEntityMEDropper.class, "tileEntityMEDropper");
GameRegistry.registerTileEntity(TileEntityMEBattery.class, "tileEntityMEBattery");
GameRegistry.registerTileEntity(TileEntityHardMEDrive.class, "tileEntityHardMEDrive");
GameRegistry.registerTileEntity(TileEntityBusFluidImport.class, "tileEntityBusFluidImport");
GameRegistry.registerTileEntity(TileEntityBusFluidExport.class, "tileEntityBusFluidExport");
GameRegistry.registerTileEntity(TileEntityBusFluidStorage.class, "tileEntityBusFluidStorage");
GameRegistry.registerTileEntity(TileEntityTerminalFluid.class, "tileEntityTerminalFluid");
GameRegistry.registerTileEntity(TileEntityTransitionPlaneFluid.class, "tileEntityTransitionPlaneFluid");
GameRegistry.registerTileEntity(TileEntityCertusTank.class, "tileEntityCertusTank");
GameRegistry.registerTileEntity(TileEntityWalrus.class, "tileEntityWalrus");
GameRegistry.registerTileEntity(TileEntityLevelEmitterFluid.class, "tileEntityLevelEmitterFluid");
GameRegistry.registerTileEntity(TileEntityVoidFluid.class, "tileEntityVoidFluid");
GameRegistry.registerTileEntity(TileEntityInterfaceFluid.class, "tileEntityInterfaceFluid");
GameRegistry.registerTileEntity(TileEntityMonitorStorageFluid.class, "tileEntityMonitorStorageFluid");
try
{
Class.forName("appeng.api.me.util.ITileCraftingProvider");
GameRegistry.registerTileEntity(TileEntityFluidCrafter.class, "tileEntityFluidCrafter");
} catch (ClassNotFoundException e)
{
// AE13
}
}
public void RegisterRenderers()
{
// Only Clientside
}
public void RegisterItems()
{
for (ItemEnum current : ItemEnum.values())
{
try
{
current.setItemInstance(current.getItemClass().getConstructor(int.class).newInstance(current.getID()));
GameRegistry.registerItem(current.getItemInstance(), current.getItemInstance().getUnlocalizedName(), "extracells");
} catch (Throwable e)
{
}
}
}
public void RegisterBlocks()
{
for (BlockEnum current : BlockEnum.values())
{
try
{
if (current != BlockEnum.FLUIDCRAFTER)
{
current.setBlockInstance(current.getBlockClass().getConstructor(int.class).newInstance(current.getID()));
GameRegistry.registerBlock(current.getBlockInstance(), current.getItemBlockClass(), current.getBlockInstance().getUnlocalizedName());
} else
{
try
{
Class.forName("appeng.api.me.util.ITileCraftingProvider");
current.setBlockInstance(current.getBlockClass().getConstructor(int.class).newInstance(current.getID()));
GameRegistry.registerBlock(current.getBlockInstance(), current.getItemBlockClass(), current.getBlockInstance().getUnlocalizedName());
} catch (ClassNotFoundException e)
{
// AE13
}
}
} catch (Throwable e)
{
}
}
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
if (tileEntity != null)
{
switch (ID)
{
case 0: // GUI Hard ME Drive
return new GuiHardMEDrive(player.inventory, (TileEntityHardMEDrive) tileEntity);
case 1: // GUI Fluid Terminal
return new GuiTerminalFluid((TileEntityTerminalFluid) tileEntity, player);
case 2: // GUI Storage Bus Fluid
return new GuiBusFluidStorage(world, player.inventory, (TileEntityBusFluidStorage) tileEntity);
case 3: // GUI Import Bus Fluid
return new GuiBusFluidImport(world, player.inventory, (TileEntityBusFluidImport) tileEntity, player);
case 4: // GUI Export Bus Fluid
return new GuiBusFluidExport(world, player.inventory, (TileEntityBusFluidExport) tileEntity, player);
case 5: // GUI ME Battery
return new GuiMEBattery(world, (TileEntityMEBattery) tileEntity, player);
case 6: // GUI ME Fluid Level Emitter
return new GuiLevelEmitterFluid(player.inventory, (TileEntityLevelEmitterFluid) tileEntity);
case 7: // GUI ME Fluid Interface
return new GuiInterfaceFluid(player.inventory, (TileEntityInterfaceFluid) tileEntity);
case 8: // GUI ME Fluid Crafter
return new GuiFluidCrafter(player.inventory, ((TileEntityFluidCrafter) tileEntity).getInventory());
default:
return false;
}
} else
{
return false;
}
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
if (tileEntity != null)
{
switch (ID)
{
case 0: // GUI Hard ME Drive
return new ContainerHardMEDrive(player.inventory, (TileEntityHardMEDrive) tileEntity);
case 1: // GUI Fluid Terminal
return new ContainerTerminalFluid(player, ((TileEntityTerminalFluid) tileEntity).getInventory());
case 2: // GUI Storage Bus Fluid
return new ContainerBusFluidStorage(player.inventory, ((TileEntityBusFluidStorage) tileEntity).getInventory());
case 3: // GUI Import Bus Fluid
return new ContainerBusFluidImport(player.inventory, ((TileEntityBusFluidImport) tileEntity).getInventory());
case 4: // GUI Export Bus Fluid
return new ContainerBusFluidExport(player.inventory, ((TileEntityBusFluidExport) tileEntity).getInventory());
case 5: // GUI ME Battery
return new ContainerMEBattery();
case 6: // GUI ME Fluid Level Emitter
return new ContainerLevelEmitterFluid(player.inventory, ((TileEntityLevelEmitterFluid) tileEntity).getInventory());
case 7: // GUI ME Fluid Interface
return new ContainerInterfaceFluid(player.inventory, ((TileEntityInterfaceFluid) tileEntity).getInventory());
case 8: // GUI ME Fluid Crafter
return new ContainerFluidCrafter(player.inventory, ((TileEntityFluidCrafter) tileEntity).getInventory());
default:
return false;
}
} else
{
return false;
}
}
}