Maximum value for the /worldborder command too low
The maximum value for the side length of the /worldborder command is 30,000,000 which sets it to 15 mil. The actual size of the world is actually 30,000,000 x 30,000,000.
When you create a new world, the world border has a size of 30,000,000 (/tp 29999999 100 29999999 to see it).
When you now change the world border to a low value (e.g. 1000) and want to change it back to the original size, it won't work. The maximum allowed size is 30,000,000, which is half of the original size (/tp 14999999 100 14999999).
Environment
Java 8
Windows 7
Linked Issues
is duplicated by6
Created Issue:
Maximum value for the /worldborder command too low
The maximum value for the side length of the /worldborder command is 3,000,000. The actual size of the world is actually 6,000,000 x 6,000,000.
When you create a new world, the world border has a size of 6,000,000 (/tp 29999999 100 29999999 to see it).
When you now change the world border to a low value (e.g. 1000) and want to change it back to the original size, it won't work. The maximum allowed size is 3,000,000, which is half of the original size (/tp 14999999 100 14999999).Environment
Java 8
Windows 7
Worldborder size of 30,000,000 means 30 mil each direction from the center.
The maximum value for the side length of the /worldborder command is 3,000,000. The actual size of the world is actually
6,000,000 x6,000,000.When you create a new world, the world border has a size of
6,000,000 (/tp 29999999 100 29999999 to see it).
When you now change the world border to a low value (e.g. 1000) and want to change it back to the original size, it won't work. The maximum allowed size is 3,000,000, which is half of the original size (/tp 14999999 100 14999999).The maximum value for the side length of the /worldborder command is 30,000,000 which sets it to 15 mil. The actual size of the world is actually 30,000,000 x 30,000,000.
When you create a new world, the world border has a size of 30,000,000 (/tp 29999999 100 29999999 to see it).
When you now change the world border to a low value (e.g. 1000) and want to change it back to the original size, it won't work. The maximum allowed size is 30,000,000, which is half of the original size (/tp 14999999 100 14999999).
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
You can't remove the border, however you should be able to set it to the original position. See MC-53390
This does not actually work as intended. The /worldborder max is 30 mil in length, meaning you can only go to 15 mil, 15 mil, much smaller than the actual world. MC-53390 describes the problem better.
@[Mojang] Nathan Adams in MC-53390:
The 1 chunk difference is intentional so you don't have a sudden "drop" off the edge of the world.
This issue has been closed: MC-53390
but... if you tp to for example 29999999 60 29999999, because it won't let you tp to 30000000 60 30000000 (another bug), and walk into the void, the game will stop responding completely, the only thing you can do is close it.
Take 60 million and divide it by 2. That's the world limit, which means that 60 million blocks wide is 30 million blocks in one direction. The worldborder not exceeding 29999984 is intentional. Dinnerbone's comment from MC-53390:
The 1 chunk difference is intentional so you don't have a sudden "drop" off the edge of the world.
The default world border currently lies at 29,999,984 blocks out, which is intended to fix an issue with blocks losing their collision after 30 million blocks in versions 1.6.4 and prior (see comments in MC-53390). However, it isn't actually possible to set the world border out to exactly 30 million blocks with commands even if the player wants to (especially since this collision issue itself is fixed in newer versions, invalidating the original 30 million limit anyway).
For example, the following commands
/worldborder set 59999968 5
and
/worldborder set 60000000 5
both set the world border to the exact same position, where one would expect the latter command to set the border out to be flush with the invisible boundary wall.
Side note: it may be a good idea to simply remove the invisible boundary wall behind 30 million blocks entirely (or move it out to 2 billion), especially if MC-185925 is fixed, as just about all of the major bugs what exist at such high distances are fixed anyway. The world border would still exist at its current position and could be extended out if access to this farther terrain is desired. Rewriting the game to work out to 2^63 blocks would probably not be worthwhile though (although it would be welcome).
The bug
If any blocks are placed by the player in the chunk directly preceding the 30 million block boundary in a version before 1.8, and the world is loading in a version after 1.8 (e.g. the latest version), those blocks will become permanently inaccessible.
How to reproduce
A world from 1.7.9 is attached to this ticket.
- Load into the world in 1.7.9
- Confirm the diamond blocks are accessible
- Load the world in the latest supported game version
Expected results
You would be able to access and retrieve your precious diamond blocks.
Actual results
Locked away forever because of the world border.
How to fix
Move the world border out to exactly 30 million blocks, where the proper world boundary is.
While Dinnerbone has stated in a comment in MC-53390 that the world border is intentionally placed a chunk before the 30m limit due to "a sudden "drop" off the edge of the world", it is unclear what this actually means;
- if it refers to terrain becoming non-solid after the 30 million mark, this only affected Bets 1.8 to 1.6.4, and stopped being an issue in 1.7.x
- if it refers to chunks not generating after the 30 million mark, this was exclusively an issue in 1.8 and was fixed in 1.9
- if it refers to something else, this has not been stated and should be clarified
Therefore, moving the border out to the proper 30 million point should not cause any issues, and should return these outer chunks to the player's control as they previously were.
Reopening, world border is currently calculated by the following.
sizeInBlocks / 2
With worldborder command set to 30mil max it will only set the border at 15x15 mil
Either the maximum size should be increased or worldborder should be set to handle center to 30mil sizeInBlocks instead of dividing by 2.
Fixed in 14w18a. 60 million now works as a size.
can confirm, fixed in 14w18a
Correction: In 14w18b setting the worldborder to 60 million (with the center on x=0.0 z=0.0 of course) produces a worldborder at 29,999,984. So we're missing the last chunk before the edge of the world. Since it's missing on all sides that's 32 blocks smaller than it should be. Indeed, setting the worldborder to anything between 59,999,999 and 59,999,968 makes no change but one lower (33 below 60,000,000) and it finally moves half a block.
Oddly, starting a new map and teleporting to the edge (20 short of the edge actually) I find that the worldborder is now at 29,999,984 by default!
The 1 chunk difference is intentional so you don't have a sudden "drop" off the edge of the world.
Oh ok. Well that's fine then, so long as there's a reason. I personally like the drop off better (makes the edge of the world seem like the EDGE) but to each their own. I definitely like the change introduced in 1.7 where the ghost blocks past 30 million aren't there anymore. Actually what I really wish is that the land turned into Far Lands just for the last 1km before the edge! The loop, not the stack.
In an unrelated matter, any chance you could weigh in on the "mojang doesn't intend players to fix up villages" stance the mods have taken (in regards to the "blacksmith with door added kills villagers" issue reported here: https://bugs.mojang.com/browse/MC-51196 ).
Dinnerbone, why is there this difference?
From
MC-63969Confirmed for