package minefantasy.mf2.network; import minefantasy.mf2.api.helpers.ClientTickHandler; import minefantasy.mf2.api.knowledge.InformationList; import minefantasy.mf2.block.tileentity.TileEntityAnvilMF; import minefantasy.mf2.block.tileentity.TileEntityBellows; import minefantasy.mf2.block.tileentity.TileEntityBloomery; import minefantasy.mf2.block.tileentity.TileEntityBombBench; import minefantasy.mf2.block.tileentity.TileEntityBombPress; import minefantasy.mf2.block.tileentity.TileEntityCarpenterMF; import minefantasy.mf2.block.tileentity.TileEntityCrossbowBench; import minefantasy.mf2.block.tileentity.TileEntityCrucible; import minefantasy.mf2.block.tileentity.TileEntityForge; import minefantasy.mf2.block.tileentity.TileEntityQuern; import minefantasy.mf2.block.tileentity.TileEntityResearch; import minefantasy.mf2.block.tileentity.TileEntityTanningRack; import minefantasy.mf2.block.tileentity.TileEntityTrough; import minefantasy.mf2.block.tileentity.blastfurnace.TileEntityBlastFC; import minefantasy.mf2.block.tileentity.blastfurnace.TileEntityBlastFH; import minefantasy.mf2.client.KnowledgePageRegistry; import minefantasy.mf2.client.gui.GuiAnvilMF; import minefantasy.mf2.client.gui.GuiBlastChamber; import minefantasy.mf2.client.gui.GuiBlastHeater; import minefantasy.mf2.client.gui.GuiBloomery; import minefantasy.mf2.client.gui.GuiBombBench; import minefantasy.mf2.client.gui.GuiCarpenterMF; import minefantasy.mf2.client.gui.GuiCrossbowBench; import minefantasy.mf2.client.gui.GuiCrucible; import minefantasy.mf2.client.gui.GuiForge; import minefantasy.mf2.client.gui.GuiKnowledge; import minefantasy.mf2.client.gui.GuiKnowledgeEntry; import minefantasy.mf2.client.gui.GuiQuern; import minefantasy.mf2.client.gui.GuiReload; import minefantasy.mf2.client.gui.GuiResearchBlock; import minefantasy.mf2.client.render.AnimationHandlerMF; import minefantasy.mf2.client.render.HudHandlerMF; import minefantasy.mf2.client.render.RenderArrowMF; import minefantasy.mf2.client.render.RenderBombIcon; import minefantasy.mf2.client.render.RenderBow; import minefantasy.mf2.client.render.RenderCrossbow; import minefantasy.mf2.client.render.RenderDragonBreath; import minefantasy.mf2.client.render.RenderFireBlast; import minefantasy.mf2.client.render.RenderHeavyWeapon; import minefantasy.mf2.client.render.RenderLance; import minefantasy.mf2.client.render.RenderMine; import minefantasy.mf2.client.render.RenderParachute; import minefantasy.mf2.client.render.RenderSaw; import minefantasy.mf2.client.render.RenderShrapnel; import minefantasy.mf2.client.render.RenderSpear; import minefantasy.mf2.client.render.RenderSword; import minefantasy.mf2.client.render.block.RenderAnvilMF; import minefantasy.mf2.client.render.block.RenderBellows; import minefantasy.mf2.client.render.block.RenderBloomery; import minefantasy.mf2.client.render.block.RenderBombBench; import minefantasy.mf2.client.render.block.RenderBombPress; import minefantasy.mf2.client.render.block.RenderCarpenter; import minefantasy.mf2.client.render.block.RenderCrossbowBench; import minefantasy.mf2.client.render.block.RenderForge; import minefantasy.mf2.client.render.block.RenderQuern; import minefantasy.mf2.client.render.block.RenderResearch; import minefantasy.mf2.client.render.block.RenderTanningRack; import minefantasy.mf2.client.render.block.RenderTrough; import minefantasy.mf2.client.render.block.TileEntityAnvilMFRenderer; import minefantasy.mf2.client.render.block.TileEntityBellowsRenderer; import minefantasy.mf2.client.render.block.TileEntityBloomeryRenderer; import minefantasy.mf2.client.render.block.TileEntityBombBenchRenderer; import minefantasy.mf2.client.render.block.TileEntityBombPressRenderer; import minefantasy.mf2.client.render.block.TileEntityCarpenterRenderer; import minefantasy.mf2.client.render.block.TileEntityCrossbowBenchRenderer; import minefantasy.mf2.client.render.block.TileEntityForgeRenderer; import minefantasy.mf2.client.render.block.TileEntityQuernRenderer; import minefantasy.mf2.client.render.block.TileEntityResearchRenderer; import minefantasy.mf2.client.render.block.TileEntityTanningRackRenderer; import minefantasy.mf2.client.render.block.TileEntityTroughRenderer; import minefantasy.mf2.client.render.mob.ModelDragon; import minefantasy.mf2.client.render.mob.ModelMinotaur; import minefantasy.mf2.client.render.mob.RenderDragon; import minefantasy.mf2.client.render.mob.RenderMinotaur; import minefantasy.mf2.entity.EntityArrowMF; import minefantasy.mf2.entity.EntityBomb; import minefantasy.mf2.entity.EntityDragonBreath; import minefantasy.mf2.entity.EntityFireBlast; import minefantasy.mf2.entity.EntityMine; import minefantasy.mf2.entity.EntityParachute; import minefantasy.mf2.entity.EntityShrapnel; import minefantasy.mf2.entity.EntitySmoke; import minefantasy.mf2.entity.mob.EntityDragon; import minefantasy.mf2.entity.mob.EntityMinotaur; import minefantasy.mf2.item.list.CustomToolListMF; import minefantasy.mf2.item.list.ToolListMF; import minefantasy.mf2.mechanics.ExtendedReachMF; import minefantasy.mf2.mechanics.PlayerTickHandlerMF; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; /** * @author Anonymous Productions */ public class ClientProxyMF extends CommonProxyMF { @Override public World getClientWorld() { return FMLClientHandler.instance().getClient().theWorld; } @Override public void preInit() { } @Override public void registerMain() { super.registerMain(); } @Override public void postInit() { super.postInit(); registerRenders(); KnowledgePageRegistry.registerPages(); } @Override public void registerTickHandlers() { super.registerTickHandlers(); FMLCommonHandler.instance().bus().register(new PlayerTickHandlerMF()); FMLCommonHandler.instance().bus().register(new AnimationHandlerMF()); FMLCommonHandler.instance().bus().register(new ExtendedReachMF()); MinecraftForge.EVENT_BUS.register(new HudHandlerMF()); FMLCommonHandler.instance().bus().register(new ClientTickHandler()); RenderingRegistry.registerBlockHandler(new RenderAnvilMF()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAnvilMF.class, new TileEntityAnvilMFRenderer()); RenderingRegistry.registerBlockHandler(new RenderCarpenter()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCarpenterMF.class, new TileEntityCarpenterRenderer()); RenderingRegistry.registerBlockHandler(new RenderBombBench()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombBench.class, new TileEntityBombBenchRenderer()); RenderingRegistry.registerBlockHandler(new RenderTanningRack()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTanningRack.class, new TileEntityTanningRackRenderer()); RenderingRegistry.registerBlockHandler(new RenderForge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForge.class, new TileEntityForgeRenderer()); RenderingRegistry.registerBlockHandler(new RenderBellows()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBellows.class, new TileEntityBellowsRenderer()); RenderingRegistry.registerBlockHandler(new RenderResearch()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityResearch.class, new TileEntityResearchRenderer()); RenderingRegistry.registerBlockHandler(new RenderTrough()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTrough.class, new TileEntityTroughRenderer()); RenderingRegistry.registerBlockHandler(new RenderBombPress()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombPress.class, new TileEntityBombPressRenderer()); RenderingRegistry.registerBlockHandler(new RenderBloomery()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBloomery.class, new TileEntityBloomeryRenderer()); RenderingRegistry.registerBlockHandler(new RenderCrossbowBench()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrossbowBench.class, new TileEntityCrossbowBenchRenderer()); RenderingRegistry.registerBlockHandler(new RenderQuern()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityQuern.class, new TileEntityQuernRenderer()); } public void registerEntityRenderer() { RenderingRegistry.registerEntityRenderingHandler(EntityArrowMF.class, new RenderArrowMF()); RenderingRegistry.registerEntityRenderingHandler(EntityBomb.class, new RenderBombIcon());//Switch to RenderBomb when syncing is fixed RenderingRegistry.registerEntityRenderingHandler(EntityMine.class, new RenderMine()); RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel("shrapnel")); RenderingRegistry.registerEntityRenderingHandler(EntityFireBlast.class, new RenderFireBlast()); RenderingRegistry.registerEntityRenderingHandler(EntitySmoke.class, new RenderFireBlast()); RenderingRegistry.registerEntityRenderingHandler(EntityDragonBreath.class, new RenderDragonBreath()); RenderingRegistry.registerEntityRenderingHandler(EntityParachute.class, new RenderParachute()); RenderingRegistry.registerEntityRenderingHandler(EntityDragon.class, new RenderDragon(new ModelDragon(), 2F)); RenderingRegistry.registerEntityRenderingHandler(EntityMinotaur.class, new RenderMinotaur(new ModelMinotaur(), 1.5F)); } @Override public EntityPlayer getClientPlayer() { return Minecraft.getMinecraft().thePlayer; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { Minecraft mc = Minecraft.getMinecraft(); if(ID == 0) { TileEntity tile = world.getTileEntity(x, y, z); int meta = world.getBlockMetadata(x, y, z); if(tile != null && tile instanceof TileEntityAnvilMF) { return new GuiAnvilMF(player.inventory, (TileEntityAnvilMF) tile); } if(tile != null && tile instanceof TileEntityCarpenterMF) { return new GuiCarpenterMF(player.inventory, (TileEntityCarpenterMF) tile); } if(tile != null && tile instanceof TileEntityBombBench) { return new GuiBombBench(player.inventory, (TileEntityBombBench) tile); } if(tile != null && tile instanceof TileEntityBlastFH) { return new GuiBlastHeater(player.inventory, (TileEntityBlastFH) tile); } if(tile != null && tile instanceof TileEntityBlastFC) { return new GuiBlastChamber(player.inventory, (TileEntityBlastFC) tile); } if(tile != null && tile instanceof TileEntityCrucible) { return new GuiCrucible(player.inventory, (TileEntityCrucible) tile); } if(tile != null && tile instanceof TileEntityForge) { return new GuiForge(player.inventory, (TileEntityForge) tile); } if(tile != null && tile instanceof TileEntityResearch) { return new GuiResearchBlock(player.inventory, (TileEntityResearch) tile); } if(tile != null && tile instanceof TileEntityBloomery) { return new GuiBloomery(player.inventory, (TileEntityBloomery) tile); } if(tile != null && tile instanceof TileEntityCrossbowBench) { return new GuiCrossbowBench(player.inventory, (TileEntityCrossbowBench) tile); } if(tile != null && tile instanceof TileEntityQuern) { return new GuiQuern(player.inventory, (TileEntityQuern) tile); } return null; } if(ID == 1) { if(x == 0) {//GuiAchievements if(y >= 0) { return new GuiKnowledgeEntry(mc.currentScreen, InformationList.knowledgeList.get(y)); } return new GuiKnowledge(player); } if(x == 1 && player.getHeldItem() != null) { return new GuiReload(player.inventory, player.getHeldItem()); } } return null; } private void registerRenders() { registerEntityRenderer(); MinecraftForgeClient.registerItemRenderer(ToolListMF.swordStone, new RenderSword()); MinecraftForgeClient.registerItemRenderer(ToolListMF.maceStone, new RenderSword()); MinecraftForgeClient.registerItemRenderer(ToolListMF.waraxeStone, new RenderSword().setAxe()); MinecraftForgeClient.registerItemRenderer(ToolListMF.spearStone, new RenderSpear()); MinecraftForgeClient.registerItemRenderer(ToolListMF.swordTraining, new RenderSword()); MinecraftForgeClient.registerItemRenderer(ToolListMF.crossbow_custom, new RenderCrossbow(2.0F)); //STANDARD MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_dagger, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_sword, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_waraxe, new RenderSword().setAxe()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_mace, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_scythe, new RenderHeavyWeapon().setBlunt()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_warhammer, new RenderHeavyWeapon().setBlunt()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_battleaxe, new RenderHeavyWeapon().setBlunt().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_greatsword, new RenderHeavyWeapon().setGreatsword().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_katana, new RenderHeavyWeapon().setKatana().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_spear, new RenderSpear()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_halbeard, new RenderSpear(true)); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_lance, new RenderLance()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_dagger, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_sword, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_waraxe, new RenderSword().setAxe()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_mace, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_warhammer, new RenderHeavyWeapon().setBlunt()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_battleaxe, new RenderHeavyWeapon().setBlunt().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_greatsword, new RenderHeavyWeapon().setGreatsword().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_katana, new RenderHeavyWeapon().setKatana().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_spear, new RenderSpear()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_halbeard, new RenderSpear(true)); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dragonforged_lance, new RenderLance()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_saw, new RenderSaw()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.standard_bow, new RenderBow(false)); //DRAGONFORGED //DWARVEN /* MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_sword, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_waraxe, new RenderSword().setAxe()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_mace, new RenderSword()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_scythe, new RenderHeavyWeapon().setBlunt()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_warhammer, new RenderHeavyWeapon().setBlunt()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_battleaxe, new RenderHeavyWeapon().setBlunt().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_greatsword, new RenderHeavyWeapon().setGreatsword().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_katana, new RenderHeavyWeapon().setKatana().setParryable()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_spear, new RenderSpear()); MinecraftForgeClient.registerItemRenderer(CustomToolListMF.dwarven_halbeard, new RenderSpear(true)); //GNOMISH MinecraftForgeClient.registerItemRenderer(CustomToolListMF.gnomish_saw, new RenderSaw()); */ } }