99 lines
3.1 KiB
Java
99 lines
3.1 KiB
Java
/**
|
|
*
|
|
*/
|
|
package resonantinduction.electrical.render;
|
|
|
|
import static org.lwjgl.opengl.GL11.glPopMatrix;
|
|
import static org.lwjgl.opengl.GL11.glPushMatrix;
|
|
import static org.lwjgl.opengl.GL11.glRotatef;
|
|
import static org.lwjgl.opengl.GL11.glScalef;
|
|
import static org.lwjgl.opengl.GL11.glTranslated;
|
|
import static org.lwjgl.opengl.GL11.glTranslatef;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.renderer.RenderBlocks;
|
|
import net.minecraft.world.IBlockAccess;
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
import resonantinduction.electrical.battery.BlockBattery;
|
|
import resonantinduction.electrical.battery.RenderBattery;
|
|
import resonantinduction.electrical.generator.solar.BlockSolarPanel;
|
|
import resonantinduction.electrical.generator.solar.RenderSolarPanel;
|
|
import resonantinduction.electrical.levitator.BlockLevitator;
|
|
import resonantinduction.electrical.levitator.RenderLevitator;
|
|
import resonantinduction.electrical.tesla.BlockTesla;
|
|
import resonantinduction.electrical.tesla.RenderTesla;
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
|
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
/**
|
|
* @author Calclavia
|
|
*
|
|
*/
|
|
@SideOnly(Side.CLIENT)
|
|
public class ElectricalBlockRenderingHandler implements ISimpleBlockRenderingHandler
|
|
{
|
|
public static final ElectricalBlockRenderingHandler INSTANCE = new ElectricalBlockRenderingHandler();
|
|
public static final int ID = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
@Override
|
|
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
|
|
{
|
|
if (block instanceof BlockTesla)
|
|
{
|
|
glPushMatrix();
|
|
glTranslated(0.5, 1.5, 0.5);
|
|
glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderTesla.TEXTURE_BOTTOM);
|
|
RenderTesla.MODEL_BOTTOM.render(0.0625f);
|
|
glPopMatrix();
|
|
}
|
|
else if (block instanceof BlockLevitator)
|
|
{
|
|
glPushMatrix();
|
|
glTranslated(0.5, 1.5, 0.5);
|
|
glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderLevitator.TEXTURE);
|
|
RenderLevitator.MODEL.render(0.0625f);
|
|
glPopMatrix();
|
|
}
|
|
else if (block instanceof BlockBattery)
|
|
{
|
|
glPushMatrix();
|
|
glTranslatef(0.5f, 0.9f, 0.5f);
|
|
glScalef(0.5f, 0.5f, 0.5f);
|
|
glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderBattery.TEXTURE);
|
|
RenderBattery.MODEL.renderAll();
|
|
glPopMatrix();
|
|
}
|
|
else if (block instanceof BlockSolarPanel)
|
|
{
|
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderSolarPanel.TEXTURE);
|
|
GL11.glTranslatef(0.0F, 1.1F, 0.0F);
|
|
GL11.glRotatef(180f, 0f, 0f, 1f);
|
|
RenderSolarPanel.MODEL.render(0.0625F);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldRender3DInInventory()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public int getRenderId()
|
|
{
|
|
return ID;
|
|
}
|
|
}
|