* - Updated old biome format

* - Added biome tags component

* - Added dismount mode, and rider enter/exit event

* - Made surface_color not required

* - Update float wander goal

* - Update follow mob behavior

* - Added music def field

* - Added camera fields to rideable

* - Add array snippet

* - Updated leashable component with presets

* - Made texture field optional in destruction particles

* - Marked isotropic as stable

* - Moved can_be_stolen back

* - Updated tempt goal

* - Added float tempt behavior

* - Made heightmap project optional

* - Added distance based render methods

* - Marked tint method as stable

* - Added droop item y offset

* - Added has_equipment_tag filter

* - Remove unnused test.json

* - Allow for custom components

* - Add new block culling support

* - Removed enum for biome tags in support of custom biomes

* - Added replace_biomes component

* - Fix errors
This commit is contained in:
Xterionix
2025-04-29 12:02:06 +05:00
committed by GitHub
parent 9a916b580b
commit ae9e79c04d
50 changed files with 799 additions and 568 deletions

View File

@@ -0,0 +1,41 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.capped_surface",
"title": "Capped Surface",
"description": "Generates surface on blocks with non-solid blocks above or below.",
"type": "object",
"additionalProperties": false,
"required": ["floor_materials", "ceiling_materials", "sea_material", "foundation_material"],
"properties": {
"ceiling_materials": {
"title": "Ceiling Materials",
"description": "Materials used for the surface ceiling.",
"minItems": 1,
"items": {
"$ref": "../../../../general/block/reference.json"
}
},
"floor_materials": {
"title": "Floor Materials",
"description": "Materials used for the surface floor.",
"minItems": 1,
"items": {
"$ref": "../../../../general/block/reference.json"
}
},
"sea_material": {
"title": "Sea Material",
"description": "Material used to replace air blocks below sea level.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Material used to repalce solid blocks that are not surface blocks.",
"$ref": "../../../../general/block/reference.json"
},
"beach_material": {
"title": "Beach Material",
"description": "Material used to decorate surface near sea level.",
"$ref": "../../../../general/block/reference.json"
}
}
}

View File

@@ -0,0 +1,52 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.climate",
"title": "Climate",
"description": "Describes temperature, humidity, precipitation, etc. Biomes without this component will have default values.",
"type": "object",
"additionalProperties": false,
"properties": {
"ash": {
"title": "Ash",
"description": "Density of ash precipitation visuals.",
"type": "number"
},
"blue_spores": {
"title": "Blue Spores",
"description": "Density of blue spore precipitation visuals.",
"type": "number"
},
"downfall": {
"title": "Downfall",
"description": "Amount that precipitation affects colors and block changes.",
"type": "number"
},
"red_spores": {
"title": "Red Spores",
"description": "Density of blue spore precipitation visuals.",
"type": "number"
},
"snow_accumulation": {
"title": "Snow Accumulation",
"description": "Minimum and maximum snow level, each multiple of 0.125 is another snow layer.",
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
},
"temperature": {
"title": "Temperature",
"description": "Temperature affects a variety of visual and behavioral things, including snow and ice placement, sponge drying, and sky color.",
"type": "number"
},
"white_ash": {
"title": "White Ash",
"description": "Density of white ash precipitation visuals.",
"type": "number"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.creature_spawn_probability",
"title": "Creature Spawn Probability",
"description": "Probability that creatures will spawn within the biome when a chunk is generated.",
"type": "object",
"additionalProperties": false,
"properties": {
"probability": {
"type": "number",
"title": "Probability",
"description": "Probabiltity between [0.0, 0.75] of creatures spawning within the biome on chunk generation.",
"minimum": 0.0,
"maximum": 0.75
}
}
}

View File

@@ -0,0 +1,40 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.frozen_ocean_surface",
"title": "Frozen Ocean Surface",
"description": "Similar to overworld_surface. Adds icebergs.",
"type": "object",
"additionalProperties": false,
"required": ["top_material", "mid_material", "sea_floor_material", "foundation_material", "sea_material", "sea_floor_depth"],
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
}

View File

@@ -0,0 +1,71 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.mesa_surface",
"title": "Mesa Surface",
"description": "Similar to overworld_surface. Adds colored strata and optional pillars.",
"type": "object",
"additionalProperties": false,
"required": [
"top_material",
"mid_material",
"bryce_pillars",
"clay_material",
"foundation_material",
"hard_clay_material",
"has_forest",
"sea_floor_depth",
"sea_floor_material",
"sea_material"
],
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
},
"clay_material": {
"title": "Clay Material",
"description": "Base clay block to use.",
"$ref": "../../../../general/block/reference.json"
},
"hard_clay_material": {
"title": "Hard Clay Material",
"description": "Hardened clay block to use.",
"$ref": "../../../../general/block/reference.json"
},
"bryce_pillars": {
"title": "Bryce Pillars",
"description": "Whether the mesa generates with pillars.",
"type": "boolean"
},
"has_forest": {
"title": "Has Forest",
"description": "Places coarse dirt and grass at high altitudes.",
"type": "boolean"
}
}
}

View File

@@ -0,0 +1,55 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.mountain_parameters",
"title": "Mountain Parameters",
"description": "Noise parameters used to drive mountain terrain generation in Overworld.",
"type": "object",
"additionalProperties": false,
"properties": {
"steep_material_adjustment": {
"type": "object",
"title": "Steep Material Adjustment",
"description": "Defines surface material for steep slopes.",
"additionalProperties": false,
"properties": {
"material": {
"title": "Material",
"description": "Block type use as steep material.",
"$ref": "../../../../general/block/reference.json"
},
"north_slopes": {
"type": "boolean",
"title": "North Slopes",
"description": "Enable for north-facing slopes."
},
"south_slopes": {
"type": "boolean",
"title": "South Slopes",
"description": "Enable for south-facing slopes."
},
"west_slopes": {
"type": "boolean",
"title": "West Slopes",
"description": "Enable for west-facing slopes."
},
"east_slopes": {
"type": "boolean",
"title": "East Slopes",
"description": "Enable for east-facing slopes."
}
}
},
"top_slide": {
"title": "Top Slide",
"description": "Controls the density tapering that happens at the top of the world to prevent terrain from reaching too high.",
"type": "object",
"additionalProperties": false,
"required": ["enabled"],
"properties": {
"enabled": {
"title": "Enabled",
"description": "If false, top slide will be disabled. If true, other parameters will be taken into account"
}
}
}
}
}

View File

@@ -0,0 +1,34 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.multinoise_generation_rules",
"title": "Nether Generation Rules",
"description": "Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.",
"type": "object",
"additionalProperties": false,
"properties": {
"target_temperature": {
"title": "Target Temperature",
"description": "Temperature with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_humidity": {
"title": "Target Humidity",
"description": "Humidity with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_altitude": {
"title": "Target Altitude",
"description": "Altitude with which this biome should selected, relative to other biomes.",
"type": "number"
},
"target_weirdness": {
"title": "Target Weirdness",
"description": "Weirdness with which this biome should selected, relative to other biomes.",
"type": "number"
},
"weight": {
"title": "Weight",
"description": "Weight with which this biome should selected, relative to other biomes.",
"type": "number"
}
}
}

View File

@@ -0,0 +1,93 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.overworld_generation_rules",
"title": "Overworld Generation Rules",
"description": "Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.",
"type": "object",
"additionalProperties": false,
"definitions": {
"transformation": {
"oneOf": [
{
"type": "string",
"title": "Biome",
"description": "String name of a Biome."
},
{
"type": "array",
"description": "Array of any size. If an array, each entry can be a Biome name string, or an array of size 2, where the first entry is a Biome name and the second entry is a positive integer representing how that Biome is weighted against other entries. If no weight is provided, a weight of 1 is used..",
"title": "Block Reference",
"minItems": 1,
"items": {
"oneOf": [
{
"type": "string",
"title": "Biome",
"description": "String name of a Biome."
},
{
"type": "array",
"items": [
{
"type": "string",
"title": "Biome",
"description": "String name of a Biome."
},
{
"title": "Weight",
"description": "A positive integer representing how that Biome is weighted against other entries..",
"type": "integer"
}
]
}
]
}
}
]
}
},
"properties": {
"hills_transformation": {
"title": "Hills Transformation",
"description": "What biome to switch to when converting to a hilly biome.",
"$ref": "#/definitions/transformation"
},
"mutate_transformation": {
"title": "Mutate Transformation",
"description": "What biome to switch to when converting to a mutated biome.",
"$ref": "#/definitions/transformation"
},
"river_transformation": {
"title": "River Transformation",
"description": "What biome to switch to when converting to a river biome (if not the Vanilla 'river' biome).",
"$ref": "#/definitions/transformation"
},
"shore_transformation": {
"title": "Shore Transformation",
"description": "What biome to switch to when adjacent to an ocean biome.",
"$ref": "#/definitions/transformation"
},
"generate_for_climates": {
"title": "Generate For Climates",
"description": "Controls the world generation climate categories that this biome can spawn for. A single biome can be associated with multiple categories with different weightings.",
"type": "array",
"items": {
"description": "An array of any size containing arrays of exactly two elements where the first entry is the climate category and the second is a positive integer.",
"type": "array",
"items": [
{
"title": "Climate Category",
"description": "Name of a climate category.",
"type": "string",
"enum": ["medium", "warm", "lukewarm", "cold", "frozen"]
},
{
"title": "Weight",
"description": "Weight with which this biome should be selected, relative to other biomes in the same category.",
"type": "integer",
"minimum": 1
}
]
}
}
}
}

View File

@@ -0,0 +1,48 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.overworld_height",
"title": "Overworld Height",
"description": "Noise parameters used to drive terrain height in the Overworld.",
"type": "object",
"additionalProperties": false,
"properties": {
"noise_params": {
"title": "Noise Params",
"description": "Array of 2 Floats.",
"type": "array",
"items": [
{
"title": "Depth",
"type": "number",
"description": "More negative means deeper underwater, while more positive means higher."
},
{
"title": "Scale",
"type": "number",
"description": "Affects how much noise changes as it moves from the surface."
}
]
},
"noise_type": {
"title": "Noise Type",
"description": "Specifies a preset based on a built-in setting rather than manually using noise_params.",
"type": "string",
"enum": [
"default",
"default_mutated",
"river",
"ocean",
"deep_ocean",
"lowlands",
"taiga",
"mountains",
"highlands",
"extreme",
"less_extreme",
"beach",
"stone_beach",
"mushroom",
"swamp"
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.replace_biomes",
"title": "Replace Biomes",
"description": "Replaces a specified portion of one or more Minecraft biomes.",
"type": "object",
"additionalProperties": false,
"properties": {
"replacements": {
"description": "List of biome replacement configurations. Retroactively adding a new replacement to the front of this list will cause the world generation to change. Please add any new replacements to the end of the list.",
"type": "array",
"items": {
"title": "Biome Replacement",
"description": "Represents the replacement information used to determine the placement of the overriding biome.",
"type": "object",
"properties": {
"dimension": {
"description": "Dimension in which this replacement can happen.",
"type": "string",
"const": "minecraft:overworld"
},
"amount": {
"description": "Noise value used to determine whether or not the replacement is attempted, similar to a percentage. Must be in the range (0.0, 1.0].",
"type": "number",
"exclusiveMinimum": 0.0,
"maximum": 1.0
},
"targets": {
"description": "Biomes that are going to be replaced by the overriding biome.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"noise_frequency_scale": {
"description": "Scaling value used to alter the frequency of replacement attempts. A lower frequency will mean a bigger contiguous biome area that occurs less often. A higher frequency will mean smaller contiguous biome areas that occur more often. Must be in the range (0.0, 100.0].",
"type": "number",
"exclusiveMinimum": 0.0,
"maximum": 100.0
}
},
"required": ["dimension", "targets", "amount", "noise_frequency_scale"]
}
}
},
"required": ["replacements"]
}

View File

@@ -0,0 +1,91 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.surface_material_adjustments",
"title": "Surface Material Adjustments",
"description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function).",
"type": "object",
"additionalProperties": false,
"properties": {
"adjustments": {
"title": "Adjustments",
"description": "All adjustments that match the column's noise values will be applied in the order listed.",
"items": {
"title": "Adjustment",
"description": "The specific blocks used for this surface adjustment.",
"type": "object",
"additionalProperties": false,
"properties": {
"height_range": {
"title": "Height Range",
"description": "Defines a range of noise values [min, max] for which this adjustment should be applied.",
"type": "array",
"items": [
{
"$ref": "../../../../molang/number.json",
"title": "Min"
},
{
"$ref": "../../../../molang/number.json",
"title": "Max"
}
]
},
"materials": {
"title": "Materials",
"description": "The specific blocks used for this surface adjustment.",
"type": "object",
"additionalProperties": false,
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome when this adjustment is active.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome when this adjustment is active.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome when this adjustment is active.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Top Materials",
"description": "Controls the block type used deep underground in this biome when this adjustment is active.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Top Materials",
"description": "Controls the block type used in the bodies of water in this biome when this adjustment is active.",
"$ref": "../../../../general/block/reference.json"
}
}
},
"noise_range": {
"title": "Noise Range",
"description": "Defines a range of noise values [min, max] for which this adjustment should be applied.",
"type": "array",
"items": [
{
"minimum": -1,
"maximum": 1,
"title": "Min"
},
{
"minimum": -1,
"maximum": 1,
"title": "Max"
}
]
},
"noise_frequency_scale": {
"title": "Noise Frequency Scale",
"description": "The scale to multiply by the position when accessing the noise value for the material adjustments.",
"type": "number"
}
}
}
}
}
}

View File

@@ -0,0 +1,40 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.surface_parameters",
"title": "Surface Parameters",
"description": "Control the blocks used for the default Minecraft Overworld terrain generation.",
"type": "object",
"required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
"additionalProperties": false,
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
}

View File

@@ -0,0 +1,40 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.swamp_surface",
"title": "Swamp Surface",
"description": "Similar to overworld_surface. Adds swamp surface details.",
"type": "object",
"required": ["foundation_material", "mid_material", "sea_floor_depth", "sea_floor_material", "sea_material", "top_material"],
"additionalProperties": false,
"properties": {
"top_material": {
"title": "Top Material",
"description": "Controls the block type used for the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"mid_material": {
"title": "Mid Material",
"description": "Controls the block type used in a layer below the surface of this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_material": {
"title": "Sea Floor Material",
"description": "Controls the block type used as a floor for bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"foundation_material": {
"title": "Foundation Material",
"description": "Controls the block type used deep underground in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_material": {
"title": "Sea Material",
"description": "Controls the block type used for the bodies of water in this biome.",
"$ref": "../../../../general/block/reference.json"
},
"sea_floor_depth": {
"title": "Sea Floor Depth",
"description": "Controls how deep below the world water level the floor should occur.",
"type": "integer"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.tags",
"title": "Tags",
"description": "Attach arbitrary string tags to this biome.",
"type": "object",
"additionalProperties": false,
"required": ["tags"],
"properties": {
"tags": {
"title": "Tags",
"description": "Array of string tags used by other systems such as entity spawning",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string"
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"$id": "blockception.minecraft.behavior.biomes.minecraft.the_end_surface",
"title": "End Surface",
"description": "Use default Minecraft End terrain generation.",
"type": "object",
"additionalProperties": false,
"properties": {}
}