OSDN Git Service

Merge branch 'master' of https://scm.sourceforge.jp/gitroot/chemicraft/chemicraft
[chemicraft/chemicraft.git] / common / pcc / chemicraft / client / ClientProxy.java
1 package pcc.chemicraft.client;
2
3 import pcc.chemicraft.ChemiCraft;
4 import pcc.chemicraft.debug.DebugTick;
5 import pcc.chemicraft.entity.EntityAtomsGrenade;
6 import pcc.chemicraft.gui.GuiChemicalCombinationTable;
7 import pcc.chemicraft.gui.GuiChemicalCraftingTable;
8 import pcc.chemicraft.gui.GuiElectrolysisTable;
9 import pcc.chemicraft.gui.GuiPyrolysisTable;
10 import pcc.chemicraft.gui.GuiToolAndWeaponCraftingTable;
11 import pcc.chemicraft.render.RenderAtomsGrenade;
12 import pcc.chemicraft.system.CommonProxy;
13 import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
14 import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
15 import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
16 import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
17 import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
18 import net.minecraft.entity.player.EntityPlayer;
19 import net.minecraft.tileentity.TileEntity;
20 import net.minecraft.world.World;
21 import net.minecraftforge.client.MinecraftForgeClient;
22 import pcc.chemicraft.ChemiCraft;
23 import pcc.chemicraft.debug.DebugTick;
24 import pcc.chemicraft.entity.EntityAtomsGrenade;
25 import pcc.chemicraft.gui.GuiChemicalCombinationTable;
26 import pcc.chemicraft.gui.GuiChemicalCraftingTable;
27 import pcc.chemicraft.gui.GuiElectrolysisTable;
28 import pcc.chemicraft.gui.GuiPyrolysisTable;
29 import pcc.chemicraft.gui.GuiToolAndWeaponCraftingTable;
30 import pcc.chemicraft.render.RenderAtomsGrenade;
31 import pcc.chemicraft.system.CommonProxy;
32 import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
33 import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
34 import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
35 import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
36 import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
37 import cpw.mods.fml.client.FMLClientHandler;
38 import cpw.mods.fml.client.registry.RenderingRegistry;
39 import cpw.mods.fml.common.registry.TickRegistry;
40 import cpw.mods.fml.relauncher.Side;
41
42 public class ClientProxy extends CommonProxy {
43
44         @Override
45         public void registerRenderInformation() {
46                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE);
47                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMATOMSTEXTURE);
48                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE);
49                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMTEXTURE);
50                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUIPYROLYSISTEXTURE);
51                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUIELECTROLYSISTEXTURE);
52                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCOMBINATIONTEXTURE);
53                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCRAFTINGTEXTURE);
54                 MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUITOOLANDWEAPONCRAFTINGTEXTURE);
55                 RenderingRegistry.registerEntityRenderingHandler(EntityAtomsGrenade.class, new RenderAtomsGrenade(0.5F));
56         }
57
58
59         @Override
60         public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
61                 if (!world.blockExists(x, y, z))
62                         return null;
63
64                 TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
65                 if (tileEntity instanceof TileEntityPyrolysisTable) {
66                         return new GuiPyrolysisTable(player, (TileEntityPyrolysisTable) tileEntity);
67                 }else if(tileEntity instanceof TileEntityElectrolysisTable){
68                         return new GuiElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
69                 }else if(tileEntity instanceof TileEntityChemicalCombinationTable){
70                         return new GuiChemicalCombinationTable(player, (TileEntityChemicalCombinationTable) tileEntity);
71                 }else if(tileEntity instanceof TileEntityToolAndWeaponCraftingTable){
72                         return new GuiToolAndWeaponCraftingTable(player, (TileEntityToolAndWeaponCraftingTable) tileEntity);
73                 }else if(tileEntity instanceof TileEntityChemicalCraftingTable){
74                         return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
75                 }
76                 return null;
77         }
78
79
80         @Override
81         public World getClientWorld() {
82                 return FMLClientHandler.instance().getClient().theWorld;
83         }
84
85         @Override
86         public void registerTickHandler() {
87                 TickRegistry.registerTickHandler(new DebugTick(), Side.CLIENT);
88         }
89
90 }