自定义准星模组圆形修复

自定义准星模组圆形修复

修改自定义准星模组绘制圆圈的逻辑

装饰

Custom Crosshair Mod 修复补丁

这是一个针对 Minecraft 1.21.11的兼容性修复补丁,修复了圆形准星渲染异常的问题 (https://modrinth.com/mod/custom-crosshair-mod)。

本模组不会替代原模组,需要安装原模组才能使用。

工作原理

渲染异常的原因是原模组使用了旧的基于线条的绘制方式:生成圆形周围的点后,以线条渲染状态提交。

原始思路:

for (int i = startAngle; i <= endAngle; i++) {
    float radians = (i - 90) * ratio;
    points.add(x + cos(radians) * radius);
    points.add(y + sin(radians) * radius);
}

问题在于原模组的 ModLinesGuiElementRenderState 使用了带 lineWidth(2.0F) 的调试/线条管线。在 Minecraft 1.21.11 的新 GUI 渲染状态系统中,这种线条渲染路径变得不可靠:圆形可能断裂成碎片、消失,或渲染出错误的厚度。

因此本模组覆盖了旧的圆形渲染,改用 RingGuiElementRenderState。

渲染效果与旧版本原模组不同!

对比

旧版: 旧版

新版: 新版