Skip to content

Commit

Permalink
Updated for 1.21.70 along with other improvements (#337)
Browse files Browse the repository at this point in the history
* Update vscode-settings.json

* - Updated map color

* - Added replaceable block component

* - Effect durations can be set to infinite now

* - Added support for entity sound variants

* - Fix description for renders_when_invisible entity component

* - Added is_collidable component

* - Updated entity_sensor

* - Added body_rotation_axis_aligned

* - Updated projectile > on_hit

* - Set min and max for collision_box

* - Added locator field to sounds in animation controllers and animations

* - Added new event response

* - Removed peak_factor from mountain_parameters component

* - Added isotropic field to material_instances

* - Added tint field to material_instances

* - Added input_air_controlled entity component

* - Added use_beta_features property to entity.json

* - Added missing match_tool property

* - Added use_home_position_restriction to float_wander goal

* - Added deferred client biome components

* - Added dry_foliage_color client biome component

* - Added destruction_particles

* - Marked biome tinting as experimental

* - Fix property_inheritance under breedable

* - Fix inconsistency with scatter feature

* - Update rideable description

* - Allowed event.add/remove to be strings

* - Added missing property in move_around_target behavior

* - Made features accept block references

* - Allowed repairable to use item descriptors

* - Fix typo
  • Loading branch information
Xterionix authored Mar 3, 2025
1 parent 8de1960 commit c9449c7
Show file tree
Hide file tree
Showing 51 changed files with 589 additions and 139 deletions.
6 changes: 0 additions & 6 deletions source/behavior/biomes/components/mountain_parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@
"minProperties": 0,
"maxProperties": 3,
"properties": {
"peaks_factor": {
"type": "number",
"title": "Peaks factor",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"steep_material_adjustment": {
"type": "object",
"title": "Steep material adjustment",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$id": "blockception.minecraft.behavior.blocks.minecraft.destruction_particles",
"title": "Destruction Particles",
"description": "[Experimental] Sets the particles that will be used when block is destroyed. This component can be omitted.",
"type": "object",
"additionalProperties": false,
"required": ["texture"],
"properties": {
"texture": {
"title": "Texture",
"description": "The texture name used for the particle.",
"type": "string"
},
"tint_method": {
"title": "Tint Method",
"description": "Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.",
"type": "string",
"$ref": "../../../../general/vanilla/tint_methods.json"
}
}
}
78 changes: 52 additions & 26 deletions source/behavior/blocks/format/components/map_color.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,63 @@
"$id": "blockception.minecraft.behavior.blocks.minecraft.map_color",
"title": "Map Color",
"description": "Sets the color of the block when rendered to a map. The color is represented as a hex value in the format \"#RRGGBB\". May also be expressed as an array of [R, G, B] from 0 to 255. If this component is omitted, the block will not show up on the map.",
"oneOf": [
"definitions": {
"color": {
"oneOf": [
{
"type": "string",
"format": "colox-hex",
"default": "#FFFFFF"
},
{
"type": "array",
"items": [
{
"title": "Red",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
},
{
"title": "Green",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
},
{
"title": "Blue",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
}
]
}
]
}
},
"anyOf": [
{
"type": "string",
"format": "colox-hex",
"default": "#FFFFFF"
"$ref": "#/definitions/color"
},
{
"type": "array",
"items": [
{
"title": "Red",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
},
{
"title": "Green",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
"type": "object",
"additionalProperties": false,
"required": ["color"],
"properties": {
"color": {
"title": "Color",
"$ref": "#/definitions/color"
},
{
"title": "Blue",
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 255
"tint_method": {
"title": "Tint Method",
"description": "Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.",
"type": "string",
"$ref": "../../../../general/vanilla/tint_methods.json"
}
]
}
}
],
"examples": ["#FFFFFF", [255, 255, 255]]
Expand Down
11 changes: 11 additions & 0 deletions source/behavior/blocks/format/components/material_instances.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,17 @@
"title": "Texture",
"type": "string",
"description": "Texture name for the material."
},
"isotropic": {
"title": "Isotropic",
"description": "[Experimental] Controls rotating the face UVs randomly based on BlockPos",
"type": "boolean"
},
"tint_method": {
"title": "Tint Method",
"description": "[Experimental] Tint multiplied to the color. Tint method logic varies, but often refers to the \"rain\" and \"temperature\" of the biome the block is placed in to compute the tint.",
"type": "string",
"$ref": "../../../../general/vanilla/tint_methods.json"
}
}
}
Expand Down
8 changes: 8 additions & 0 deletions source/behavior/blocks/format/components/replaceable.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$id": "blockception.minecraft.behavior.blocks.minecraft.replaceable",
"title": "Replaceable",
"description": "A block with this component can be replaced when another block is placed in the same block position. Experimental toggles required: Upcoming Creator Features",
"type": "object",
"additionalProperties": false,
"properties": {}
}
2 changes: 2 additions & 0 deletions source/behavior/blocks/format/minecraft.block.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"minecraft:crafting_table": { "$ref": "./components/crafting_table.json" },
"minecraft:destructible_by_explosion": { "$ref": "./components/destructible_by_explosion.json" },
"minecraft:destructible_by_mining": { "$ref": "./components/destructible_by_mining.json" },
"minecraft:destruction_particles": { "$ref": "./components/destruction_particles.json" },
"minecraft:display_name": { "$ref": "./components/display_name.json" },
"minecraft:flammable": { "$ref": "./components/flammable.json" },
"minecraft:friction": { "$ref": "./components/friction.json" },
Expand All @@ -32,6 +33,7 @@
"minecraft:material_instances": { "$ref": "./components/material_instances.json" },
"minecraft:placement_filter": { "$ref": "./components/placement_filter.json" },
"minecraft:redstone_conductivity": { "$ref": "./components/redstone_conductivity.json" },
"minecraft:replaceable": { "$ref": "./components/replaceable.json" },
"minecraft:selection_box": { "$ref": "./components/selection_box.json" },
"minecraft:transformation": { "$ref": "./components/transformation.json" },
"minecraft:custom_components": { "$ref": "./components/custom_components.json" },
Expand Down
6 changes: 6 additions & 0 deletions source/behavior/entities/entities.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@
"required": ["format_version", "minecraft:entity"],
"additionalProperties": false,
"properties": {
"use_beta_features": {
"title": "Use Beta Features",
"description": "Allows an entity to use experimental features.",
"type": "boolean",
"default": false
},
"format_version": { "$ref": "../../general/format_version.json" },
"minecraft:entity": { "$ref": "./format/minecraft.entity.json" }
}
Expand Down
6 changes: 6 additions & 0 deletions source/behavior/entities/format/behaviors/float_wander.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@
"description": "If true, the mob will randomly pick a new point while moving to the previously selected one.",
"title": "Random Reselect"
},
"use_home_position_restriction": {
"title": "Use Home Position Restriction",
"description": "If true, the mob will respect home position restrictions when choosing new target positions. If false, it will choose target position without considering home restrictions.",
"type": "boolean",
"default": false
},
"float_duration": {
"$ref": "../types/range_number_type.json",
"default": [0.0, 0.0],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@
"description": "The range of distances from the target entity within which the goal should look for a position to move the owner entity to.",
"$ref": "../../../../general/vectors/number2.json"
},
"destination_pos_spread_degrees": {
"title": "Desitnation Pos Spread Degrees",
"description": "UNDOCUMENTED",
"type": "number",
"minimum": 0,
"maximum": 360
},
"height_difference_limit": {
"title": "Height Difference Limit",
"type": "number",
Expand Down
3 changes: 3 additions & 0 deletions source/behavior/entities/format/components.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"minecraft:barter": { "$ref": "./components/barter.json" },
"minecraft:block_climber": { "$ref": "./components/block_climber.json" },
"minecraft:block_sensor": { "$ref": "./components/block_sensor.json" },
"minecraft:body_rotation_axis_aligned": { "$ref": "./components/body_rotation_axis_aligned.json" },
"minecraft:body_rotation_blocked": { "$ref": "./components/body_rotation_blocked.json" },
"minecraft:boostable": { "$ref": "./components/boostable.json" },
"minecraft:boss": { "$ref": "./components/boss.json" },
Expand Down Expand Up @@ -83,6 +84,7 @@
"minecraft:horse.jump_strength": { "$ref": "./components/horse.jump_strength.json" },
"minecraft:hurt_on_condition": { "$ref": "./components/hurt_on_condition.json" },
"minecraft:hurt_when_wet": { "$ref": "./components/hurt_when_wet.json" },
"minecraft:input_air_controlled": { "$ref": "./components/input_air_controlled.json" },
"minecraft:input_ground_controlled": { "$ref": "./components/input_ground_controlled.json" },
"minecraft:inside_block_notifier": { "$ref": "./components/inside_block_notifier.json" },
"minecraft:insomnia": { "$ref": "./components/insomnia.json" },
Expand All @@ -92,6 +94,7 @@
"minecraft:is_baby": { "$ref": "./components/is_baby.json" },
"minecraft:is_charged": { "$ref": "./components/is_charged.json" },
"minecraft:is_chested": { "$ref": "./components/is_chested.json" },
"minecraft:is_collidable": { "$ref": "./components/is_collidable.json" },
"minecraft:is_dyeable": { "$ref": "./components/is_dyeable.json" },
"minecraft:is_hidden_when_invisible": { "$ref": "./components/is_hidden_when_invisible.json" },
"minecraft:is_ignited": { "$ref": "./components/is_ignited.json" },
Expand Down
16 changes: 12 additions & 4 deletions source/behavior/entities/format/components/attack.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"additionalProperties": false,
"title": "Attack",
"description": "Defines an entity's melee attack and any additional effects on it.",
"required": ["damage"],
"required": [ "damage" ],
"properties": {
"damage": {
"title": "Damage",
Expand All @@ -18,11 +18,19 @@
"title": "Effect Name"
},
"effect_duration": {
"type": "number",
"default": 1,
"anyOf": [
{
"type": "integer",
"default": 1,
"minimum": 0
},
{
"const": "infinite"
}
],
"description": "Duration in seconds of the status ailment applied to the damaged entity.",
"title": "Effect Duration"
}
},
"examples": [{ "damage": 1 }, { "damage": 1, "effect_name": "example", "effect_duration": 1 }]
"examples": [ { "damage": 1 }, { "damage": 1, "effect_name": "example", "effect_duration": 1 } ]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"$id": "blockception.minecraft.behavior.entities.minecraft.body_rotation_axis_aligned",
"type": "object",
"title": "Body Rotation Axis Aligned",
"description": "Causes the entity's body to automatically rotate to align with the nearest cardinal direction based on its current facing direction.\nCombining this with the \"minecraft:body_rotation_blocked\" component will cause the entity to align to the nearest cardinal direction and remain fixed in that orientation, regardless of future changes in its facing direction.",
"additionalProperties": false,
"properties": {},
"examples": [{}]
}
6 changes: 4 additions & 2 deletions source/behavior/entities/format/components/breedable.json
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,7 @@
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"additionalProperties": {
"mutation_chance": {
"title": "Mutation Chance",
"description": "The chance it should not inherit from either parent",
Expand All @@ -247,6 +246,9 @@
"type": "array",
"minItems": 1
}
},
"propertyNames": {
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,22 @@
"title": "Collision Box",
"additionalProperties": false,
"description": "Sets the width and height of the Entity's collision box.",
"required": [],
"required": [ ],
"properties": {
"height": {
"title": "Height",
"type": "number",
"default": 1.0,
"minimum": -100000000,
"maximum": 100000000,
"description": "Height of the collision box in blocks. A negative value will be assumed to be 0."
},
"width": {
"title": "Width",
"type": "number",
"default": 1.0,
"minimum": -100000000,
"maximum": 100000000,
"description": "Width of the collision box in blocks. A negative value will be assumed to be 0."
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,16 @@
"title": "Apply To Self"
},
"regeneration_duration": {
"type": "integer",
"default": 5,
"anyOf": [
{
"type": "integer",
"default": 5,
"minimum": 0
},
{
"const": "infinite"
}
],
"description": "The duration in seconds of Regeneration I added to the mob.",
"title": "Regeneration Duration"
}
Expand Down
12 changes: 12 additions & 0 deletions source/behavior/entities/format/components/entity_sensor.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@
"type": "number",
"default": -1
},
"y_offset": {
"title": "Y Offset",
"description": "Vertical offset applied to the entity's position when computing the distance from other entities.",
"type": "number",
"default": 0
},
"event_filters": {
"$ref": "../../filters/filters.json"
},
Expand Down Expand Up @@ -105,6 +111,12 @@
"default": true,
"description": "If true the sensor range is additive on top of the entity's size.",
"title": "Relative Range"
},
"find_players_only": {
"type": "boolean",
"default": true,
"description": "Limits the search to Players only for all subsensors.",
"title": "Find Players Only"
}
}
}
Expand Down
14 changes: 11 additions & 3 deletions source/behavior/entities/format/components/healable.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,17 @@
"type": "string"
},
"duration": {
"type": "integer",
"default": 0,
"minimum": 0,
"title": "Duration",
"anyOf": [
{
"type": "integer",
"default": 1,
"minimum": 0
},
{
"const": "infinite"
}
],
"description": "The duration of the effect."
},
"amplifier": {
Expand Down
Loading

0 comments on commit c9449c7

Please sign in to comment.