package resonantinduction.old.client.render; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.ForgeDirection; import org.lwjgl.opengl.GL11; import resonantinduction.core.Reference; import resonantinduction.old.client.model.ModelCrusher; import resonantinduction.old.client.model.ModelGrinder; import resonantinduction.old.mechanics.processor.TileEntityProcessor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderProcessor extends TileEntitySpecialRenderer { private ModelCrusher crusherModel; private ModelGrinder grinderModel; public RenderProcessor() { this.crusherModel = new ModelCrusher(); this.grinderModel = new ModelGrinder(); } private void renderAModelAt(TileEntityProcessor tileEntity, double x, double y, double z, float f) { bindTexture(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata())); GL11.glPushMatrix(); GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); if (tileEntity.getDirection() == ForgeDirection.NORTH) { GL11.glRotatef(180f, 0f, 1f, 0f); } else if (tileEntity.getDirection() == ForgeDirection.SOUTH) { GL11.glRotatef(0f, 0f, 1f, 0f); } else if (tileEntity.getDirection() == ForgeDirection.WEST) { GL11.glRotatef(90f, 0f, 1f, 0f); } else if (tileEntity.getDirection() == ForgeDirection.EAST) { GL11.glRotatef(270f, 0f, 1f, 0f); } int g = tileEntity.blockMetadata / 4; if (g == 0) { crusherModel.renderBody(0.0625F); crusherModel.renderPiston(0.0625F, tileEntity.renderStage); } else if (g == 1) { grinderModel.renderBody(0.0625F); grinderModel.renderRotation(0.0625F, tileEntity.renderStage); } else if (g == 2) { } else if (g == 3) { } GL11.glPopMatrix(); } public ResourceLocation getTexture(int block, int meta) { int g = meta / 4; if (g == 0) { return new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "CrusherBlock.png"); } else if (g == 1) { return new ResourceLocation(Reference.DOMAIN, Reference.MODEL_DIRECTORY + "GrinderBlock.png"); } return null; } @Override public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8) { if (tileEntity instanceof TileEntityProcessor) this.renderAModelAt((TileEntityProcessor) tileEntity, var2, var4, var6, var8); } }