Open Snowiiii opened 3 weeks ago
Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)
Idea, maybe a first start could be to implement superflat, we also should probably have an enum with the different world-gen options (noise, debug, superflat, normal)
Good idea
To add, slime chunks are also needed to be generated.
Another resource that could be useful : http://cuberite.xoft.cz/docs/Generator.html
It documents the way Cuberite's world generator works. I believe Feather also based their generator on it.
This will be a fun one. I bet this will take longer than a week :c
Packets
Actual fun
Resources:
https://www.alanzucconi.com/2022/06/05/minecraft-world-generation/
https://www.youtube.com/watch?v=CSa5O6knuwI
[x] Superflat Simple superflat world generation
Random's
Mojang uses some own Random implementations.
[x] XOROshiro128
[ ] XOROshiro48
[ ] Biome map It all starts with the so-called “biome map”: which serves as a template to dictate which type of biome goes in each region of the world. Plains, deserts, mountains and oceans are all examples of possible biomes, and nowadays the Overworld alone counts over 60 of them.
The map is built using a sequence of fairly simple operations, referred to as “layers”, which are stacked on top of each other. Each layer takes the biome map from the previous one, adds some details, and passes it to the next one.
Terrain:
[ ] Basic Outline The first one creates a basic outline, using the biome map to decide the height each region can have. The result is a solid, barren landscape, entirely made out of stone, where every empty block below y=62 is turned into water.
[ ] Biome's The following step replaces all the surface stone blocks with a type appropriate to their biome. Grass for plains, sand for desert, gravel for oceans, and so on. This is also where the bedrock layer is generated. Interestingly enough, in the Java Edition its pattern doesn’t depend on the world seed, and is the same across every Minecraft world.
[ ] Caves's In the third step, caves and ravines are literally carved out of stone.
Finally, the third phase populates the world with the remaining features. Structures like villages, strongholds and ocean monuments are placed first, followed by decorative elements like trees and grass. This is also when ore veins are added in the world, in a process not dissimilar to the ones used by “Infiniminer”.
Biomes
Resources:
Overworld
Offland biomes (islands/oceans)
Highland biomes
Woodland biomes
Wetland biomes
Flatland biomes
Arid-land biomes(it neither rains nor snows at all, but the sky still turns overcast during inclement weather.)
Cave biomes(oh hell they exist as well :c)
Void biomes
Nether (hell (literally) it does not end)
The End (this game is endless)
Structurs
Resources: https://minecraft.fandom.com/wiki/Structure
Overworld
Underground structures
Aboveground structures
[ ] Desert Pyramid (one of my favorites)
[ ] Igloo
[ ] Jungle Temple
[ ] Pillager Outpost
[ ] Swamp Hut
Village
[ ] Village Plains
[ ] Village Meadow
[ ] Village Desert
[ ] Village Savanna
[ ] Village Taiga
[ ] Village Snowy Plains (did you know that on Bedrock Edition, there are more villages in different biomes?)
Abandoned Village
[ ] Abandoned Village Plains
[ ] Abandoned Village Meadow
[ ] Abandoned Village Desert
[ ] Abandoned Village Savanna
[ ] Abandoned Village Taiga
[ ] Abandoned Village Snowy Plains
[ ] Woodland Mansion
Aboveground and underground structures
Underwater structures
Nether
The End
End City
Structure-like features
mhh. maybe 2 weeks