mojira.dev
MC-198864

World border does not render below y=0 / above y=255

Since its effects still apply above y=255 and below y=0, it should render there as well.

Code analysis

Code analysis by @unknown can be found in this comment.

Linked issues

Attachments

Comments 5

Not bug, coded that way, world border stops at height limit since it is technically considered a solid block.

Clearly not. Also if it were to behave like a block, this would mean it wouldn't extend beyond these heights due to blocks simply not existing there in the first place.

Worldborder is not attached to max build height (i customized the height limit in the server.properties to 208)

Code analysis, if I missed something please tell me 🙂

The following is based on Minecraft 1.16.2 decompiled using the Yarn mappings and CFR.

In net.minecraft.client.render.WorldRenderer, the worldborder is rendered using the method renderWorldBorder.

The sides are rendering using 4 calls to a method.

this.method_22978(lv, f, g, h, lv2.getBoundEast(), 256, t, m + s, m + 0.0f);
this.method_22978(lv, f, g, h, lv2.getBoundEast(), 256, t + u, m + v + s, m + 0.0f);
this.method_22978(lv, f, g, h, lv2.getBoundEast(), 0, t + u, m + v + s, m + 128.0f);
this.method_22978(lv, f, g, h, lv2.getBoundEast(), 0, t, m + s, m + 128.0f);i

As you can see, it's hardcoded to use 256 and 0 for height. This could be fixed by changing those numbers to something like camera.getBlockPos().getY() - [distance] and + [distance].

(There may be a limitation in BufferBuilder preventing it from rendering under 0 and above 256)

muzikbike

Felix Jones

Confirmed

Important

Rendering

1.16.2, 1.16.3 Release Candidate 1, 1.16.3, 20w45a

20w48a

Retrieved