/** * Copyright (c) 22/Feb/2015 Davide Cossu & Matthew Albrecht. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 3 of the License, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, see <http://www.gnu.org/licenses>. */ package com.minestellar.core.proxy; 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.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.util.EnumHelper; import com.minestellar.api.blocks.WireSpecialRender; import com.minestellar.core.blocks.CoreBlocks; import com.minestellar.core.blocks.tile.*; import com.minestellar.core.particles.EntityCoreOilDripFX; import com.minestellar.core.render.item.*; import com.minestellar.core.render.tile.*; import java.util.Objects; public class ClientProxyCore extends CommonProxyCore { private static Minecraft mc = FMLClientHandler.instance().getClient(); public static EnumRarity stellarItem = EnumHelper.addRarity("MinestellarRarity", EnumChatFormatting.RED, "MinestellarCore"); private static int renderIndexCarbonArmor; @Override public void preInit(FMLPreInitializationEvent event) { ClientProxyCore.renderIndexCarbonArmor = RenderingRegistry.addNewArmourRendererPrefix("carbon"); super.preInit(event); } @Override public int getCarbonArmorRenderIndex() { return ClientProxyCore.renderIndexCarbonArmor; } @Override public void init(FMLInitializationEvent event) { super.init(event); } @Override public void postInit(FMLPostInitializationEvent event) { this.registerTileEntityRenders(); this.registerEntityRenderers(); this.registerItemRenders(); super.postInit(event); } private void registerTileEntityRenders() { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCable.class, new WireSpecialRender(0, 32, 5, false)); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPipe.class, new WireSpecialRender(1, 32, 5, true)); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityOxygenCollector.class, new TileEntityRenderOxygenCollector()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGasSink.class, new TileEntityRenderGasSink()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarGenerator.class, new TileEntityRenderSolarPanel()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioAntenna.class, new TileEntityRenderAntenna()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityComputer.class, new TileEntityRenderComputer()); } private void registerEntityRenderers() { } private void registerItemRenders() { MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.solarGenerator), new SolarGeneratorItemRender()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.gasSink), new GasSinkItemRender()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.oxygenCollector), new OxygenCollectorItemRender()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.cableBlock), new CableItemRender(0)); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.pipeBlock), new PipeItemRender(0)); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.radioAntenna), new AntennaItemRender()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(CoreBlocks.computer), new ComputerItemRender()); } @Override public void spawnParticle(String string, double x, double y, double z) { EntityFX entityfx = null; if (Objects.equals(string, "oilDrip")) { entityfx = new EntityCoreOilDripFX(mc.theWorld, x, y, z, Material.water); } mc.effectRenderer.addEffect(entityfx); } @Override public EntityPlayer getClientPlayer() { return Minecraft.getMinecraft().thePlayer; } }