Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated for 1.21.70 along with other improvements #337

Merged
merged 33 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d21dc0d
Update vscode-settings.json
Xterionix Feb 22, 2025
511c24b
Merge branch 'Blockception:main' into main
Xterionix Mar 2, 2025
3e07777
- Updated map color
Xterionix Mar 2, 2025
ba2f03e
- Added replaceable block component
Xterionix Mar 2, 2025
58e1c3a
- Effect durations can be set to infinite now
Xterionix Mar 2, 2025
5ee1229
- Added support for entity sound variants
Xterionix Mar 2, 2025
61108f2
- Fix description for renders_when_invisible entity component
Xterionix Mar 2, 2025
53c743d
- Added is_collidable component
Xterionix Mar 2, 2025
bd31f2d
- Updated entity_sensor
Xterionix Mar 2, 2025
1e70b50
- Added body_rotation_axis_aligned
Xterionix Mar 2, 2025
7a7e960
- Updated projectile > on_hit
Xterionix Mar 2, 2025
47acd7d
- Set min and max for collision_box
Xterionix Mar 2, 2025
c87fb33
- Added locator field to sounds in animation controllers and animations
Xterionix Mar 2, 2025
b9158f1
- Added new event response
Xterionix Mar 2, 2025
c3b9558
- Removed peak_factor from mountain_parameters component
Xterionix Mar 2, 2025
81c053f
- Added isotropic field to material_instances
Xterionix Mar 2, 2025
86bc5d7
- Added tint field to material_instances
Xterionix Mar 2, 2025
fcda852
- Added input_air_controlled entity component
Xterionix Mar 2, 2025
9a8cff9
- Added use_beta_features property to entity.json
Xterionix Mar 2, 2025
e2d8716
- Added missing match_tool property
Xterionix Mar 2, 2025
7f61fb3
- Added use_home_position_restriction to float_wander goal
Xterionix Mar 2, 2025
206cf35
- Added deferred client biome components
Xterionix Mar 2, 2025
3fb5556
- Added dry_foliage_color client biome component
Xterionix Mar 2, 2025
5f1e4da
- Added destruction_particles
Xterionix Mar 2, 2025
0cfd183
- Marked biome tinting as experimental
Xterionix Mar 2, 2025
a466a90
- Fix property_inheritance under breedable
Xterionix Mar 2, 2025
1590fc5
- Fix inconsistency with scatter feature
Xterionix Mar 2, 2025
17b729f
- Update rideable description
Xterionix Mar 2, 2025
62f7d23
- Allowed event.add/remove to be strings
Xterionix Mar 2, 2025
8c730e6
- Added missing property in move_around_target behavior
Xterionix Mar 2, 2025
14d2dc0
- Made features accept block references
Xterionix Mar 3, 2025
9263ad0
- Allowed repairable to use item descriptors
Xterionix Mar 3, 2025
b526d02
- Fix typo
Xterionix Mar 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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