Post

Been messing around with a bit of worldgen modding recently, and keep running into gaps in the built-in set of primitive types. 😅 It’s got me curious - what are you as a modder/datapack creator missing most when it comes to working with the game’s worldgen systems?

7 reposts41 likes

I don't find myself too limited, since I enjoy coming up with creative solutions with the available tools, but outside of what I'd consider the obvious (un-hardcoding legacy features to use block state providers and support other configuration), I have a small list of nice-to-haves

- A feature that can performantly apply a blockstate provider to an entire chunk - Allow Template features to use processors like Fossils do - More placement modifiers in general, particularly to test surroundings with greater accuracy and performance

- More control over jigsaw structure placement, including where they can start (underground surfaces) and where they can extend into (like Mineshafts) - Ability to define limited or guaranteed template pool entries (ala the End Portal in Strongholds) distinct from the starting structure

I could probably think of more if I had to, but really so many of the tools we've been getting in the last few updates have been doing so much to expand our capabilities and make more accessible techniques that were previously esoteric or annoying, not to mention just more options in general.

I'm curious on the first point - generally I would imagine that to be the role of surface rules, but maybe those are missing some capability too? For what kinds of use-cases are you missing that functionality? :)

Well surface rules can only replace the solid default block with a single blockstate, after terrain generation but before configured feature generation. I'm referring to a full blockstate provider, especially a rule provider, that could be applied to each coordinate in a (sub)chunk. (1/3)

As someone who uses density functions: 1. Compilation of DFs should check a cache before recompiling the same DF potentially millions of times, via dynamic programming. 2. A way to sample a DF shifted. 3. A more reliable cache that works even when markers aren’t initialized. (via IdentityHashMap?)

@gegy.dev Any thoughts on my previous post? Also IDK which dev to ask but out of curiosity. When will we finally know when the next big update is coming? End Update for 2027? Or will a big update be like in 3-5 years? Any insight? Thanks

The ability to make it so mobs spawning is not controlled through biomes. Like for example: Wolves now spawn in plains BASED off its own entity_biome file, instead of me changing the actual plains biome code. It gets messy when using multiple biome overhaul packs. When I just want a mob in a biome.

so making mob spawns similar in format to biome placement but decoupled, based on a multidimensional grid where each axis is an arbitrary noise (or better yet, arbitrary density function?)

I posted on the official Minecraft Discord about improvements to Data-Driven Dimensions and Biomes. - Biome Entry Data-Driven - Worldgen biome options for the End are now accessible - Biome features are now tagged objects instead of arrays of arrays discord.com/channels/113...

discord.comDiscord - Group Chat That’s All Fun & GamesDiscord is great for playing games and chilling with friends, or even building a worldwide community. Customize your own space to talk, play, and hang out.

Overall, more split data driven, and add new tags. - Currently, with datapacks, you can't remove a biome from the overworld or just modify a specific one. - When you add entities, it's a pain to have to add them to biomes in mods. - You can't access the End's world generation options

Individual terrain_adaptation settings for jigsaw pieces would be fantastic. Currently, either the whole structure gets buried or none of it does. It's very awkward for custom structures with large basements. (attached, an old variation of Myriad's mansion rework with this issue)

That makes a lot of sense, thanks for the super clear example too! (that poor building 😁)

I would honestly love some tools to be able to check for ceilings properly in dimensions that have gaps of void (like the end), because I have not had any succes implementing ceiling mounted structure in a custom dimension of mine

I'm mainly a datapack maker but i think having more control over the monster spawning in a biome would be nice. Something akin to SpawnPotentials in spawner blocks.

That's a great highlight! ☺️ Do I understand correct that you mean control in terms of what is being placed (e.g. equipment/variant/other entity data) as opposed to the "when/where"? (though of course there's room to improve there too)

Yes you are correct. I meant a way to spawn a mob with more data (loot_table, attributes, tags, passengers, etc.) than just an entity type in a biome definition.

The one area of worldgen that's still almost entirely hard-coded are the large ore veins. Its based on some noise-router values, but you can't control the blocks placed at all. Seems like maybe that could be part of the material rule system? (I.e. density function input in material rules)

Not actually a problem in the system itself but how vanilla uses it: If vanilla were to make use of the possibility to use named placed feature tags in biomes, that would make it much easier for data packs to add custom features to vanilla biomes (without having to override the biome itself)

I double this, but also, I wish more elements in world generation allowed tags I would greatly improve potential compatibility

The bandlands material rule is at the moment hard coded and the only ways to get bands, other than those specific terracotta ones from the badlands, is with very hacky ways I also wish we had some form to check xz coordinates for density functions

It would be nice if we were able to put a timeline into a specific biome, or allowed a biome to overwrite the effect of the timelines Also the way material rule conditions can be written into their own json makes me wish we could do the same for the placement conditions of features

not really DIRECTLY worldgen, but sometimes i just want to change the sky/water/grass colors of a biome.. or the cosmetic environmental attributes... without a datapack? perhaps it would be nice if the cosmetic stuff was moved to resource packs. so i can make uh.. blue savannas??? resource pack??

though, i'd hope that could someday come alongside the ability for datapacks to include a forced resourcepack, because right now having to tell the player 'hey download this resource pack and enable it manually please' on top of a datapack that say, adds custom item models. is mildly inconvenient