@Override
public void onBlockRenderInLoop(final RenderChunk renderChunk, final Block block, final IBlockState state, final BlockPos pos) {
if(renderers != null) try {
renderers.computeIfPresent(renderChunk, (chk, info) -> info.compute(() -> {
GeometryTessellator tess = info.getTessellator();
if (tess != null && FastReflection.Fields.BufferBuilder_isDrawing.get(tess.getBuffer(), false)) {
BlockEntry blockEntry = options.get(state);
if(blockEntry != null
&& blockEntry.getReadableProperty(BoundProperty.class).isWithinBoundaries(pos.getY())) {
AxisAlignedBB bb = state.getSelectedBoundingBox(Helper.getWorld(), pos);
GeometryTessellator.drawLines(
tess.getBuffer(),
bb.minX, bb.minY, bb.minZ,
bb.maxX, bb.maxY, bb.maxZ,
GeometryMasks.Line.ALL,
blockEntry.getReadableProperty(ColorProperty.class).getAsBuffer()
);
info.incrementRenderCount();
}
}
}));
} catch (Exception e) {
handleException(renderChunk, e);
}
}
Markers.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:ForgeHax
作者:
评论列表
文章目录