@Override public boolean render(IBlockAccess world, BlockRenderLayer layer, CCRenderState ccRenderState) { if (layer != BlockRenderLayer.CUTOUT) { return false; } Translation trans = Vector3.fromTileCenter(baseTile).translation(); RenderDuct.modelConnection[isPowered ? 1 : 2][side].render(ccRenderState, trans, new IconTransformation(TDTextures.RETRIEVER_BASE[stuffed ? 1 : 0][type])); return true; }
@Override public boolean render(IBlockAccess world, BlockRenderLayer layer, CCRenderState ccRenderState) { if (layer != BlockRenderLayer.CUTOUT) { return false; } Translation trans = Vector3.fromTileCenter(baseTile).translation(); RenderDuct.modelConnection[1 + (type & 1)][side].render(ccRenderState, trans, new IconTransformation(TDTextures.SIGNALLER)); return true; }
@Override @SideOnly (Side.CLIENT) public boolean render(IBlockAccess world, BlockRenderLayer layer, CCRenderState ccRenderState) { if (layer != BlockRenderLayer.CUTOUT) { return false; } Translation trans = Vector3.fromTileCenter(baseTile).translation(); RenderDuct.modelConnection[isPowered ? 1 : 2][side].render(ccRenderState, trans, new IconTransformation(TDTextures.RETRIEVER_BASE[stuffed ? 1 : 0][type])); return true; }
@Override @SideOnly (Side.CLIENT) public boolean render(IBlockAccess world, BlockRenderLayer layer, CCRenderState ccRenderState) { if (layer != BlockRenderLayer.CUTOUT) { return false; } Translation trans = Vector3.fromTileCenter(baseTile).translation(); RenderDuct.modelConnection[stuffed ? 2 : 1][side].render(ccRenderState, trans, new IconTransformation(TDTextures.FILTER_BASE[type])); return true; }
@Override @SideOnly (Side.CLIENT) public boolean render(IBlockAccess world, BlockRenderLayer layer, CCRenderState ccRenderState) { if (layer != BlockRenderLayer.CUTOUT) { return false; } Translation trans = Vector3.fromTileCenter(baseTile).translation(); IconTransformation iconTrans = new IconTransformation(TDTextures.SERVO_BASE[stuffed ? 1 : 0][type]); RenderDuct.modelConnection[isPowered ? 1 : 2][side].render(ccRenderState, trans, iconTrans); return true; }
@SideOnly(Side.CLIENT) public void renderBreaking(Vector3 pos, TextureAtlasSprite texture, final CCRenderState ccrs) { ccrs.setPipeline(pos.translation(), new IconTransformation(texture)); BlockRenderer.renderCuboid(ccrs, centerBox, 0); for (Cuboid6 sidedConnection : sidedConnections) { BlockRenderer.renderCuboid(ccrs, sidedConnection, 0); } }
@Override public void handleRenderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite, BufferBuilder buffer) { MetaTileEntity metaTileEntity = BlockMachine.getMetaTileEntity(world, pos); ArrayList<IndexedCuboid6> boundingBox = new ArrayList<>(); if(metaTileEntity != null) { metaTileEntity.addCollisionBoundingBox(boundingBox); metaTileEntity.addCoverCollisionBoundingBox(boundingBox, false); } CCRenderState renderState = CCRenderState.instance(); renderState.reset(); renderState.bind(buffer); renderState.setPipeline(new Vector3(new Vec3d(pos)).translation(), new IconTransformation(sprite)); for(Cuboid6 cuboid : boundingBox) { BlockRenderer.renderCuboid(renderState, cuboid, 0); } }
@Override public void handleRenderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite, BufferBuilder buffer) { CCRenderState renderState = CCRenderState.instance(); renderState.reset(); renderState.bind(buffer); renderState.setPipeline(new Vector3(new Vec3d(pos)).translation(), new IconTransformation(sprite)); Cuboid6 baseBox = BlockSurfaceRock.getShapeFromBlockPos(pos); BlockRenderer.renderCuboid(renderState, baseBox, 0); }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face == null) { CCRenderState ccrs = CCRenderState.instance(); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); Block blockFromItem = Block.getBlockFromItem(stack.getItem()); Duct ductType = TDDucts.getDuct(((BlockDuct) blockFromItem).offset + stack.getItemDamage()); RenderDuct.INSTANCE.renderBase(ccrs, true, ductType, RenderDuct.INV_CONNECTIONS, Translation.CENTER, ductType.getBaseTexture(stack)); RenderDuct.INSTANCE.renderWorldExtra(ccrs, true, ductType, RenderDuct.INV_CONNECTIONS, Vector3.center.copy().subtract(0, RenderHelper.RENDER_OFFSET, 0).translation()); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
GlStateManager.pushMatrix(); Translation trans = (new Vector3(x, y, z)).translation();
@Override public void handleRenderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite, BufferBuilder buffer) { CCRenderState renderState = CCRenderState.instance(); renderState.reset(); renderState.bind(buffer); renderState.setPipeline(new Vector3(new Vec3d(pos)).translation(), new IconTransformation(sprite)); BlockFluidPipe blockFluidPipe = (BlockFluidPipe) state.getBlock(); IPipeTile<FluidPipeType, FluidPipeProperties> tileEntityPipe = blockFluidPipe.getPipeTileEntity(world, pos); if(tileEntityPipe == null) return; float thickness = tileEntityPipe.getPipeType().getThickness(); int connectedSidesMask = blockFluidPipe.getActualConnections(tileEntityPipe, world); Cuboid6 baseBox = BlockFluidPipe.getSideBox(null, thickness); BlockRenderer.renderCuboid(renderState, baseBox, 0); for(EnumFacing renderSide : EnumFacing.VALUES) { if((connectedSidesMask & (1 << renderSide.getIndex())) > 0) { Cuboid6 sideBox = BlockFluidPipe.getSideBox(renderSide, thickness); BlockRenderer.renderCuboid(renderState, sideBox, 0); } } }
@Override public void handleRenderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite, BufferBuilder buffer) { CCRenderState renderState = CCRenderState.instance(); renderState.reset(); renderState.bind(buffer); renderState.setPipeline(new Vector3(new Vec3d(pos)).translation(), new IconTransformation(sprite)); BlockCable blockCable = (BlockCable) state.getBlock(); IPipeTile<Insulation, WireProperties> tileEntityCable = blockCable.getPipeTileEntity(world, pos); if(tileEntityCable == null) return; float thickness = tileEntityCable.getPipeType().getThickness(); int connectedSidesMask = blockCable.getActualConnections(tileEntityCable, world); Cuboid6 baseBox = BlockCable.getSideBox(null, thickness); BlockRenderer.renderCuboid(renderState, baseBox, 0); for(EnumFacing renderSide : EnumFacing.VALUES) { if((connectedSidesMask & (1 << renderSide.getIndex())) > 0) { Cuboid6 sideBox = BlockCable.getSideBox(renderSide, thickness); BlockRenderer.renderCuboid(renderState, sideBox, 0); } } }