Custom world types

Upvotes: 19
Issue description

The ability to remove vanilla biomes so ONLY yours spawn in a world

Issue comments

We will add a way to do this using procedures / global events so biome spawn event can be intercepted and canceled.

For the ones who use custom code, you need to place this snippet in the preInit section of mod element:

for (BiomeManager.BiomeType type : BiomeManager.BiomeType.values()) { 			
	for (BiomeManager.BiomeEntry entry : BiomeManager.getBiomes(type)) { 				
		BiomeManager.removeBiome(type, entry); 			
	BiomeManager.addBiome(type, new BiomeManager.BiomeEntry(Biomes.DESERT, 1));

This code example will remove all biomes from spawning and only add desert back, so the overworld will only contain desert biomes.

We will most likely incorporate this in MCreator in form of mob init phase procedures.

Another way to do this without putting in actual code is to make a procedure that makes a player teleport to another dimension upon entering the world. It's not a very good solution but it'll work until this option is officially added.

After some thought, the better approach to this would be custom world types. Removing vanilla biomes is quite an invasive approach and will fail when another mod is added.

World type, on the other hand, will allow the user of the mod to select the user's custom world type based on the selected dimension.

Donate to MCreator

By donating to developers you can speed up development, as with more resources, we can dedicate more time to MCreator. It is a free project made by developers working on it in their free time.