OSDN Git Service

aea2503f04607ffa77b827ccfeb46f9bbe4ecd97
[chemicraft/ChemiCraftNext.git] / common / pcc / chemicraft / core / client / ClientProxy.java
1 package pcc.chemicraft.core.client;
2
3 import net.minecraft.entity.player.EntityPlayer;
4 import net.minecraft.tileentity.TileEntity;
5 import net.minecraft.world.World;
6 import net.minecraftforge.client.MinecraftForgeClient;
7 import pcc.chemicraft.ChemiCraft;
8 import pcc.chemicraft.core.container.ContainerElectrolysisTable;
9 import pcc.chemicraft.core.debug.DebugTick;
10 import pcc.chemicraft.core.gui.GuiChemicalCombinationTable;
11 import pcc.chemicraft.core.gui.GuiChemicalCraftingTable;
12 import pcc.chemicraft.core.gui.GuiElectrolysisTable;
13 import pcc.chemicraft.core.gui.GuiPyrolysisTable;
14 import pcc.chemicraft.core.gui.GuiToolAndWeaponCraftingTable;
15 import pcc.chemicraft.core.system.CommonProxy;
16 import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
17 import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
18 import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
19 import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
20 import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
21 import cpw.mods.fml.client.FMLClientHandler;
22 import cpw.mods.fml.common.registry.TickRegistry;
23 import cpw.mods.fml.relauncher.Side;
24
25 public class ClientProxy extends CommonProxy {
26
27         @Override
28         public void registerRenderInformation() {
29                 MinecraftForgeClient.preloadTexture(ChemiCraft.TEXTURE);
30                 MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_PYROLYSIS_TEXTURE);
31                 MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_ELECTROLYSIS_TEXTURE);
32                 MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_CHEMICALCOMBINATION_TEXTURE);
33                 MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_CHEMICALCRAFTING_TEXTURE);
34                 MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_TOOLANDWEAPONCRAFTING_TEXTURE);
35                 MinecraftForgeClient.preloadTexture(ChemiCraft.ENTITY_PARTICLE_TEXRURE);
36         }
37
38
39         @Override
40         public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
41                 if (!world.blockExists(x, y, z))
42                         return null;
43
44                 TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
45                 if (tileEntity instanceof TileEntityPyrolysisTable) {
46                         return new GuiPyrolysisTable(player, (TileEntityPyrolysisTable) tileEntity);
47                 }else if(tileEntity instanceof TileEntityElectrolysisTable){
48                         return new GuiElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
49                 }else if(tileEntity instanceof TileEntityChemicalCombinationTable){
50                         return new GuiChemicalCombinationTable(player, (TileEntityChemicalCombinationTable) tileEntity);
51                 }else if(tileEntity instanceof TileEntityToolAndWeaponCraftingTable){
52                         return new GuiToolAndWeaponCraftingTable(player, (TileEntityToolAndWeaponCraftingTable) tileEntity);
53                 }else if(tileEntity instanceof TileEntityChemicalCraftingTable){
54                         return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
55                 } else if (tileEntity instanceof TileEntityElectrolysisTable) {
56                         return new ContainerElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
57                 }
58                 return null;
59         }
60
61
62         @Override
63         public World getClientWorld() {
64                 return FMLClientHandler.instance().getClient().theWorld;
65         }
66
67         @Override
68         public void registerTickHandler() {
69                 TickRegistry.registerTickHandler(new DebugTick(), Side.CLIENT);
70         }
71
72 }