Topic category: User side tutorials
The original reddit post [THAT I MADE btw, It's my post]
This is a Tutorial going over how to add :0 :0 :0 [drumroll please]
CUSTOM BIOMES in the VANILLA END WITHOUT PLUGINS / APIs AND ITS FULLY COMPATIBLE WITH OTHER MODS!!!
...
After staring. down on Nullscape's code It became Obvious
let me explain
The Experiment that worked!!!
THEORY:
Basically the end right now uses a Biome source [source for deriving biomes for a dimension]
called "the end"
Now, This "the_end" biome source is FIXED and set in stone it can't be changed
SO we'll use the "Multi Noise" biome source to add new biomes
BUT we can create a new biome with the EXACT same conditions EXCPET the fact that we'll be using a "Multi Noise" and replace the vanilla end with this new version.
Q: But we replaced the end? so its not gonna be vanilla. :( right?
Ans> WRONG. it is vanilla you'll later find out. In a nutshell, we add this file and rename it to the OG end dimension name [ "the_end" ] and put it inside the "minecraft" in "data" ALL WE'LL BE DOING IS JUST REPLACING THE VANILLA END WITH ANOTHER VANILLA END
sounds confusing just go along it works. As long as the registry name of the dimension is; "minecraft:the_end" its VANILLA which it is and will be
So yes its compatible with other mods
NULLSCAPE USES JUST THIS
Q: It works, but its probably not the best idea since that can cause lots of compatibility issues with other mods - ManuFlosoYT
Ans> It is compatible, since the registry name is "minecraft:the_end" its compatible.
Plus Nullscape has been using this EXACT METHOD under our noses for a while now, And Nullscape is compatible with other mods.
If You're Worried that other mods using the same method won't have their biomes spawing in, then just make a Data Pack that includes all the biomes form all the mods into the dimensions, file
Understood?? good [idc if you didn't you'll understand anyways, I can assure you it works]
NOTE: IN order make it compatible and get the vanilla end dimension's biome source changed, STRICTLY FOLLOW ALL PROCEDURES AND NAMING FORMATS AS WELL AS NAMES ONLY FOR FILES AND FOLDER STRUCTURES...
"Get to the tutorial already" FINE:
start off by.. well, opening MISODE yes its a datapack generator but I'll show u how to make it work with mods
If you couldn't see well here's the link; https://misode.github.io/
Now that its open just, Click on "Worldgen"
https://misode.github.io/worldgen/
Then Dimension:
https://misode.github.io/dimension/
CLICKING DONE!:
more clicking left!! yey
SEE those "minecraft:overworld" s er'
well replace em'
make it "the_end"
Change da "BIOME SOURCE" to Multi-noise
SEEEEE
Its Biome Source that we changed to-
MULTI-NOISE lets you add new biomes.
after opening multi-noise settingsDO EXACTLY WAHT IT SAYS
NOTE FOR DOING THIS:
The priority of a biome can be changed by moving up or down;
lower = less priority / higher = higher priority
only change slight values of any biome
---------======:::::| ONWARDS |:::::======----------
If you're a whiney little BABY, here's the code that u can paste in the corner dark space full of CODE
Try it and see the outcome
{
"type": "minecraft:the_end",
"generator": {
"type": "minecraft:noise",
"settings": "minecraft:nether",
"biome_source": {
"type": "minecraft:multi_noise",
"biomes": [
{
"biome": "minecraft:end_barrens",
"parameters": {
"temperature": [
-0.17,
2
],
"humidity": [
-0.5,
-0.1
],
"continentalness": 0,
"erosion": 0,
"weirdness": 0,
"depth": 0,
"offset": 0
}
},
{
"biome": "minecraft:small_end_islands",
"parameters": {
"temperature": [
-0.21,
0
],
"humidity": 0,
"continentalness": 0,
"erosion": 0,
"weirdness": 0,
"depth": 0,
"offset": 0
}
},
{
"biome": "minecraft:end_midlands",
"parameters": {
"temperature": [
-0.1,
1
],
"humidity": 0.5,
"continentalness": 0,
"erosion": 0,
"weirdness": 0,
"depth": 0,
"offset": 0
}
},
{
"biome": "minecraft:end_highlands",
"parameters": {
"temperature": [
-0.2,
-0.3
],
"humidity": [
-0.1,
0.35
],
"continentalness": 0,
"erosion": 0,
"weirdness": 0,
"depth": 0,
"offset": 0.175
}
},
{
"biome": "minecraft:end_barrens",
"parameters": {
"temperature": 0,
"humidity": 0,
"continentalness": 0,
"erosion": 0,
"weirdness": 0,
"depth": 0,
"offset": 0
}
}
]
}
}
}
The code above gives this result
K add custom biomes
YES repeat it every-time u want .Or edit it in the code editor like me
FINALLY
OK Bye Bye Misode!! [for now at least(don't worry no more Misode in the tutorial)] :
Copy downloaded file
Hop into your mcreator workspace and Open up Resources > data in your explorer
Now that you opened it,
Create new file called "dimension"
Now Paste in Peace ;)
FINALLY, Paste dat FILE u copied b4[before] into dimensions
Rename the file If you want it to work!!!!
STEP [I lost count]:
Open MISODE AGAIN, yes
Open NOISE SETTINGS
Or You can use this link to get there directly:
https://misode.github.io/worldgen/noise-settings/?version=1.20&preset=end
Now Paste this Code in there:
{
"sea_level": 0,
"disable_mob_generation": true,
"aquifers_enabled": false,
"ore_veins_enabled": false,
"legacy_random_source": true,
"default_block": {
"Name": "minecraft:end_stone"
},
"default_fluid": {
"Name": "minecraft:air"
},
"noise": {
"min_y": 0,
"height": 128,
"size_horizontal": 2,
"size_vertical": 1
},
"noise_router": {
"barrier": 0,
"fluid_level_floodedness": 0,
"fluid_level_spread": 0,
"lava": 0,
"temperature": {
"type": "minecraft:shifted_noise",
"noise": "minecraft:temperature",
"xz_scale": 0.25,
"y_scale": 0,
"shift_x": "minecraft:shift_x",
"shift_y": 0,
"shift_z": "minecraft:shift_z"
},
"vegetation": 0,
"continents": 0,
"erosion": {
"type": "minecraft:cache_2d",
"argument": {
"type": "minecraft:end_islands"
}
},
"depth": 0,
"ridges": 0,
"initial_density_without_jaggedness": {
"type": "minecraft:add",
"argument1": -0.234375,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_y": 4,
"to_y": 32,
"from_value": 0,
"to_value": 1
},
"argument2": {
"type": "minecraft:add",
"argument1": 0.234375,
"argument2": {
"type": "minecraft:add",
"argument1": -23.4375,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_y": 56,
"to_y": 312,
"from_value": 1,
"to_value": 0
},
"argument2": {
"type": "minecraft:add",
"argument1": 23.4375,
"argument2": {
"type": "minecraft:add",
"argument1": -0.703125,
"argument2": {
"type": "minecraft:cache_2d",
"argument": {
"type": "minecraft:end_islands"
}
}
}
}
}
}
}
}
},
"final_density": {
"type": "minecraft:squeeze",
"argument": {
"type": "minecraft:mul",
"argument1": 0.64,
"argument2": {
"type": "minecraft:interpolated",
"argument": {
"type": "minecraft:blend_density",
"argument": {
"type": "minecraft:add",
"argument1": -0.234375,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_y": 4,
"to_y": 32,
"from_value": 0,
"to_value": 1
},
"argument2": {
"type": "minecraft:add",
"argument1": 0.234375,
"argument2": {
"type": "minecraft:add",
"argument1": -23.4375,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_y": 56,
"to_y": 312,
"from_value": 1,
"to_value": 0
},
"argument2": {
"type": "minecraft:add",
"argument1": 23.4375,
"argument2": "minecraft:end/sloped_cheese"
}
}
}
}
}
}
}
}
}
},
"vein_toggle": 0,
"vein_ridged": 0,
"vein_gap": 0
},
"spawn_target": [],
"surface_rule": {
"type": "minecraft:block",
"result_state": {
"Name": "minecraft:end_stone"
}
}
}
What We've done is we've added TEMPERATURE to the end.
I've just added temperature cause that's really all we need, But you can add CONTINENTALNESS, VEGETATION,etc.
This allows the biome to spawn into the dimension with the temperature (and whatever other params provided) rather than the entire dimension just being one biome since there was no variation in biome placement before.
Now you can edit the stuff all you want, preview is on the right.
Ye done now no element locking nothing!!!:
credits:
StarMute > Nullscape
Misode [4 making our lives easier]
EXTRA BONUS!!:
If you wanted to give the end custom features like changing height limit [yes]
use this:
Code for dat as well
{
"logical_height": 384,
"infiniburn": "#minecraft:infiniburn_end",
"effects": "minecraft:the_end",
"ambient_light": 0,
"respawn_anchor_works": false,
"has_raids": true,
"min_y": 0,
"height": 384,
"natural": false,
"coordinate_scale": 1,
"piglin_safe": false,
"bed_works": false,
"fixed_time": 18000,
"has_skylight": false,
"has_ceiling": false,
"ultrawarm": false,
"monster_spawn_block_light_limit": 0,
"monster_spawn_light_level": {
"type": "minecraft:uniform",
"value": {
"min_inclusive": 0,
"max_inclusive": 7
}
}
}
U can also use MISODE for this just do dimension_type instead ; https://misode.github.io/dimension-type/
plz help
Is there a way to make Emperor Hugo's method work? I tried to tinker with generation settings too, but it just didn't work... How does the End's generation even work?
: |
I figured out how to do this properly with actual coding, probably will update my end biomes plugin.
My end biomes plugin has been updated and it adds biomes properly without replacing any files. It also adds surface rules so you don't need features or structures to replace the endstone.
Seems like this tutorial works, but it's kind of obtuse. You could benefit from some images and a more straight-forward explanation, especially given how easy it is to mess this up with syntax errors. Nerdy's plugin also seems to work pretty well for this.
ty this helps