This datapack is a system I devised to scan chunks as they load, check what biome it is, and randomly pick from a pool of possible structures to spawn. Essentially, it allows for new structures to be added to the world generation relatively efficiently, which might be one of the craziest thing a datapack could possibly do. I started this datapack kinda as a personal challenge, but I wanted to make sure to push myself to release it in a polished state as modded in buildings aren't something players get to enjoy as often in these new version of the game & this pack also makes it easy for players to add their own through modular packs.
No modloader needed due to being a datapack, working in the latest versions of Minecraft Java Edition 1.15+, designed to be modular which allows for other players to make and share their own pack modules, and the frequency of structure spawns can be adjusted through an in-game menu!
More Screenshots (From My Modules):
Downloads & Pack Modules:
The Base Pack - Required for everything to work: (MediaFire Download)
Mega Mix - Recommended Download, all of my structures in one pack: (MediaFire Download)
Combined Base + Mega Mix Download can be found on Planet Minecraft Page.
My Seperate Pack Modules:
Biome Towers - Simple towers for every biome: (Returning Eventually?)
Procedural Places - Randomly generated dungeons & biomes: (Returning Eventually?)
Misc Buildings - Anything else that doesn't fit those themes: (Returning Eventually?)
Community Compilation Pack:
Looking for contributors!
Modules Made By Others:
None yet, please tell me if you end up making one so I can link it here!
Legacy 1.14 compatible v0.8: (MediaFire Download)
How To Install:
- Download the Base pack and all the Module packs you want to install, the Base pack should come with a Read Me that includes the full installation instructions.
- Currently only Mega Mix is available as a Module for the pack, so download that.
- Installing the Datapack is as simple as dragging and dropping the unzipped Base pack and all of the Modules you want to install into your save file's "datapacks" folder, then opening the world in-game, typing /reload, and following the in-chat information. Cheats need to be enabled.
Also, to avoid complications make sure that the folder names for your Modules are alphabetically listed after the Base pack.
- You can install new modular packs at any time, just remember to type /reload into chat after modifying which are installed.
- There is also a video tutorial for how to install, which includes a little bit of troubleshooting help:
How To Create Pack Modules:
- The first step is to download the pack prefab I made: (MediaFire Download)
- This prefab will be the basis for what is needed for your module to play nice with my generator once plugged in.
- The next step is to read the tutorial & tips files that are inside the prefab's folder, these should contain all the info you need to get started on making a pack, keep in mind the limitations of what you can design are only as limited as what you can manage to do with commands. I was able to create procedural dungeons & flying islands with commands, so if you know what you are doing those limitations shouldn't be so bad.
- Completely optional, but you can also download this Debug pack, when installed it will generate pillars for every biome and it can give you a good idea for where and how commonly different biomes spawn: (MediaFire Download)
- If you have structures saved as Structure Block files but don't want to put the work into making a full pack, message me a link to your structure files with some information about how you want them to spawn and I'll add them into a Community Pack down the road!
- Also if you want, you can watch this 50 minute extensive tutorial I made which covers a lot of the same stuff the text files do, it's messy and likely not worth your time as I'm not good at these kinds of videos, but it's there if visuals help make sense of what you need to do.
Don't forget to post here/tell me when you've made a module so I can add a link to it in the list of them.
- Look into the new 1.16 datapack settings, it might be possible to put some structures directly into world gen finally?
v1.0 Progress Reports:
8/11/2020 - Small update v0.93. Pack no longer removes all forceloaded chunks every tick. That was a messy old method.
7/28/2020 - Released version 0.92, this officially contains the new cave and sky biome settings but doesn't yet utilize it for more than changing spawning frequency of the existing structures, no ice or desert caves in my Mega Mix pack yet. This version contains the new huge fortress structure, I take heavy pride in how well they came out.
7/12/2020 - Another hotfix, somehow made a mistake that didn't break 1.16 but broke 1.16.1.
Currently re-balancing the spawn frequencies in Mega Mix as a break from working on the huge fortress, the fortress is nearly complete and mostly just needs interior decorating.
6/28/2020 - Uploaded hotfix v0.91 to fix bug and allow for 1.16 compatibility.
Also getting back to working on adding a few new structures to Mega Mix including a HUGE dungeon.
Added Biomes Region value to allow for Sky and Cave structures to vary without needing variations for every single biome, just a small handful of climate regions. Likely going to be v0.92.
v0.9 Progress Reports:
2/25/2020 - Pack v0.9 is basically done, just need to update the prefab module and my own module packs. I've replaced the old linear-slice chunk scanning system with a new outward-spiral scanning system which scans a consistent number of chunks per second to avoid the massive lag of high render distances, this system also shuffles between players in multiplayer seemingly about 30% faster than the older system? Still need to test server stuff. It can slow down a lot on servers over 4 players still.
All the biomes are now added in, Overworld, End, and Nether, I've even prepped it with the new 1.16 biomes, which I haven't tested but it also doesn't break the 1.15 version of the pack so it's fine. Let's see what else... also fixed some block tag issues? Oh, and there is now a check that should stop it from running with no players logged in to a server.
2/25/2020 - Latest work I managed to do included some optimization, 1.15 has some weird lag issues with datapacks but the current optimization trick I added compensates for this decently. In the process of creating this optimizatoin method I also finally found a way to allow pack modules to be installed seamlessly without needing a "pack pool" file, this should make the next version of the pack as user friendly as I always wanted.
Downside: Only one structure gets spawned per tick, however this downside can only really be seen if the game is lagging heavy and needs to catch up on structures to spawn, or if you have the generator set to spawn an unholy number of structures. This downside is also an upside because it means the pack lags the game less often and it is what allows for the seamless pack modules.
2/13/2020 - With the time I've had to work on the pack I've created what I think should be all the needed predicate files and I've made decent progress wiring them in, I currently have the Land biomes working and have fully upgraded my Debug pack and am using it to test quality and accuracy so far so good. Along with testing I've also added several more biomes to the list upping the total from 104 to 110, extra stuff Minecraft doesn't have biomes for like rivers biomes on land or the edges of deserts & snow biomes where you might not want your dungeon to spawn and awkwardly overlap outside of the theming.
Next up, wiring in Ocean, Sky, and Cave biomes, luckily now I've already done most of the work for these due to having written the predicates & updated the Debug pack. No idea when the update will be done, but I sure hope it wont take too long... here I go updating a version behind again as 1.16 comes out before this is done lol.
1/30/2020 - I have researched predicates and have begun optimizing the pack for 1.15 with them. The pack's biome count/accuracy looks to be taking a huge jump from 43 to 104 while at the same time gaining optimization. This is a huge step forward for the pack and I guess it's time for me to start writing those I think 81 predicate files for this.
Due to caves not being biomes in Minecraft's biome list (yet?) along with sky heights and various other things like nether oceans aren't yet biomes I still need to run a little bit of my own biome detection, but besides that it's mostly predicates now checking which biome the generator entity is in. Really nice.
For optimization perspective, the old block-detecting system for land biomes needed to run roughly between 100 to upwards of 900ish commands, this new system lowers that down to 20 maxing out at 70 from what I can tell so far. Crazy huge optimization WHILE also increasing the accuracy to 100% matching the game's biomes.