* - Fix typo "torse" -> "torso"

* - Added "main_hand" as an equipment location

* - Added support for "beta" version of script modules

* - Update point lights to local light

* - Added precipitation_interactions

* - Added control flags field to more goals

* - Update fire_resistant to not accept direct values

* - Added swing_duration component

* - Added emissive block rendering

* - Added emit_vibrations field to use_modifiers

* - Added underwater ambient sounds
- Added chance field to ambient sound addition

* - Added alpha_masked_tint

* - Added apply_knockback_to_blocking_targets field to projectile
This commit is contained in:
Xterionix
2025-10-15 12:51:49 -05:00
committed by GitHub
parent cbd0262612
commit 6d9e384781
19 changed files with 168 additions and 57 deletions

View File

@@ -25,6 +25,12 @@
"type": "object",
"additionalProperties": false,
"properties": {
"alpha_masked_tint": {
"title": "Alpha Masked Tint",
"description": "Should the tint be multiplied by the alpha channel of texture (similar to grass_block's sides)?",
"type": "boolean",
"default": false
},
"ambient_occlusion": {
"title": "Ambient Occlusion",
"description": "Should this material have ambient occlusion applied when lighting? If true, shadows will be created around and underneath the block.",
@@ -39,6 +45,12 @@
}
]
},
"emissive": {
"title": "Emissive",
"description": "[Experimental] Should this material be rendered as emissive",
"type": "boolean",
"default": false
},
"face_dimming": {
"title": "Face Dimming",
"type": "boolean",

View File

@@ -0,0 +1,16 @@
{
"$id": "blockception.minecraft.behavior.blocks.minecraft.precipitation_interactions",
"title": "Precipitation Interactions",
"description": "Component that determines how the block will interact with rain and snow",
"type": "object",
"additionalProperties": false,
"required": [ "precipitation_behavior" ],
"properties": {
"precipitation_behavior": {
"title": "Precipitation Behavior",
"description": "What behavior should the block have.",
"type": "string",
"enum": [ "obstruct_rain", "obstruct_rain_accumulate_snow", "none" ]
}
}
}

View File

@@ -34,6 +34,7 @@
"minecraft:material_instances": { "$ref": "./components/material_instances.json" },
"minecraft:movable": { "$ref": "./components/movable.json" },
"minecraft:placement_filter": { "$ref": "./components/placement_filter.json" },
"minecraft:precipitation_interactions": { "$ref": "./components/precipitation_interactions.json" },
"minecraft:random_offset": { "$ref": "./components/random_offset.json" },
"minecraft:redstone_conductivity": { "$ref": "./components/redstone_conductivity.json" },
"minecraft:redstone_producer": { "$ref": "./components/redstone_producer.json" },

View File

@@ -4,5 +4,5 @@
"type": "string",
"description": "The equipment location to test.",
"default": "self",
"enum": ["any", "armor", "feet", "hand", "head", "inventory", "leg", "torse"]
"enum": ["any", "armor", "feet", "main_hand", "hand", "head", "inventory", "leg", "torso"]
}

View File

@@ -12,6 +12,9 @@
"default": 1,
"description": "Should start tick interval."
},
"control_flags": {
"$ref": "./types/control_flags.json"
},
"search_range": {
"type": "integer",
"title": "Search Range",

View File

@@ -9,6 +9,9 @@
"priority": {
"$ref": "./types/priority.json"
},
"control_flags": {
"$ref": "./types/control_flags.json"
},
"avoid_mob_sound": {
"title": "Avoid Mob Sound",
"default": "",

View File

@@ -8,6 +8,9 @@
"priority": {
"$ref": "./types/priority.json"
},
"control_flags": {
"$ref": "./types/control_flags.json"
},
"allow_dig_when_named": {
"title": "Allow Dig When Named",
"type": "boolean",

View File

@@ -6,6 +6,9 @@
"additionalProperties": false,
"properties": {
"priority": { "$ref": "./types/priority.json" },
"control_flags": {
"$ref": "./types/control_flags.json"
},
"cooldown_seconds": {
"title": "Cooldown Seconds",
"type": "number",

View File

@@ -297,6 +297,12 @@
"description": "Defines the damage that an entity may receive on being hit by this projectile. See the table below for all impact_damage parameters.",
"additionalProperties": false,
"properties": {
"apply_knockback_to_blocking_targets": {
"title": "Apply Knockback To Blocking Targets",
"description": "UNDOCUMENTED",
"type": "boolean",
"default": false
},
"catch_fire": {
"title": "Catch Fire",
"description": "Determines if the struck object is set on fire.",

View File

@@ -2,18 +2,11 @@
"$id": "blockception.minecraft.behavior.items.minecraft:fire_resistant",
"title": "Fire Resistant",
"description": "Determines whether an item is immune to burning when dropped in fire or lava",
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": "boolean"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": "boolean"
}
}
}
]
}
}

View File

@@ -0,0 +1,15 @@
{
"$id": "blockception.minecraft.behavior.items.minecraft:swing_duration",
"title": "Swing Duration",
"description": "Duration, in seconds, of the item's swing animation played when mining or attacking. Affects visuals only and does not impact attack frequency or other gameplay mechanics.",
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"description": "Duration, in seconds, of the item's swing animation played when mining or attacking. Affects visuals only and does not impact attack frequency or other gameplay mechanics.",
"minimum": 0,
"type": "number",
"default": 0.3
}
}
}

View File

@@ -17,6 +17,12 @@
"description": "How long the item takes to use in seconds.",
"type": "number",
"minimum": 0
},
"emit_vibrations": {
"title": "Emit Vibrations",
"description": "Whether vibrations are emitted when the item starts or stops being used.",
"type": "boolean",
"default": true
}
}
}

View File

@@ -90,6 +90,7 @@
"minecraft:storage_item": { "$ref": "./components/storage_item.json" },
"minecraft:storage_weight_limit": { "$ref": "./components/storage_weight_limit.json" },
"minecraft:storage_weight_modifier": { "$ref": "./components/storage_weight_modifier.json" },
"minecraft:swing_duration": { "$ref": "./components/swing_duration.json" },
"minecraft:tags": { "$ref": "./components/tags.json" },
"minecraft:throwable": { "$ref": "./components/throwable.json" },
"minecraft:use_animation": { "$ref": "./components/use_animation.json" },

View File

@@ -96,9 +96,14 @@
"version": {
"title": "Version",
"description": "This is the specific version of the module that your pack depends on.",
"$ref": "../semver.json",
"default": "1.9.0",
"examples": ["1.10.0-beta", "1.10.0", "1.9.0", "1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0", "1.3.0", "1.2.0", "1.2.0-beta", "1.1.0", "1.0.0"]
"oneOf": [
{
"$ref": "../semver.json",
"default": "1.9.0",
"examples": ["2.4.0-beta", "2.3.0-beta", "2.3.0", "2.2.0", "2.1.0", "2.0.0", "1.19.0", "1.18.0", "1.17.0", "1.16.0", "1.15.0", "1.14.0", "1.13.0", "1.12.0", "1.11.0", "1.10.0", "1.9.0", "1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0", "1.3.0", "1.2.0", "1.1.0", "1.0.0"]
},
{"const": "beta"}
]
}
}
}

View File

@@ -96,9 +96,14 @@
"version": {
"title": "Version",
"description": "This is the specific version of the module that your pack depends on.",
"$ref": "../semver.json",
"default": "1.9.0",
"examples": [ "1.10.0-beta", "1.10.0", "1.9.0", "1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0", "1.3.0", "1.2.0", "1.2.0-beta", "1.1.0", "1.0.0" ]
"oneOf": [
{
"$ref": "../semver.json",
"default": "1.9.0",
"examples": ["2.4.0-beta", "2.3.0-beta", "2.3.0", "2.2.0", "2.1.0", "2.0.0", "1.19.0", "1.18.0", "1.17.0", "1.16.0", "1.15.0", "1.14.0", "1.13.0", "1.12.0", "1.11.0", "1.10.0", "1.9.0", "1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0", "1.3.0", "1.2.0", "1.1.0", "1.0.0"]
},
{"const": "beta"}
]
}
}
}

View File

@@ -4,11 +4,31 @@
"description": "Sets the ambient sounds for the biome. These sounds must be in the 'individual_named_sounds' in a 'sounds.json' file.",
"type": "object",
"additionalProperties": false,
"definitions": {
"sound_addition": {
"type": "object",
"additionalProperties": false,
"properties": {
"asset": {
"title": "Asset",
"description": "Name of the sound asset to play",
"type": "string"
},
"chance": {
"title": "Chance",
"description": "Probability of the sound playing each interval, between 0.0 and 1.0",
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"properties": {
"addition": {
"title": "Addition",
"description": "Named sound that occasionally plays at the listener position.",
"type": "string"
"oneOf": [ { "type": "string" }, { "$ref": "#/definitions/sound_addition" } ] //TODO: Check if this is dependent on format version and flag through diagnoser accordingly
},
"loop": {
"title": "Loop",
@@ -20,6 +40,22 @@
"description": "Named sound that rarely plays at a nearby air block position when the light level is low.",
"type": "string",
"default": "ambient.cave"
},
"underwater_addition": {
"title": "Underwater Addition",
"description": "Named sound that occasionally plays at the listener position when underwater.",
"$ref": "#/definitions/sound_addition"
},
"underwater_loop": {
"title": "Underwater Loop",
"description": "Named sound that loops while the listener position is inside the biome and underwater.",
"type": "string"
},
"underwater_mood": {
"title": "Underwater Mood",
"description": "Named sound that rarely plays at a nearby water block position when the light level is low.",
"type": "string",
"default": "ambient.underwater.loop"
}
}
}

View File

@@ -0,0 +1,34 @@
{
"$id": "blockception.minecraft.behavior.local_lighting.local_lighting",
"type": "object",
"additionalProperties": false,
"properties": {
"format_version": { "$ref": "../../general/format_version.json" },
"minecraft:local_light_settings": {
"title": "Local Light Settings",
"description": "UNDOCUMENTED",
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[0-9a-zA-Z:_\\.\\-]+$": {
"title": "Block",
"description": "Namespace-qualified block name",
"type": "object",
"additionalProperties": false,
"required": ["light_type"],
"properties": {
"light_type": {
"title": "Light Type",
"description": "`static_light` is currently unused",
"type": "string",
"enum": ["static_light", "point_light"]
},
"light_color": {
"$ref": "../lighting/format/color.json"
}
}
}
}
}
}
}

View File

@@ -1,31 +0,0 @@
{
"$id": "blockception.minecraft.behavior.point_lights.global",
"type": "object",
"additionalProperties": false,
"properties": {
"format_version": { "$ref": "../../general/format_version.json" },
"minecraft:point_light_settings": {
"title": "Point Light Settings",
"description": "UNDOCUMENTED",
"type": "object",
"additionalProperties": false,
"required": [ "colors" ],
"properties": {
"colors": {
"title": "Colors",
"description": " List of key-value pairs where the key is a namespace-qualified block name and the value is a color",
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[0-9a-zA-Z:_\\.\\-]+$": {
"$ref": "../lighting/format/color.json"
},
"tile.[\\w.]+.name": {
"$ref": "../lighting/format/color.json"
}
}
}
}
}
}
}

View File

@@ -652,13 +652,13 @@
},
{
"fileMatch": [
"resource_packs/*/point_lights/global.{json,jsonc,json5}",
"*resource*pack*/point_lights/global.{json,jsonc,json5}",
"*Resource*Pack*/point_lights/global.{json,jsonc,json5}",
"*RP*/point_lights/global.{json,jsonc,json5}",
"*rp*/point_lights/global.{json,jsonc,json5}"
"resource_packs/*/local_lighting/local_lighting.{json,jsonc,json5}",
"*resource*pack*/local_lighting/local_lighting.{json,jsonc,json5}",
"*Resource*Pack*/local_lighting/local_lighting.{json,jsonc,json5}",
"*RP*/local_lighting/local_lighting.{json,jsonc,json5}",
"*rp*/local_lighting/local_lighting.{json,jsonc,json5}"
],
"url": "https://raw.githubusercontent.com/Blockception/Minecraft-bedrock-json-schemas/main/resource/point_lights/point_lights.json"
"url": "https://raw.githubusercontent.com/Blockception/Minecraft-bedrock-json-schemas/main/resource/local_lighting/local_lighting.json"
},
{
"fileMatch": [