BluePsychoRanger / SkyBlock_Collection

A collection of data packs to generate and play SkyBlock
MIT License
26 stars 1 forks source link

How to generate a void with structures #5

Closed Rubbered closed 2 weeks ago

Rubbered commented 1 year ago

Sorry, this is probably the wrong place to ask this question, but I was just wondering if there is a way to generate a world with these datapacks that keeps all the void world stuff, but still generates all the structures normally. (My brother and I just want an easy skyblock world that doesn't make it too difficult to get stuff)

Thanks

BluePsychoRanger commented 1 year ago

It's technically possible, but it'd be quite complicated to convert my data pack to include the structures. For a quick fix, you could try deleting all files in data/minecraft/worldgen/structure_set and data/skyvoid_worldgen/worldgen/structure_set EXCEPT for the files in the purge folder. That may be good enough to achieve what you want, but I haven't tested it myself, so do it in a backup world before playing around.

Rubbered commented 1 year ago

I'll try that. Thanks!

Rubbered commented 1 year ago

Yeah it didn't work that great. Some of the structures are now generated, but a lot of them are cut off by the bottom of the world, and also stuff like villages don't generate at all. Thanks for the help though!

dandud100 commented 3 weeks ago

@BluePsychoRanger i would like to reopen this requests as there is really no datapack that can do this.

BluePsychoRanger commented 3 weeks ago

The Skyblock Infinite Datapack is the closest version of skyblock to generate structures similar to their original locations. It however uses hardcoded Y values, so many structures aren't exactly the same. However I have plans to make a skyblock structure pack which puts smaller skyblock-themed structures in the bounding boxes of the original structures.

dandud100 commented 2 weeks ago

Skyblock Infinite Datapack

Sadly only a few selected structures too. Is it hard to create a datapack that includes all structures or why we have this situation?

BluePsychoRanger commented 2 weeks ago

It's not trivial to generate every structure cuz the old structures use hardcoded placement logic which isn't easy to replicate. I've figured out how to generate most of the structures properly without causing too much lag, so I can soon release a version that has every structure (minus ocean ruins) in the correct location.

dandud100 commented 2 weeks ago

Oh that is really interesting! Why does ist cause lag tho, and what would happen on a server? Is it lagging for everyone or just for the player that travels the world?

BluePsychoRanger commented 2 weeks ago

World generation is complex, so generating new chunks will always cause some lag. The way I can get the structures to generate in the correct locations is by basically allowing most of the terrain to generate, and then deleting it all. On a server generating new chunks will lag the server, but this can be solved by pre-gennerating the world with a mod called Chunky. Once a chunk is generated, it won't lag when going to that chunk.

dandud100 commented 2 weeks ago

Oh yeah, Chunky is a good hint! I know this plugin and used it a while ago.

Oh and a question, why are ocean ruins not possible?

BluePsychoRanger commented 2 weeks ago

Ocean ruins have really weird generation criteria, so the method I've used to properly generate the other structures doesn't work. So some parts of the ocean ruin generate at the bottom of the world, and anything I try doesn't work to move it to the correct altitude.

dandud100 commented 2 weeks ago

Seems like a lot of work but amazing that you keep Up the work and try to create this datapack. Will the structures in other dimensions generate too?

BluePsychoRanger commented 2 weeks ago

Yeah, it's the same method in all three dimensions

BluePsychoRanger commented 2 weeks ago

Release v2.1.0 has a new worldgen type which makes structures generate completely: skyvoid_worldgen_structures.

dandud100 commented 2 weeks ago

Release v2.1.0 has a new worldgen type which makes structures generate completely: skyvoid_worldgen_structures.

Works, you made my day. Enjoy your pizza. 🍕

dandud100 commented 2 weeks ago

Oh i see a bug i think, the minecarts (with chests) from the mineshafts are not being generated.

Edit: Ok found now a few ones with one minecart. Maybe they are falling down or something.

BluePsychoRanger commented 2 weeks ago

There was a bug with the chest minecarts. I've fixed it in Release 2.1.1 (skyvoid_worldgen_structures_v1_0_1). In the future, please open a new issue so it doesn't get lost.