/** always returns true for convenience */ private VertexLighterFlat setupFlat(IBlockAccess world, IBakedModel model, IBlockState state, BlockPos pos, BufferBuilder buffer) { VertexLighterFlat lighter = this.lighterFlat.get(); if(buffer != this.lastRendererFlat.get()) { this.lastRendererFlat.set(buffer); VertexBufferConsumer newCons = new VertexBufferConsumer(buffer); this.wrFlat.set(newCons); lighter.setParent(newCons); } this.wrFlat.get().setOffset(pos); lighter.setWorld(world); lighter.setState(state); lighter.setBlockPos(pos); lighter.updateBlockInfo(); return lighter; }
/** always returns true for convenience */ private VertexLighterFlat setupSmooth(IBlockAccess world, IBakedModel model, IBlockState state, BlockPos pos, BufferBuilder buffer) { VertexLighterFlat lighter = this.lighterSmooth.get(); if(buffer != this.lastRendererSmooth.get()) { this.lastRendererSmooth.set(buffer); VertexBufferConsumer newCons = new VertexBufferConsumer(buffer); this.wrSmooth.set(newCons); lighter.setParent(newCons); } this.wrSmooth.get().setOffset(pos); lighter.setWorld(world); lighter.setState(state); lighter.setBlockPos(pos); lighter.updateBlockInfo(); return lighter; }
public static VertexLighterFlat setupLighter(VertexBuffer buffer, final IBlockState state, final IBlockAccess access, final BlockPos pos, final IBakedModel model) { final boolean renderAO = Minecraft.isAmbientOcclusionEnabled() && state.getLightValue(access, pos) == 0 && (model == null ? false : model.isAmbientOcclusion()); final VertexLighterFlat lighter = renderAO ? lighterSmooth.get() : lighterFlat.get(); VertexBufferConsumer consumer = new VertexBufferConsumer(buffer); lighter.setParent(consumer); consumer.setOffset(pos); return lighter; }