blockRenderer.getBlockModelRenderer().renderModel(world, model, exState, pos, worldRenderer, false);
blockRenderer.getBlockModelRenderer().renderModel( world, model, exState, pos, buffer, false );
@Override public void apply(@Nonnull BlockRenderLayer layer) { ForgeHooksClient.setRenderLayer(layer); // TODO: Need to setup GL state correctly for each layer blockrendererdispatcher.getBlockModelRenderer().renderModel(world, ibakedmodel, state, pos, wr, false); } });
public static void renderBlockAt(Minecraft mc, IBlockState state, IBlockAccess world, BlockPos pos, BufferBuilder renderer, @Nullable IBakedModel modelOverride) { BlockRendererDispatcher dispatcher = mc.getBlockRendererDispatcher(); try { EnumBlockRenderType renderType = state.getRenderType(); if (renderType == EnumBlockRenderType.MODEL) { if (modelOverride == null) { modelOverride = dispatcher.getModelForState(state); } dispatcher.getBlockModelRenderer().renderModel(world, modelOverride, state, pos, renderer, false); } } catch (Throwable ignored) { } }
public void renderBlock(@Nonnull IBlockState state, @Nonnull BlockPos pos, @Nonnull Multiblock mb, @Nonnull BufferBuilder worldRendererIn) { try { BlockRendererDispatcher blockrendererdispatcher = mc.getBlockRendererDispatcher(); EnumBlockRenderType type = state.getRenderType(); if (type != EnumBlockRenderType.MODEL) { blockrendererdispatcher.renderBlock(state, pos, mb, worldRendererIn); return; } // We only want to change one param here, the check sides IBakedModel ibakedmodel = blockrendererdispatcher.getModelForState(state); state = state.getBlock().getExtendedState(state, mb, pos); blockrendererdispatcher.getBlockModelRenderer().renderModel(mb, ibakedmodel, state, pos, worldRendererIn, false); } catch (Exception e) { throw new RuntimeException(e); } }
public void renderBlock(@Nonnull IBlockState state, @Nonnull BlockPos pos, @Nonnull IBlockAccess blockAccess, @Nonnull BufferBuilder worldRendererIn) { try { BlockRendererDispatcher blockrendererdispatcher = mc.getBlockRendererDispatcher(); EnumBlockRenderType type = state.getRenderType(); if (type != EnumBlockRenderType.MODEL) { blockrendererdispatcher.renderBlock(state, pos, blockAccess, worldRendererIn); return; } // We only want to change one param here, the check sides IBakedModel ibakedmodel = blockrendererdispatcher.getModelForState(state); state = state.getBlock().getExtendedState(state, world, pos); blockrendererdispatcher.getBlockModelRenderer().renderModel(blockAccess, ibakedmodel, state, pos, worldRendererIn, false); } catch (Throwable throwable) { // Just bury a render issue here, it is only the IO screen } }
dispatcher.getBlockModelRenderer().renderModel( te.getWorld(), model, blockState, te.getPos(), buffer, false ); buffer.setTranslation( 0, 0, 0 );
private static void generateRenderDataFor(BufferBuilder BufferBuilder, Tessellator tessellator, World world, IBlockState state) { GL11.glPushMatrix(); BufferBuilder.begin(7, DefaultVertexFormats.BLOCK); BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); blockrendererdispatcher.getBlockModelRenderer().renderModel(world, blockrendererdispatcher.getModelForState(state), state, BlockPos.ORIGIN, BufferBuilder, false, 0); BufferBuilder.State toReturn = BufferBuilder.getVertexState(); tessellator.draw(); GL11.glPopMatrix(); blockstateToVertexData.put(state, toReturn); }
public void renderBlock(IBlockState state, BlockPos pos, IBlockAccess blockAccess, BufferBuilder worldRendererIn) { try { BlockRendererDispatcher blockrendererdispatcher = mc.getBlockRendererDispatcher(); EnumBlockRenderType type = state.getRenderType(); if (type != EnumBlockRenderType.MODEL) { blockrendererdispatcher.renderBlock(state, pos, blockAccess, worldRendererIn); return; } IBakedModel ibakedmodel = blockrendererdispatcher.getModelForState(state); state = state.getBlock().getExtendedState(state, world, pos); blockrendererdispatcher.getBlockModelRenderer().renderModel(blockAccess, ibakedmodel, state, pos, worldRendererIn, false); } catch (Throwable throwable) { } } private void setGlStateForPass(BlockRenderLayer layer, boolean isNeighbour) {
public void render(@Nonnull TileEntity tileEntity, final @Nonnull IBlockState state) { final BlockPos pos = tileEntity.getPos(); final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder vertexBuffer = tessellator.getBuffer(); final BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); final IBakedModel ibakedmodel = blockrendererdispatcher.getBlockModelShapes().getModelForState(state); vertexBuffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); vertexBuffer.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); blockrendererdispatcher.getBlockModelRenderer().renderModel(tileEntity.getWorld(), ibakedmodel, state, pos, vertexBuffer, false); vertexBuffer.setTranslation(0, 0, 0); tessellator.draw(); }
@SuppressWarnings("null") public static void renderBlockModel(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull IBlockState state, boolean translateToOrigin, boolean relight) { BufferBuilder wr = Tessellator.getInstance().getBuffer(); wr.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); if (translateToOrigin) { wr.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); } BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); BlockModelShapes modelShapes = blockrendererdispatcher.getBlockModelShapes(); IBakedModel ibakedmodel = modelShapes.getModelForState(state); final IBlockAccess worldWrapper = relight ? new WorldWrapper(world, pos) : world; for (BlockRenderLayer layer : BlockRenderLayer.values()) { if (state.getBlock().canRenderInLayer(state, layer)) { ForgeHooksClient.setRenderLayer(layer); blockrendererdispatcher.getBlockModelRenderer().renderModel(worldWrapper, ibakedmodel, state, pos, wr, false); } } ForgeHooksClient.setRenderLayer(null); if (translateToOrigin) { wr.setTranslation(0, 0, 0); } Tessellator.getInstance().draw(); }
@Override public void renderTileEntityFast(TileEntityModernSlidingDoor te, double x, double y, double z, float partialTicks, int destroyStage, float partial, BufferBuilder buffer) { this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); GlStateManager.pushMatrix(); { GlStateManager.enableCull(); BlockPos pos = te.getPos(); IBlockState state = te.getWorld().getBlockState(pos); if(state.getPropertyKeys().contains(BlockModernSlidingDoor.FACING)) { BlockRendererDispatcher rendererDispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); IBakedModel model = rendererDispatcher.getBlockModelShapes().getModelForState(state); double slideProgress = te.getSlideProgress(partialTicks); Vec3i vec = state.getValue(BlockModernSlidingDoor.FACING).rotateYCCW().getDirectionVec(); buffer.setTranslation(x - pos.getX() + slideProgress * vec.getX(), y - pos.getY(), z - pos.getZ() + slideProgress * vec.getZ()); rendererDispatcher.getBlockModelRenderer().renderModel(te.getWorld(), model, state, pos, buffer, true); } } GlStateManager.popMatrix(); } }
private void renderHandles(PedestalTileEntity te) { GlStateManager.pushMatrix(); GlStateManager.translate(.5, 0, .5); long angle = (System.currentTimeMillis() / 10) % 360; GlStateManager.rotate(angle, 0, 1, 0); RenderHelper.disableStandardItemLighting(); this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); if (Minecraft.isAmbientOcclusionEnabled()) { GlStateManager.shadeModel(GL11.GL_SMOOTH); } else { GlStateManager.shadeModel(GL11.GL_FLAT); } World world = te.getWorld(); // Translate back to local view coordinates so that we can do the acual rendering here GlStateManager.translate(-te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ()); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferBuilder = tessellator.getBuffer(); bufferBuilder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); IBlockState state = ModBlocks.pedestalBlock.getDefaultState().withProperty(PedestalBlock.IS_HANDLES, true); BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); IBakedModel model = dispatcher.getModelForState(state); dispatcher.getBlockModelRenderer().renderModel(world, model, state, te.getPos(), bufferBuilder, true); tessellator.draw(); RenderHelper.enableStandardItemLighting(); GlStateManager.popMatrix(); }
public void renderBlock(@Nonnull BlockPos pos, IBlockAccess blockAccess, double globalScale, boolean highlight) { BufferBuilder tes = Tessellator.getInstance().getBuffer(); BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); GlStateManager.pushMatrix(); GlStateManager.translate(0.5f, 0.5f, 0.5f); GlStateManager.scale(globalScale, globalScale, globalScale); GlStateManager.translate(-0.5f, -0.5f, -0.5f); IBlockState state = blockAccess.getBlockState(pos).getActualState(blockAccess, pos); IBakedModel ibakedmodel = blockrendererdispatcher.getModelForState(state); state = state.getBlock().getExtendedState(state, blockAccess, pos); tes.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ()); Vector4f color = highlight ? selectedBlockBlend : blockBlend; GlStateManager.color(1, 1, 1, 1); GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_CONSTANT_COLOR, GlStateManager.SourceFactor.ONE.factor, GlStateManager.DestFactor.ZERO.factor); GL14.glBlendColor(color.x, color.y, color.z, color.w); tes.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); for (BlockRenderLayer layer : BlockRenderLayer.values()) { if (state.getBlock().canRenderInLayer(state, NullHelper.notnullJ(layer, "BlockRenderLayer value was null!"))) { ForgeHooksClient.setRenderLayer(layer); blockrendererdispatcher.getBlockModelRenderer().renderModel(blockAccess, ibakedmodel, state, pos, tes, false); } } ForgeHooksClient.setRenderLayer(null); Tessellator.getInstance().draw(); GL14.glBlendColor(1, 1, 1, 1); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); tes.setTranslation(0, 0, 0); GlStateManager.popMatrix(); }
GlStateManager.translate((float) (x - blockpos.getX() - 0.5D), (float) (y - blockpos.getY()), (float) (z - blockpos.getZ() - 0.5D)); BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); blockrendererdispatcher.getBlockModelRenderer().renderModel(world, blockrendererdispatcher.getModelForState(iblockstate), extendedState, blockpos, bufferbuilder, false, MathHelper.getPositionRandom(entity.getOrigin())); tessellator.draw();
Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel( world, getBakedModel(),
public static void renderBlockPhantom(World world, final BlockPos pos, IBlockState state, final double relX, final double relY, final double relZ, BlockPos target, boolean isSolid) { int xOffset = target.getX() - pos.getX(); int yOffset = target.getY() - pos.getY(); int zOffset = target.getZ() - pos.getZ(); final BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher(); IBakedModel model = blockRenderer.getBlockModelShapes().getModelForState(state); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferBuilder = tessellator.getBuffer(); GlStateManager.pushMatrix(); //this first translate is to make relative to TE and everything GlStateManager.translate(relX + 0.5F, relY + 0.5F, relZ + 0.5F); RenderHelper.disableStandardItemLighting(); if (isSolid == false) { GlStateManager.blendFunc(770, 775); GlStateManager.enableBlend(); GlStateManager.disableCull(); } bufferBuilder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); //move into frame and then back to zero - so world relative bufferBuilder.setTranslation(-0.5 - pos.getX() + xOffset, -.5 - pos.getY() + yOffset, -.5 - pos.getZ() + zOffset); Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); //TODO: pos below is the targetPos, other rel and pos are TE blockRenderer.getBlockModelRenderer().renderModel(world, model, state, pos, bufferBuilder, false); bufferBuilder.setTranslation(0.0D, 0.0D, 0.0D); tessellator.draw(); RenderHelper.enableStandardItemLighting(); GlStateManager.popMatrix(); }
GlStateManager.translate((float) (x - (double) posTop.getX() - 0.5D), (float) (y - (double) posTop.getY()), (float) (z - (double) posTop.getZ() - 0.5D)); BlockRendererDispatcher brd = Minecraft.getMinecraft().getBlockRendererDispatcher(); brd.getBlockModelRenderer().renderModel(world, brd.getModelForState(state), state, posTop, bufferbuilder, false, MathHelper.getPositionRandom(entity.getOrigin())); tessellator.draw();
GlStateManager.translate((float)(x - (double)blockpos.getX() - 0.5D), (float)(y - (double)blockpos.getY() + 0.5F), (float)(z - (double)blockpos.getZ() - 0.5D)); BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); blockrendererdispatcher.getBlockModelRenderer().renderModel(world, blockrendererdispatcher.getModelForState(state), state, blockpos, vertexbuffer, false, MathHelper.getPositionRandom(entity.getPosition())); tessellator.draw();
blockrendererdispatcher.getBlockModelRenderer().renderModel(getWorld(), ibakedmodel, state, te.getPos(), buffer, false);