private static boolean hasSimpleModel( IBlockState blockState ) { if( blockState.getRenderType() != EnumBlockRenderType.MODEL || blockState instanceof IExtendedBlockState ) { return false; } return blockState.isFullCube(); }
public static boolean isValidBlock(IBlockState state) { return state.isOpaqueCube() || state.getRenderType() == EnumBlockRenderType.MODEL; }
@Override public boolean shouldSideBeRendered( final IBlockState state, final IBlockAccess w, final BlockPos pos, final EnumFacing side ) { BlockPos adjacentPos = pos.offset( side ); final Material mat = w.getBlockState( adjacentPos ).getMaterial(); if( mat == Material.GLASS || mat == AEGlassMaterial.INSTANCE ) { if( w.getBlockState( adjacentPos ).getRenderType() == this.getRenderType( state ) ) { return false; } } return w.getBlockState( pos ).shouldSideBeRendered( w, adjacentPos, side ); }
@Override public @Nonnull EnumBlockRenderType getRenderType() { return state.getRenderType(); }
public static boolean shouldHaveModel(Block block) { if (block == null) { return false; } return block.getDefaultState().getRenderType() == EnumBlockRenderType.MODEL; }
public static boolean shouldHaveTexture(Block block) { if (block == null) { return false; } EnumBlockRenderType rt = block.getDefaultState().getRenderType(); return rt != EnumBlockRenderType.INVISIBLE; }
private static boolean isModelSupported(IBlockState state) { if (state.getRenderType() != EnumBlockRenderType.MODEL || state instanceof IExtendedBlockState) { return false; } return state.isFullCube(); }
public EnumBlockRenderType getRenderType(IPartInfo part) { return part.getState().getRenderType(); }
public default EnumBlockRenderType getRenderType(IPartInfo part) { return part.getState().getRenderType(); }
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) { } }
final boolean isModel = blockState.getRenderType() == EnumBlockRenderType.MODEL;
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 } }
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); } }
@SideOnly(Side.CLIENT) public ClientInfo getInfo(IBlockAccess world, BlockPos pos) { IBlockAccess world_ = wrapAsNeeded(world); IBlockState actualState = part.getActualState(world_, pos, this); IBlockState extendedState = part.getExtendedState(world_, pos, this, actualState); Set<BlockRenderLayer> renderLayers; if (state.getRenderType() != EnumBlockRenderType.INVISIBLE) { renderLayers = EnumSet.noneOf(BlockRenderLayer.class); RENDER_LAYERS// .stream()// .filter(layer -> part.canRenderInLayer(world_, pos, this, actualState, layer))// .forEach(renderLayers::add); } else { renderLayers = Collections.emptySet(); } return new ClientInfo(actualState, extendedState, renderLayers, index -> Minecraft.getMinecraft().getBlockColors().colorMultiplier(extendedState, world_, pos, index)); }
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) {
@SideOnly(Side.CLIENT) public static boolean addBlockHitEffects(World world, BlockPos pos, EnumFacing side, ParticleManager effectRenderer, Callback callback) { IBlockState iblockstate = world.getBlockState(pos); if (iblockstate.getRenderType() != EnumBlockRenderType.INVISIBLE) { int x = pos.getX(); int y = pos.getY();
@Override public void doRender(EntityBlock entity, double x, double y, double z, float yaw, float partialTicks) { final IBlockState blockState = entity.getBlockState(); if (blockState.getRenderType() != EnumBlockRenderType.INVISIBLE) { GlStateManager.pushMatrix(); GlStateManager.translate(x - 0.5, y, z + 0.5); GlStateManager.disableLighting(); bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getMinecraft().getBlockRendererDispatcher().renderBlockBrightness(blockState, entity.getBrightness()); GlStateManager.enableLighting(); GlStateManager.popMatrix(); super.doRender(entity, x, y, z, yaw, partialTicks); } }
state = state.getActualState(world, pos); if (state.getRenderType() != EnumBlockRenderType.INVISIBLE) { int i = pos.getX(); int j = pos.getY();
if (iblockstate.getRenderType() == EnumBlockRenderType.MODEL) { World world = entity.getWorldObj(); if (iblockstate != world.getBlockState(new BlockPos(entity)) && iblockstate.getRenderType() != EnumBlockRenderType.INVISIBLE) { this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); GlStateManager.pushMatrix();
@Override public void doRender(EntityBasket entity, double x, double y, double z, float entityYaw, float partialTicks) { if (state.getRenderType() == EnumBlockRenderType.MODEL) { World world = entity.getEntityWorld(); if (state != world.getBlockState(new BlockPos(entity)) && state.getRenderType() != EnumBlockRenderType.INVISIBLE) { bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); GlStateManager.pushMatrix();