Structure pool JSON files in a datapack at data/<namespace>/worldgen/template_pool are reported as Empty or none existent pool in the console when attempting to generate them using a Jigsaw block.
This happens even when the namespace is the default "minecraft".
To reproduce: load the attached datapack and attempt to load the pool minecraft:custom_structure/rooms using a Jigsaw.
Attachments
Comments 14
I can also confirm that template_pool files will successfully load when added to a world upon initial creation, but will fail to load when a player saves and quits, then reloads the world.
Easy way to test is to:
the datapack I linked here
add it to the datapack selection when creating a world
load the world and use a jigsaw block to load the pools used in the datapacks
save and quite and restart the world
attempt to load "custom:hallways"
the output log will say "Empty or none existent pool: custom:hallways"
/u/Simsomsim on Reddit seems to have found a workaround: if the structure is referenced in a biome for natural generation, then it should work.
Just wanted to drop back in to let you know that I got my Template Pools working again. Seems when I made a new one right after the update, I had one line of code wrong (I used an incorrect element type) in the file which for some reason stopped all my custom template pools. There was no error code or crash log to tell me this though. I only figured this out because I felt the need to start from scratch again.
Another thing I noticed, when I made my custom village/common/lamps pool that when I removed the town's default street lamp from the pool, it would shut the template pool down. Almost as though the game kept looking for the default lamp. Once I included it in the randomized list the template pool runs fine. Again, no error code or crashing.
I've noticed a similar quirk regarding town_centers if you try to customize a default pool. If you rename the structures, the game overrides and uses the default structures instead, but doesn't do this when you customize the houses pool and the names of the house structures. At least in this case the game doesn't crash or shut the pool down. All I had wanted to do was simplify the structure names for myself and maybe even add some new structures to the default towns.
I don't know if this is working as intended, since I'm learning the process as I go, but I do want to also express my thanks for giving us these templates to work with. This is the kind of map making I've always wanted to do and I now have the chance to tinker around with it. So thank you. 😃
@Warren Tode do you happen to have a data pack open source somewhere that I can use as a reference? I wanted to add some extra decorations to my world but I am quite confused on how to achieve it. Sadly the built-in jigsaw pools are defined inside of Java, as I can't find the json files for them inside the data folder of the jar file.
@Sven Yes, you can download it here: https://github.com/slicedlime/examples
Just click on slicedlime's vanilla worldgen zip folder. It's currently up to date for 1.16 right now. You'll then be able to look at all of the vanilla worldgen files and folder layouts to use as a guideline in creating your own.
This wiki page explains the JSON format in those files, but I honestly am completely new to the code and find it easier to just tinker with it hands on and learn on the fly. So in this regard, I hope it helps you more than it has helped me.
I can confirm that custom template pools will fail to load, possibly due to issues with namespace issues in folder layouts. Creating a custom template pool using file layout data/minecraft/worldget/template_pool/custom/some_template.json will sometimes result in the templates failing to load.
Here is an example datapack with two template pools: "starts.json" and "hallways.json". The "hallways" file always fails to load while the "starts" does, even though the two have identical file layouts. and will give the error: