public void render(CCRenderState renderState, Matrix4 translation, IVertexOperation[] pipeline, EnumFacing rotation) { translation.translate(0.5, 0.5, 0.5); translation.rotate(Math.toRadians(90.0 * rotations.indexOf(rotation)), new Vector3(0.0, 1.0, 0.0)); translation.translate(-0.5, -0.5, -0.5); for(EnumFacing renderSide : EnumFacing.VALUES) { TextureAtlasSprite baseSprite = renderSide.getAxis() == Axis.Y ? textures[0] : renderSide == EnumFacing.NORTH ? textures[2] : textures[1]; TextureAtlasSprite lockSprite = textures[3]; Textures.renderFace(renderState, translation, pipeline, renderSide, mainBox, baseSprite); Textures.renderFace(renderState, translation, pipeline, renderSide, lockBox, lockSprite); } }
@Override protected void draw(TileEntityCrusherBlade tileEntity, CCRenderState renderState, Matrix4 translation, float partialTicks) { translation.translate(0.5, 0.5, 0.5); IBlockState blockState = tileEntity.getBlockState(); switch (blockState.getValue(BlockCrusherBlade.AXIS)) { case Y: break; case X: translation.rotate(Math.toRadians(90.0), Rotation.axes[3]); break; case Z: translation.rotate(Math.toRadians(90.0), Rotation.axes[5]); break; } if(blockState.getValue(BlockCrusherBlade.ACTIVE)) { long currentWorldTime = tileEntity.hasWorld() ? tileEntity.getWorld().getTotalWorldTime() : 0; translation.rotate(Math.toRadians(currentWorldTime * 12.0 % 180), Rotation.axes[1]); } translation.translate(-0.5, -0.5, -0.5); TextureAtlasSprite ironBlockTexture = TextureUtils.getBlockTexture("iron_block"); IVertexOperation[] operations = {}; for(Cuboid6 cuboid6 : BlockCrusherBlade.basicModel) { for(EnumFacing renderSide : EnumFacing.VALUES) { Textures.renderFace(renderState, translation, operations, renderSide, cuboid6, ironBlockTexture); } } }
@Override public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation, IVertexOperation[] pipeline) { Textures.VOLTAGE_CASINGS[tier].render(renderState, translation, ArrayUtils.add(pipeline, new ColourMultiplier(GTUtility.convertRGBtoOpaqueRGBA_CL(getPaintingColorForRendering())))); translation.translate(0.5, 0.001, 0.5); translation.rotate(Math.toRadians(rotations[getFrontFacing().getIndex() - 2]), new Vector3(0.0, 1.0, 0.0)); translation.translate(-0.5, 0.0, -0.5); Textures.SCREEN.renderSided(EnumFacing.UP, renderState, translation, pipeline); }
@Override public void renderMetaTileEntity(CCRenderState renderState, Matrix4 translation, IVertexOperation[] pipeline) { Textures.VOLTAGE_CASINGS[tier].render(renderState, translation, ArrayUtils.add(pipeline, new ColourMultiplier(GTUtility.convertRGBtoOpaqueRGBA_CL(getPaintingColorForRendering())))); translation.translate(0.5, 0.001, 0.5); translation.rotate(Math.toRadians(rotations[getFrontFacing().getIndex() - 2]), new Vector3(0.0, 1.0, 0.0)); translation.translate(-0.5, 0.0, -0.5); Textures.SCREEN.renderSided(EnumFacing.UP, renderState, translation, pipeline); }