BlockOutlineRenderState blockOutlineRenderState = levelRenderState.blockOutlineRenderState;
if (blockOutlineRenderState != null && blockOutlineRenderState.isTranslucent() == bl) {
Vec3 camera = levelRenderState.cameraRenderState.pos;
BlockPos pos = blockOutlineRenderState.pos();
VertexConsumer vertexConsumer = bufferSource.getBuffer(RenderTypes.endPortal());
PoseStack.Pose lastPose = poseStack.last();
blockOutlineRenderState.shape().forAllBoxes((minX, minY, minZ, maxX, maxY, maxZ) -> {
float deltaX = (float) (pos.getX() - camera.x);
float deltaY = (float) (pos.getY() - camera.y);
float deltaZ = (float) (pos.getZ() - camera.z);
float offset = 0.0025F;
float x1 = (float) (minX + deltaX) - offset;
float y1 = (float) (minY + deltaY) - offset;
float z1 = (float) (minZ + deltaZ) - offset;
float x2 = (float) (maxX + deltaX) + offset;
float y2 = (float) (maxY + deltaY) + offset;
float z2 = (float) (maxZ + deltaZ) + offset;
vertexConsumer.addVertex(lastPose, x1, y2, z1);
vertexConsumer.addVertex(lastPose, x1, y2, z2);
vertexConsumer.addVertex(lastPose, x2, y2, z2);
vertexConsumer.addVertex(lastPose, x2, y2, z1);
vertexConsumer.addVertex(lastPose, x1, y1, z1);
vertexConsumer.addVertex(lastPose, x2, y1, z1);
vertexConsumer.addVertex(lastPose, x2, y1, z2);
vertexConsumer.addVertex(lastPose, x1, y1, z2);
vertexConsumer.addVertex(lastPose, x1, y1, z1);
vertexConsumer.addVertex(lastPose, x1, y2, z1);
vertexConsumer.addVertex(lastPose, x2, y2, z1);
vertexConsumer.addVertex(lastPose, x2, y1, z1);
vertexConsumer.addVertex(lastPose, x1, y1, z2);
vertexConsumer.addVertex(lastPose, x2, y1, z2);
vertexConsumer.addVertex(lastPose, x2, y2, z2);
vertexConsumer.addVertex(lastPose, x1, y2, z2);
vertexConsumer.addVertex(lastPose, x1, y1, z1);
vertexConsumer.addVertex(lastPose, x1, y1, z2);
vertexConsumer.addVertex(lastPose, x1, y2, z2);
vertexConsumer.addVertex(lastPose, x1, y2, z1);
vertexConsumer.addVertex(lastPose, x2, y1, z1);
vertexConsumer.addVertex(lastPose, x2, y2, z1);
vertexConsumer.addVertex(lastPose, x2, y2, z2);
vertexConsumer.addVertex(lastPose, x2, y1, z2);
});
bufferSource.endBatch(RenderTypes.endPortal());
callbackInfo.cancel();
}