[SPIGOT-6659] "Unregistered dimension" in custom dimensions and world generation Created: 19/Jul/21  Updated: 20/Jul/21  Resolved: 20/Jul/21

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Héctor Rodríguez Assignee: Unassigned
Resolution: Invalid Votes: 1
Labels: DataPacks, Dimensions, Generation, JSON

Attachments: PNG File 2021-07-19_19.43.45-1.png     Zip Archive CustomDimension-Example.zip     Zip Archive NormalDimensions-Example.zip     PNG File image-2021-07-19-11-15-05-082.png     PNG File image-2021-07-19-11-29-03-417.png     PNG File image-2021-07-19-19-37-03-154.png     PNG File image-2021-07-19-20-15-17-039.png     PNG File image-2021-07-19-20-52-58-043.png    
Issue Links:
Duplicate
duplicates SPIGOT-6523 Custom Dimensions Do Not Work In 1.17... Resolved
Version: CraftBukkit version 3188-Spigot-d03d7f1-c851639 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)
Guidelines Read: Yes

 Description   

When loading datapacks that modify the world generation of existing dimensions (Overworld, The Nether and The End) and custom dimensions, in version 1.17.1, an expection of the type "Unregistered dimension" rises up:

This doesn't happend in vanilla 1.17.1, it generates the proper dimension directory for custom dimensions and correctly overwrites the "vanilla dimensions" generation if specified in the .json files of the datapacks:

I uploaded an example of a datapack that modifies the existing dimensions, with custom features, terrain generation and structures: NormalDimensions-Example.zip and a datapack that generates a new dimension (named skylands): CustomDimension-Example.zip as examples for verifing the Exception.



 Comments   
Comment by Héctor Rodríguez [ 20/Jul/21 ]

Ok, my mistake. I changed the datapacks to use the folder you mention:

And changed the json to use them:

"type""minecraft:skylands"

And the server properly loads it:

[01:54:19] [Server thread/INFO]: Preparing start region for dimension minecraft:skylands
[01:54:19] [Worker-Main-11/INFO]: Preparing spawn area: 61%
[01:54:20] [Worker-Main-8/INFO]: Preparing spawn area: 75%
[01:54:20] [Worker-Main-10/INFO]: Preparing spawn area: 93%
[01:54:21] [Worker-Main-10/INFO]: Preparing spawn area: 100%
[01:54:21] [Worker-Main-8/INFO]: Preparing spawn area: 100%
[01:54:22] [Worker-Main-11/INFO]: Preparing spawn area: 100%
[01:54:22] [Server thread/INFO]: Time elapsed: 2614 ms
[01:54:22] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[01:54:22] [Server thread/INFO]: Done (18.057s)! For help, type "help"
container@pterodactyl~ Server marked as running...

It's rare that vanilla one accepts inline configuration aside from the directories format.

Thank you md_5

Comment by Héctor Rodríguez [ 20/Jul/21 ]

Let me change the nether.json to match the other ones and answer here

Comment by md_5 [ 20/Jul/21 ]

The datapack you uploaded has skylands.json:

{
  "type": {
    "name": "minecraft:skylands",
    "ultrawarm": false,
    "natural": true,
    "piglin_safe": true,
    "respawn_anchor_works": false,
    "bed_works": true,
    "has_raids": true,
    "has_skylight": true,
    "has_ceiling": false,
    "coordinate_scale": 1,
    "ambient_light": 0,
    "logical_height": 256,
    "effects": "minecraft:overworld",
    "infiniburn": "minecraft:infiniburn_overworld",
    "min_y": 0,
    "height": 256
  },

And the normal one has the_nether.json with the same problem.

Comment by Héctor Rodríguez [ 20/Jul/21 ]

I checked my datapack that overwrites the existing dimensions, and the thing that you say in the linked ticket (that "dimension_type" should be in a directory, not inline the dimension configuration) in the case of my datapack I didn't changed that:

It uses the vanilla "dimension_type", so it stays as "type": "minecraft:overworld", not the one you mencioned in the linked ticket.

Comment by Héctor Rodríguez [ 20/Jul/21 ]

Ok, I'll change the folder distribution to match what you are asking for and update here

Comment by md_5 [ 20/Jul/21 ]

Yes they run properly but only due to luck. They are incorrectly structured and do not match the MC wiki or Vanilla datapacks.
Please see my answer to the linked ticket, SPIGOT-6523

Comment by Héctor Rodríguez [ 20/Jul/21 ]

Hi! I tested the datapacks in vanilla 1.17.1 to verify it was correct and runs properly.

In the case of the datapack NormalDimensions-Example.zip since it modifies de generation of the existing dimensions, its necessary to put the datapack before the server creates the proper world, so it takes the datapacks .json files to correctly generate the dimensions as shown here:

[00:22:16] [main/INFO]: Reloading ResourceManager: Default, NormalDimensions-Example.zip
[00:22:17] [Worker-Main-11/INFO]: Loaded 7 recipes
[00:22:17] [Worker-Main-11/INFO]: Loaded 1137 advancements
[00:22:19] [Server thread/INFO]: Starting minecraft server version 1.17.1
[00:22:19] [Server thread/INFO]: Loading properties
[00:22:19] [Server thread/INFO]: Default game type: SURVIVAL
[00:22:19] [Server thread/INFO]: Generating keypair
[00:22:19] [Server thread/INFO]: Starting Minecraft server on 0.0.0.0:25580
[00:22:19] [Server thread/INFO]: Using epoll channel type
[00:22:19] [Server thread/INFO]: Preparing level "world"
[00:22:19] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[00:22:20] [Worker-Main-8/INFO]: Preparing spawn area: 0%
[00:22:20] [Worker-Main-8/INFO]: Preparing spawn area: 0%
[00:22:20] [Worker-Main-11/INFO]: Preparing spawn area: 0%
[00:22:22] [Worker-Main-13/INFO]: Preparing spawn area: 0%
[00:22:22] [Worker-Main-11/INFO]: Preparing spawn area: 0%
[00:22:22] [Worker-Main-14/INFO]: Preparing spawn area: 0%
[00:22:22] [Worker-Main-13/INFO]: Preparing spawn area: 0%
[00:22:23] [Worker-Main-14/INFO]: Preparing spawn area: 0%
[00:22:23] [Worker-Main-10/INFO]: Preparing spawn area: 0%
[00:22:24] [Worker-Main-11/INFO]: Preparing spawn area: 0%
[00:22:24] [Worker-Main-9/INFO]: Preparing spawn area: 0%
[00:22:25] [Worker-Main-14/INFO]: Preparing spawn area: 1%
[00:22:25] [Worker-Main-8/INFO]: Preparing spawn area: 3%
[00:22:26] [Worker-Main-12/INFO]: Preparing spawn area: 5%
[00:22:26] [Worker-Main-14/INFO]: Preparing spawn area: 7%
[00:22:27] [Worker-Main-14/INFO]: Preparing spawn area: 9%
[00:22:27] [Worker-Main-12/INFO]: Preparing spawn area: 11%
[00:22:28] [Worker-Main-9/INFO]: Preparing spawn area: 14%
[00:22:28] [Worker-Main-13/INFO]: Preparing spawn area: 16%
[00:22:29] [Worker-Main-14/INFO]: Preparing spawn area: 19%
[00:22:29] [Worker-Main-8/INFO]: Preparing spawn area: 20%
[00:22:30] [Worker-Main-9/INFO]: Preparing spawn area: 24%
[00:22:30] [Worker-Main-9/INFO]: Preparing spawn area: 24%
[00:22:31] [Worker-Main-13/INFO]: Preparing spawn area: 29%
[00:22:31] [Worker-Main-12/INFO]: Preparing spawn area: 32%
[00:22:32] [Worker-Main-9/INFO]: Preparing spawn area: 33%
[00:22:32] [Worker-Main-10/INFO]: Preparing spawn area: 36%
[00:22:33] [Worker-Main-13/INFO]: Preparing spawn area: 39%
[00:22:33] [Worker-Main-11/INFO]: Preparing spawn area: 42%
[00:22:34] [Worker-Main-11/INFO]: Preparing spawn area: 44%
[00:22:34] [Worker-Main-12/INFO]: Preparing spawn area: 44%
[00:22:35] [Worker-Main-9/INFO]: Preparing spawn area: 49%
[00:22:35] [Worker-Main-10/INFO]: Preparing spawn area: 53%
[00:22:36] [Worker-Main-13/INFO]: Preparing spawn area: 54%
[00:22:36] [Worker-Main-12/INFO]: Preparing spawn area: 55%
[00:22:37] [Worker-Main-11/INFO]: Preparing spawn area: 55%
[00:22:37] [Worker-Main-11/INFO]: Preparing spawn area: 60%
[00:22:38] [Worker-Main-8/INFO]: Preparing spawn area: 65%
[00:22:38] [Worker-Main-12/INFO]: Preparing spawn area: 68%
[00:22:39] [Worker-Main-9/INFO]: Preparing spawn area: 72%
[00:22:39] [Worker-Main-11/INFO]: Preparing spawn area: 75%
[00:22:40] [Worker-Main-12/INFO]: Preparing spawn area: 78%
[00:22:40] [Worker-Main-14/INFO]: Preparing spawn area: 83%
[00:22:41] [Worker-Main-14/INFO]: Preparing spawn area: 86%
[00:22:41] [Worker-Main-8/INFO]: Preparing spawn area: 89%
[00:22:42] [Worker-Main-9/INFO]: Preparing spawn area: 96%
[00:22:42] [Server thread/INFO]: Time elapsed: 22836 ms
[00:22:42] [Server thread/INFO]: Done (22.905s)! For help, type "help"
container@pterodactyl~ Server marked as running...

And here you can see that the world loads and contains all the modified generation: 

Now, in the datapack CustomDimension-Example.zip** you have to load the datapack only, /reload the datapacks and restart the server (since it's a new dimension it doesn't requiere to create the normal world from the .json files of the datapack), and after restarting the server and datapack work properly and as spected:

[00:38:55] [main/INFO]: Reloading ResourceManager: Default, CustomDimension-Example.zip
[00:38:56] [Worker-Main-8/INFO]: Loaded 7 recipes
[00:38:56] [Worker-Main-8/INFO]: Loaded 1137 advancements
[00:38:57] [Server thread/INFO]: Starting minecraft server version 1.17.1
[00:38:57] [Server thread/INFO]: Loading properties
[00:38:57] [Server thread/INFO]: Default game type: SURVIVAL
[00:38:57] [Server thread/INFO]: Generating keypair
[00:38:57] [Server thread/INFO]: Starting Minecraft server on 0.0.0.0:25580
[00:38:57] [Server thread/INFO]: Using epoll channel type
[00:38:58] [Server thread/INFO]: Preparing level "world"
[00:39:01] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[00:39:01] [Worker-Main-12/INFO]: Preparing spawn area: 0%
[00:39:02] [Worker-Main-13/INFO]: Preparing spawn area: 0%
[00:39:02] [Worker-Main-14/INFO]: Preparing spawn area: 0%
[00:39:03] [Worker-Main-8/INFO]: Preparing spawn area: 3%
[00:39:03] [Worker-Main-8/INFO]: Preparing spawn area: 7%
[00:39:04] [Worker-Main-9/INFO]: Preparing spawn area: 11%
[00:39:04] [Worker-Main-13/INFO]: Preparing spawn area: 14%
[00:39:05] [Worker-Main-14/INFO]: Preparing spawn area: 22%
[00:39:05] [Worker-Main-12/INFO]: Preparing spawn area: 27%
[00:39:06] [Worker-Main-13/INFO]: Preparing spawn area: 30%
[00:39:06] [Worker-Main-12/INFO]: Preparing spawn area: 30%
[00:39:07] [Worker-Main-9/INFO]: Preparing spawn area: 40%
[00:39:07] [Worker-Main-8/INFO]: Preparing spawn area: 40%
[00:39:08] [Worker-Main-14/INFO]: Preparing spawn area: 52%
[00:39:08] [Worker-Main-13/INFO]: Preparing spawn area: 63%
[00:39:09] [Worker-Main-9/INFO]: Preparing spawn area: 66%
[00:39:09] [Worker-Main-9/INFO]: Preparing spawn area: 74%
[00:39:10] [Worker-Main-11/INFO]: Preparing spawn area: 83%
[00:39:10] [Worker-Main-12/INFO]: Preparing spawn area: 83%
[00:39:11] [Worker-Main-9/INFO]: Preparing spawn area: 94%
[00:39:11] [Server thread/INFO]: Time elapsed: 9739 ms
[00:39:11] [Server thread/INFO]: Done (13.330s)! For help, type "help"
container@pterodactyl~ Server marked as running...

And here you can see that the server loads the dimension properly in game:

 

 That's the evidence that Vanilla 1.17.1 loads properly both datapacks with no problems, but trying to do it on Spigot and you'll get the shown Exception. Hope my answer helps~

 

Comment by md_5 [ 20/Jul/21 ]

Your datapack is invalid. See SPIGOT-6523

Comment by Black Hole [ 19/Jul/21 ]

Possible a duplicate of SPIGOT-6073

Generated at Sat Dec 13 13:43:22 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.