Skip to content

Instantly share code, notes, and snippets.

@MulverineX
Created July 8, 2020 21:13
Show Gist options
  • Save MulverineX/6b3e19cc1db7064932927b9ad71dc234 to your computer and use it in GitHub Desktop.
Save MulverineX/6b3e19cc1db7064932927b9ad71dc234 to your computer and use it in GitHub Desktop.
Reference Vanilla Files
// Defines a biome, to be used by dimensions
{
"starts": [ // List of structures from configured_structure_feature
"minecraft:mineshaft_mesa",
"minecraft:stronghold",
"minecraft:ruined_portal"
],
"spawners": {
"water_ambient": [], // Water ambient mobs
"ambient": [ // Ambient mobs
{
"type": "minecraft:bat", // Any mob ID
"weight": 10, // Relative chance of spawning (weight over total sum of all mob weights)
"minCount": 8, // Min pack spawn size?
"maxCount": 8 // Max pack spawn size?
}
],
"misc": [], // Other mobs
"water_creature": [], // Water passive mobs
"creature": [], // Passive mobs
"monster": [] // Hostile mobs
},
"spawn_costs": { // Energy system for limiting mob spawns
"minecraft:enderman": {
"energy_budget": 0.12,
"charge": 1.0
}
},
"sky_color": 7254527, // Sky colour, same format as leather armour
"surface_builder": "minecraft:badlands", // A configured_surface_builder
"carvers": { // List of carvers from configured_carver
"air": [ // What the carvers replace blocks with. "liquid" or "air", "liquid" probably corresponds to the dimension's default_fluid
"minecraft:cave",
"minecraft:canyon"
]
},
"features": [ // List of features from configured_features
[],
[
"minecraft:lake_water",
"minecraft:lake_lava"
],
[],
[
"minecraft:monster_room"
],
[],
[],
[
"minecraft:ore_dirt",
"minecraft:ore_gravel",
"minecraft:ore_granite",
"minecraft:ore_diorite",
"minecraft:ore_andesite",
"minecraft:ore_coal",
"minecraft:ore_iron",
"minecraft:ore_gold",
"minecraft:ore_redstone",
"minecraft:ore_diamond",
"minecraft:ore_lapis",
"minecraft:ore_gold_extra",
"minecraft:disk_sand",
"minecraft:disk_clay",
"minecraft:disk_gravel"
],
[],
[
"minecraft:patch_grass_badlands",
"minecraft:patch_dead_bush_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
"minecraft:patch_sugar_cane_badlands",
"minecraft:patch_pumpkin",
"minecraft:patch_cactus_decorated",
"minecraft:spring_water",
"minecraft:spring_lava"
],
[
"minecraft:freeze_top_layer" // ???
]
],
"depth": 0.1, // Base height, 1 depth = 16 blocks
"scale": 0.2, // Height variation, https://i.imgur.com/VJEcej7.png
"temperature": 2.0,
"downfall": 0.0,
"effects": {
"ambient_sound": "minecraft:ambient.crimson_forest.loop", // Looping sound
"mood_sound": { // Random ambient "cave sound" when near dark area
"sound": "minecraft:ambient.crimson_forest.mood",
"tick_delay": 6000,
"block_search_extent": 8,
"offset": 2.0
},
"additions_sound": { // Random sound
"sound": "minecraft:ambient.crimson_forest.additions",
"tick_chance": 0.0111
},
"music": {
"sound": "minecraft:music.nether.crimson_forest",
"min_delay": 12000, // Min delay between music starts
"max_delay": 24000, // Max delay between music starts
"replace_current_music": false
},
"fog_color": 3343107, // Default fog colour, same format as leather armour
"water_color": 4159204, // Water colour, same format as leather armour
"water_fog_color": 329011, // Default fog colour, same format as leather armour
"particle": {
"options": {
"type": "minecraft:crimson_spore"
},
"probability": 0.025
}
},
"precipitation": "none", // One of "none", "rain", or "snow"
"category": "mesa" // One of "nether", "mesa", "savanna", "jungle", "nether", "beach", "forest", "ocean", "desert", "the_end", "river", "taiga", "extreme_hills", "icy", "mushroom", "plains", "beach", "swamp"
}
{
"config": {
"probability": 0.02 // float 0 - 1, represents chance of occuring (per chunk?)
},
"name": "minecraft:canyon" // one of "minecraft:canyon", "minecraft:cave", "minecraft:underwater_cave", "minecraft:underwater_canyon", "minecraft:nether_cave"
}
{
"config": {
"biome_temp": "cold",
"large_probability": 0.3,
"cluster_probability": 0.9
},
"name": "minecraft:ocean_ruin"
}
{
"config": {
"top_material": { // Blockstate (Name + optional Properties)
"Name": "minecraft:blackstone"
},
"under_material": { // Blockstate
"Properties": {
"axis": "y"
},
"Name": "minecraft:basalt"
},
"underwater_material": { // Blockstate
"Name": "minecraft:magma_block"
}
},
"name": "minecraft:basalt_deltas" // One of "minecraft:default", "minecraft:badlands", "minecraft:basalt_deltas", "minecraft:eroded_badlands", "minecraft:frozen_ocean", "minecraft:giant_tree_taiga", "minecraft:gravelly_mountain", "minecraft:mountain", "minecraft:nether", "minecraft:nope", "minecraft:soul_sand_valley", "minecraft:swamp", "minecraft:nether_forest", "minecraft:wooded_badlands"
}
//List of possible processor type : "block_ignore","block_rot", "gravity", "jigsaw_replacement", "rule", "nop", "block_age", "blackstone_replace", "lava_submerged_block"
{"processors":
[
{
"processor_type":"block_ignore",
"blocks": [] // List of block to ignore. Specified block from the structure won't be placed. Support block state??
},
{
"processor_type":"block_rot",
"integrity": 1.0 //Float between 0 and 1 is expected, default to 1.
//Despite the name, "Rot" refer to "Decay" and not "Rotation"
},
{
"processor_type":"gravity", //Snap the struture to the specified heightmap level
"heightmap": heighmap type, //Default to WORLD_SURFACE_WG, can be any of thoses :
//WORLD_SURFACE_WG, WORLD_SURFACE, OCEAN_FLOOR_WG, OCEAN_FLOOR, MOTION_BLOCKING, MOTION_BLOCKING_NO_LEAVES
//For more info, see the wiki on the `Heightmaps` part : https://minecraft.gamepedia.com/Chunk_format#NBT_structure
"offset": integer //Optionnal, default to 0. Add a vertical offset to the structure (1 would be 1 block higher)
},
{
"processor_type":"jigsaw_replacement",
"final_state": "" //block state like the one you would specify in /setblock. Support block tag and nbt???
},
{
"processor_type":"rule",
"rules":[
{
"input_predicate": {//Predicate on the blockstate in the structure?
"predicate_type":"always_true"
}
//OR
{
"predicate_type":"block_match",
"block": block
}
//OR
{
"predicate_type":"blockstate_match",
"block_state": {
"Name":block
"Properties":{
"axis": "y"
}
}
}
//OR
{
"predicate_type":"tag_match",
"tag": snbt
}
//OR
{
"predicate_type":"random_block_match",
"block": block,
"probability": float //Not optionnal, float between 0 and 1 expected
}
//OR
{
"predicate_type":"random_blockstate_match",
"block_state": {
"Name":block
"Properties":{
"axis": "y"
}
},
"probability": float //Not optionnal, float between 0 and 1 expected
},
"location_predicate":{ //Predicate on the blockstate in the world?
//Same format as the "input_predicate"
},
"position_predicate":{
"predicate_type":"always_true"
}
//OR
{
"predicate_type":"linear_pos",
"min_chance": float, //Default to 0.0
"max_chance": float, //Default to 0.0
"min_dist": int, //Default to 0
"max_dist": int //Default to 0
}
//OR
{
"predicate_type":"axis_aligned_linear_pos",
"min_chance": float, //Default to 0.0
"max_chance": float, //Default to 0.0
"min_dist": int, //Default to 0
"max_dist": int, //Default to 0
"axis": axis //x, y or z. Default to y
},
"output_state": {
"Name":block
"Properties":{
"axis": "y"
}
}
"output_nbt": snbt// snbt of block
}
]
},
{
"processor":"nop" //Don't alter the structure pasting process at all.
},
{
"processor_type":"block_age",
"mossiness": float // Expected number between 0 and 1. Probability to replace some of the block to some other
//Stone brick, stone, chiseled_stone_brick => 50% chance to don't change
// => mossiness% chance to change mossy stone brick or randomly facing mossy stone brick stair
// => 1 - mossiness% chance to cracked stone brick or randomly facing stone brick stair
//Stairs => 50% chance to do nothing. mossiness% chance to change to mossy stone brick stair or slab. 1 - mossiness% to chance to change to stone slab or stone brick slab
//Slab => mossiness% chance to change to mossy stone brick slab
//Wall => mossiness% chance to change to mossy stone brick wall
//obsidian => 15% chance to change to crying obsidian
},
{
"processor":"blackstone_replace" // Replace most stone based block to their blackstone counterpart. iron_bars => chain is the only notable one.
},
{
"processor":"lava_submerged_block" //Lavalog non full block that can be lavalogged.
}
]
}
{
"name": resource_location //resource location of structure,
"fallback": resource_location //resource location of structure,
"elements":[
{
"weight":integer // weighted random,
"element":{
"location": resource_location //resource location of structure
"projection": literal // "rigid" or "terrain_matching",
"processors":processor, //processor resource location
//OR
"processors":{} //Or direct definition of processor ??
"feature": [], //feature resource location.
"element_type": element type // can be : empty_pool_element, single_pool_element, list_pool_element, feature_pool_element, legacy_single_pool_element
// see details about each of thoses :
}
},
{
"weight":integer,
"element":{
"projection": literal,
"element_type": "empty_pool_element"
}
},
{
"weight":integer,
"element":{
"location": resource_location ,
"projection": literal,
"processors":[],
"element_type": single_pool_element or legacy_single_pool_element // Those two will just paste the structure differently, the legacy one will ignore structure block and air when pasting?
}
},
{
"weight":integer,
"element":{
"projection": literal,
"elements":[], // same structure as the one from the root
"element_type": "list_pool_element"
}
},
{
"weight":integer,
"element":{
"projection": literal,
"feature": [],
"element_type": "feature_pool_element"
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment