From 822ed538f9edda1abb8830e021032033a1a14b6b Mon Sep 17 00:00:00 2001 From: Xterionix <72647213+Xterionix@users.noreply.github.com> Date: Sat, 29 Jun 2024 00:06:53 +0500 Subject: [PATCH] Some more misc fixes (#295) * - Add mob effects enum * - Add biome and biome tags to enum * - Fix feature rules only showing with 1.13.0 format version * - Replace 1.20.41 -> 1.20.80 - Make certain format versions restricted to 1.10.0 * - Remove example stick (having this here was annoying) * - Fix * - Remove empty sounds example * - Misc fixes for entity components --- .../animation_controller.json | 4 +- source/behavior/animations/animations.json | 4 +- source/behavior/biomes/biomes.json | 2 +- source/behavior/blocks/blocks.json | 2 +- source/behavior/cameras/presets/cameras.json | 4 +- source/behavior/dialogue/dialogue.json | 4 +- source/behavior/entities/entities.json | 4 +- .../filters/filters/has_biome_tag.json | 23 +-- .../filters/filters/has_mob_effect.json | 2 +- .../entities/filters/filters/is_biome.json | 32 +--- .../entities/format/behaviors/celebrate.json | 1 - .../format/behaviors/drop_item_for.json | 3 +- .../entities/format/behaviors/eat_mob.json | 2 - .../entities/format/behaviors/lay_egg.json | 10 +- .../behaviors/random_search_and_dig.json | 3 +- .../entities/format/behaviors/sonic_boom.json | 2 +- .../format/behaviors/trade_interest.json | 2 +- .../components/ambient_sound_interval.json | 2 +- .../format/components/area_attack.json | 4 +- .../entities/format/components/attack.json | 2 +- .../format/components/break_blocks.json | 2 +- .../components/economy_trade_table.json | 1 - .../entities/format/components/healable.json | 10 +- .../entities/format/components/interact.json | 3 - .../format/components/item_controllable.json | 2 +- .../format/components/mob_effect.json | 12 +- .../components/mob_effect_immunity.json | 11 +- .../entities/format/components/nameable.json | 1 - .../format/components/projectile.json | 15 +- .../entities/format/components/shooter.json | 2 - .../format/components/spawn_entity.json | 1 - .../format/components/spell_effects.json | 4 +- .../feature_rules/1.13.0/feature_rules.json | 168 ------------------ .../behavior/feature_rules/feature_rules.json | 15 +- .../format/minecraft.feature_rules.json | 149 ++++++++++++++++ source/behavior/items/items.json | 2 +- .../recipes/types/base types/unlock.json | 1 - source/behavior/volumes/volumes.json | 2 +- source/general/sound_event.json | 1 - source/general/vanilla/biome.json | 92 ++++++++++ source/general/vanilla/biome_tag.json | 44 +++++ source/general/vanilla/effect.json | 44 +++++ .../animation_controller.json | 4 +- .../resource/animations/actor_animation.json | 4 +- source/resource/attachables/attachables.json | 2 +- source/resource/entity/entity.json | 2 +- source/resource/items/items.json | 2 +- .../resource/models/entity/model_entity.json | 2 +- source/resource/particles/particles.json | 2 +- .../render_controllers.json | 4 +- 50 files changed, 412 insertions(+), 304 deletions(-) delete mode 100644 source/behavior/feature_rules/1.13.0/feature_rules.json create mode 100644 source/behavior/feature_rules/format/minecraft.feature_rules.json create mode 100644 source/general/vanilla/biome.json create mode 100644 source/general/vanilla/biome_tag.json create mode 100644 source/general/vanilla/effect.json diff --git a/source/behavior/animation_controllers/animation_controller.json b/source/behavior/animation_controllers/animation_controller.json index 2bedcc86c..b616a4c85 100644 --- a/source/behavior/animation_controllers/animation_controller.json +++ b/source/behavior/animation_controllers/animation_controller.json @@ -18,7 +18,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.10.0", "animation_controllers": { "controller.animation.example": { "initial_state": "default", @@ -92,7 +92,7 @@ "required": ["format_version", "animation_controllers"], "additionalProperties": false, "properties": { - "format_version": { "$ref": "../../general/format_version.json" }, + "format_version": { "type": "string", "const": "1.10.0" }, "animation_controllers": { "type": "object", "title": "Animation Controllers", diff --git a/source/behavior/animations/animations.json b/source/behavior/animations/animations.json index 63f2b8086..9b47c9e97 100644 --- a/source/behavior/animations/animations.json +++ b/source/behavior/animations/animations.json @@ -12,7 +12,7 @@ } } ], - "examples": [{ "format_version": "1.20.41", "animations": { "animation.example": {} } }], + "examples": [{ "format_version": "1.10.0", "animations": { "animation.example": {} } }], "definitions": { "animationspec": { "anyOf": [ @@ -65,7 +65,7 @@ "required": ["format_version", "animations"], "additionalProperties": false, "properties": { - "format_version": { "$ref": "../../general/format_version.json" }, + "format_version": { "type": "string", "const": "1.10.0" }, "animations": { "title": "Animations Schema", "description": "The animation specification.", diff --git a/source/behavior/biomes/biomes.json b/source/behavior/biomes/biomes.json index e543b1077..40fbc8090 100644 --- a/source/behavior/biomes/biomes.json +++ b/source/behavior/biomes/biomes.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema", "$id": "minecraft.behavior.biomes", "type": "object", - "examples": [{ "plains": { "format_version": "1.20.41" } }], + "examples": [{ "plains": { "format_version": "1.20.80" } }], "additionalProperties": { "type": "object", "title": "Biomes", diff --git a/source/behavior/blocks/blocks.json b/source/behavior/blocks/blocks.json index 472c9453f..d8d86deaf 100644 --- a/source/behavior/blocks/blocks.json +++ b/source/behavior/blocks/blocks.json @@ -15,7 +15,7 @@ { "label": "New block", "body": { - "format_version": "${1:1.20.41}", + "format_version": "${1:1.20.80}", "minecraft:block": { "description": { "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}" diff --git a/source/behavior/cameras/presets/cameras.json b/source/behavior/cameras/presets/cameras.json index 54b9710bd..c1c29d604 100644 --- a/source/behavior/cameras/presets/cameras.json +++ b/source/behavior/cameras/presets/cameras.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.behavior.cameras.preset", "defaultSnippets": [ { - "format_version": "${1:1.20.41}", + "format_version": "${1:1.20.80}", "minecraft:npc_dialogue": { "identifier": "$2", "inherit_from": "$3", @@ -17,7 +17,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:npc_dialogue": { "identifier": "example:custom", "inherit_from": "minecraft:free", diff --git a/source/behavior/dialogue/dialogue.json b/source/behavior/dialogue/dialogue.json index c136fbcfc..85a3f33d0 100644 --- a/source/behavior/dialogue/dialogue.json +++ b/source/behavior/dialogue/dialogue.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.behavior.dialogue", "defaultSnippets": [ { - "format_version": "${1:1.20.41}", + "format_version": "${1:1.20.80}", "minecraft:npc_dialogue": { "scenes": [ { @@ -15,7 +15,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:npc_dialogue": { "scenes": [ { diff --git a/source/behavior/entities/entities.json b/source/behavior/entities/entities.json index 57dd3d0e9..ed47342c0 100644 --- a/source/behavior/entities/entities.json +++ b/source/behavior/entities/entities.json @@ -5,7 +5,7 @@ { "label": "New entity", "body": { - "format_version": "${1:1.20.41}", + "format_version": "${1:1.20.80}", "minecraft:entity": { "description": { "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}", @@ -20,7 +20,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:entity": { "description": { "identifier": "namespace:entity", "is_spawnable": true, "is_summonable": true }, "component_groups": {}, diff --git a/source/behavior/entities/filters/filters/has_biome_tag.json b/source/behavior/entities/filters/filters/has_biome_tag.json index b21e59796..5f66eaa86 100644 --- a/source/behavior/entities/filters/filters/has_biome_tag.json +++ b/source/behavior/entities/filters/filters/has_biome_tag.json @@ -3,7 +3,7 @@ "type": "object", "title": "Has Biome Tag", "description": "Tests whether the biome the subject is in has the specified tag.", - "required": ["value"], + "required": [ "value" ], "properties": { "test": { "type": "string", @@ -17,15 +17,16 @@ "$ref": "./types/subject.json" }, "value": { - "description": "(Required) The tag to look for.", - "type": "string", - "title": "Value" - } - }, - "examples": [ - { - "test": "has_biome_tag", - "value": "monster" + "description": "The tag to look for.", + "title": "Value", + "anyOf": [ + { + "$ref": "../../../../general/vanilla/biome_tag.json" + }, + { + "$ref": "../../../../general/vanilla/biome.json" + } + ] } - ] + } } diff --git a/source/behavior/entities/filters/filters/has_mob_effect.json b/source/behavior/entities/filters/filters/has_mob_effect.json index 81dff24c5..a17efc190 100644 --- a/source/behavior/entities/filters/filters/has_mob_effect.json +++ b/source/behavior/entities/filters/filters/has_mob_effect.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "type": "string", + "$ref": "../../../../general/vanilla/effect.json", "description": "The specified mob effect.", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/is_biome.json b/source/behavior/entities/filters/filters/is_biome.json index 5a4d61a62..82666534b 100644 --- a/source/behavior/entities/filters/filters/is_biome.json +++ b/source/behavior/entities/filters/filters/is_biome.json @@ -17,35 +17,9 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Biome type to test.", - "type": "string", - "enum": [ - "beach", - "desert", - "extreme_hills", - "flat", - "forest", - "ice", - "jungle", - "mesa", - "mushroom_island", - "ocean", - "plain", - "river", - "savanna", - "stone_beach", - "swamp", - "taiga", - "the_end", - "the_nether" - ], + "description": "The biome type to test.", + "$ref": "../../../../general/vanilla/biome.json", "title": "Value" } - }, - "examples": [ - { - "test": "is_biome", - "value": "beach" - } - ] + } } diff --git a/source/behavior/entities/format/behaviors/celebrate.json b/source/behavior/entities/format/behaviors/celebrate.json index 29250a092..5db0cfa6f 100644 --- a/source/behavior/entities/format/behaviors/celebrate.json +++ b/source/behavior/entities/format/behaviors/celebrate.json @@ -7,7 +7,6 @@ "properties": { "priority": { "$ref": "types/priority.json" }, "celebration_sound": { - "default": "", "description": "The sound event to trigger during the celebration.", "title": "Celebration Sound", "$ref": "../../../../general/sound_event.json" diff --git a/source/behavior/entities/format/behaviors/drop_item_for.json b/source/behavior/entities/format/behaviors/drop_item_for.json index c01b2e820..c7ce30ffa 100644 --- a/source/behavior/entities/format/behaviors/drop_item_for.json +++ b/source/behavior/entities/format/behaviors/drop_item_for.json @@ -33,8 +33,7 @@ "loot_table": { "title": "Loot Table", "type": "string", - "description": "The loot table that contains the possible loot the entity can drop with this goal.", - "examples": ["loot_tables/"] + "description": "The loot table that contains the possible loot the entity can drop with this goal." }, "max_head_look_at_height": { "title": "Max Head Look At Height", diff --git a/source/behavior/entities/format/behaviors/eat_mob.json b/source/behavior/entities/format/behaviors/eat_mob.json index bef9b0d0f..bc2ddc22f 100644 --- a/source/behavior/entities/format/behaviors/eat_mob.json +++ b/source/behavior/entities/format/behaviors/eat_mob.json @@ -16,13 +16,11 @@ "eat_mob_sound": { "title": "Eat Mob Sound", "$ref": "../../../../general/sound_event.json", - "default": "", "description": "Sets the sound that should play when eating a mob." }, "loot_table": { "title": "Loot Table", "type": "string", - "default": "", "description": "The loot table for loot to be dropped when eating a mob." }, "pull_in_force": { diff --git a/source/behavior/entities/format/behaviors/lay_egg.json b/source/behavior/entities/format/behaviors/lay_egg.json index 0fd76e43d..d8c1bc824 100644 --- a/source/behavior/entities/format/behaviors/lay_egg.json +++ b/source/behavior/entities/format/behaviors/lay_egg.json @@ -31,13 +31,13 @@ "title": "Lay Egg Sound", "$ref": "../../../../general/sound_event.json", "default": "lay_egg", - "description": "[EXPERIMENTAL] Sound event name for laying egg. Defaulted to lay_egg which is used for Turtles." + "description": "Sound event name for laying egg. Defaulted to lay_egg which is used for Turtles." }, "lay_seconds": { "title": "Lay Seconds", "type": "number", "default": 10.0, - "description": "[EXPERIMENTAL] Duration of the laying egg process in seconds." + "description": "Duration of the laying egg process in seconds." }, "on_lay": { "title": "On Lay", @@ -61,20 +61,20 @@ "type": "array", "default": ["minecraft:sand"], "items": { "title": "Block ID", "$ref": "../../../../general/item/descriptor.json" }, - "description": "[EXPERIMENTAL] Blocks that the mob can lay its eggs on top of." + "description": "Blocks that the mob can lay its eggs on top of." }, "target_materials_above_block": { "title": "Target Materials Above Block", "type": "array", "default": ["Air"], "enum": ["Air", "Any", "Lava", "Water"], - "description": "[EXPERIMENTAL] Types of materials that can exist above the target block. Valid types are Air, Water, and Lava." + "description": "Types of materials that can exist above the target block. Valid types are Air, Water, and Lava." }, "use_default_animation": { "title": "Use Default Animation", "type": "boolean", "default": true, - "description": "[EXPERIMENTAL] Specifies if the default lay-egg animation should be played when the egg is placed or not." + "description": "Specifies if the default lay-egg animation should be played when the egg is placed or not." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/random_search_and_dig.json b/source/behavior/entities/format/behaviors/random_search_and_dig.json index c2f5018e6..31b240fe8 100644 --- a/source/behavior/entities/format/behaviors/random_search_and_dig.json +++ b/source/behavior/entities/format/behaviors/random_search_and_dig.json @@ -45,8 +45,7 @@ "item_table": { "title": "Item Table", "type": "string", - "default": "", - "description": "File path relative to the resource pack root for items to spawn list (loot table format)." + "description": "File path relative to the behavior pack root for items to spawn list (loot table format)." }, "on_digging_start": { "title": "On Digging Start", diff --git a/source/behavior/entities/format/behaviors/sonic_boom.json b/source/behavior/entities/format/behaviors/sonic_boom.json index 89f43802c..67df3c261 100644 --- a/source/behavior/entities/format/behaviors/sonic_boom.json +++ b/source/behavior/entities/format/behaviors/sonic_boom.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Sonic Boom", - "description": "[EXPERIMENTAL BEHAVIOR] Plays the provided sounds and activates the `SONIC BOOM` actor flag during the specified duration", + "description": "Plays the provided sounds and activates the `SONIC BOOM` actor flag during the specified duration", "properties": { "priority": { "$ref": "./types/priority.json" }, "speed_multiplier": { "$ref": "types/speed_multiplier.json" }, diff --git a/source/behavior/entities/format/behaviors/trade_interest.json b/source/behavior/entities/format/behaviors/trade_interest.json index 64b02a2b7..970586727 100644 --- a/source/behavior/entities/format/behaviors/trade_interest.json +++ b/source/behavior/entities/format/behaviors/trade_interest.json @@ -25,7 +25,7 @@ "type": "number", "default": 45, "description": "The Maximum time in seconds that the trader will be interested with showing it's trade items.", - "title": "Interest_time" + "title": "Interest Time" }, "remove_item_time": { "type": "number", diff --git a/source/behavior/entities/format/components/ambient_sound_interval.json b/source/behavior/entities/format/components/ambient_sound_interval.json index 07fb0e40a..ed30d3a7e 100644 --- a/source/behavior/entities/format/components/ambient_sound_interval.json +++ b/source/behavior/entities/format/components/ambient_sound_interval.json @@ -23,7 +23,7 @@ "title": "Condition" }, "event_name": { - "$ref": "../../../../general/sound_event.json", + "type": "string", "description": "Level sound event to be played as the ambient sound.", "title": "Event Name" } diff --git a/source/behavior/entities/format/components/area_attack.json b/source/behavior/entities/format/components/area_attack.json index dc68823eb..957b5b7d2 100644 --- a/source/behavior/entities/format/components/area_attack.json +++ b/source/behavior/entities/format/components/area_attack.json @@ -12,7 +12,7 @@ "description": "The type of damage that is applied to entities that enter the damage range." }, "damage_cooldown": { - "title": "damage cooldown", + "title": "Damage Cooldown", "type": "number", "default": 0, "description": "Attack cooldown (in seconds) for how often this entity can attack a target." @@ -35,7 +35,7 @@ "title": "Entity Filter" }, "play_attack_sound": { - "title": "play attack sound", + "title": "Play Attack Sound", "type": "boolean", "default": 4.94066e-324, "description": "If the entity should play their attack sound when attacking a target." diff --git a/source/behavior/entities/format/components/attack.json b/source/behavior/entities/format/components/attack.json index 3f0fcae62..67697ee0c 100644 --- a/source/behavior/entities/format/components/attack.json +++ b/source/behavior/entities/format/components/attack.json @@ -13,8 +13,8 @@ }, "effect_name": { "type": "string", + "$ref": "../../../../general/vanilla/effect.json", "description": "Identifier of the status ailment to apply to an entity attacked by this entity's melee attack.", - "examples": ["wither", "hunger"], "title": "Effect Name" }, "effect_duration": { diff --git a/source/behavior/entities/format/components/break_blocks.json b/source/behavior/entities/format/components/break_blocks.json index 30ce5d25a..fa7edbee8 100644 --- a/source/behavior/entities/format/components/break_blocks.json +++ b/source/behavior/entities/format/components/break_blocks.json @@ -1,5 +1,5 @@ { - "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.break_blocks", + "$id": "blockception.minecraft.behavior.entities.minecraft.break_blocks", "type": "object", "title": "Break Blocks", "additionalProperties": false, diff --git a/source/behavior/entities/format/components/economy_trade_table.json b/source/behavior/entities/format/components/economy_trade_table.json index d6563310a..e556787f3 100644 --- a/source/behavior/entities/format/components/economy_trade_table.json +++ b/source/behavior/entities/format/components/economy_trade_table.json @@ -92,7 +92,6 @@ }, "table": { "type": "string", - "default": "", "description": "File path relative to the resource pack root for this entity's trades.", "title": "Table" }, diff --git a/source/behavior/entities/format/components/healable.json b/source/behavior/entities/format/components/healable.json index 55d0671b4..ac2b6a70e 100644 --- a/source/behavior/entities/format/components/healable.json +++ b/source/behavior/entities/format/components/healable.json @@ -11,23 +11,21 @@ "properties": { "name": { "title": "Name", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + "description": "Effect name.", + "$ref": "../../../../general/vanilla/effect.json", "type": "string" }, "duration": { "type": "integer", "default": 0, "minimum": 0, - "description": "The duration of the effect.", - "$comment": "UNDOCUMENTED" + "description": "The duration of the effect." }, "amplifier": { "type": "integer", "default": 0, "minimum": 0, - "description": "The amplifier of the effect.", - "$comment": "UNDOCUMENTED" + "description": "The amplifier of the effect." } } } diff --git a/source/behavior/entities/format/components/interact.json b/source/behavior/entities/format/components/interact.json index 04e618cbe..1d52461c6 100644 --- a/source/behavior/entities/format/components/interact.json +++ b/source/behavior/entities/format/components/interact.json @@ -65,7 +65,6 @@ "interact_text": { "title": "Interact Text", "type": "string", - "default": "", "description": "Text to show when the player is able to interact in this way with this entity when playing with Touch-screen controls." }, "on_interact": { @@ -98,13 +97,11 @@ "play_sounds": { "title": "Play Sounds", "$ref": "../../../../general/sound_event.json", - "default": "", "description": "List of sounds to play when the interaction occurs." }, "spawn_entities": { "title": "Spawn Entities", "type": "string", - "default": "", "description": "List of entities to spawn when the interaction occurs." }, "spawn_items": { diff --git a/source/behavior/entities/format/components/item_controllable.json b/source/behavior/entities/format/components/item_controllable.json index bcc7ad45e..1eb055026 100644 --- a/source/behavior/entities/format/components/item_controllable.json +++ b/source/behavior/entities/format/components/item_controllable.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.item_controllable", - "description": "Efines what items can be used to control this entity while ridden.", + "description": "Defines what items can be used to control this entity while ridden.", "type": "object", "title": "Item Controllable", "additionalProperties": false, diff --git a/source/behavior/entities/format/components/mob_effect.json b/source/behavior/entities/format/components/mob_effect.json index b07bcf0ed..3f82da06c 100644 --- a/source/behavior/entities/format/components/mob_effect.json +++ b/source/behavior/entities/format/components/mob_effect.json @@ -30,16 +30,8 @@ }, "mob_effect": { "title": "Mob Effect", - "type": "string", - "default": "", + "$ref": "../../../../general/vanilla/effect.json", "description": "The mob effect that is applied to entities that enter this entities effect range." } - }, - "examples": [ - { - "effect_range": 0.2, - "effect_time": 10, - "mob_effect": "" - } - ] + } } diff --git a/source/behavior/entities/format/components/mob_effect_immunity.json b/source/behavior/entities/format/components/mob_effect_immunity.json index 007a61d5c..71591c888 100644 --- a/source/behavior/entities/format/components/mob_effect_immunity.json +++ b/source/behavior/entities/format/components/mob_effect_immunity.json @@ -12,13 +12,8 @@ "uniqueItems": true, "minItems": 1, "items": { - "type": "string" + "$ref": "../../../../general/vanilla/effect.json" } } - }, - "examples": [ - { - "mob_effects": [ "oozing" ] - } - ] -} + } +} \ No newline at end of file diff --git a/source/behavior/entities/format/components/nameable.json b/source/behavior/entities/format/components/nameable.json index 762818ff8..28ac24b20 100644 --- a/source/behavior/entities/format/components/nameable.json +++ b/source/behavior/entities/format/components/nameable.json @@ -13,7 +13,6 @@ "properties": { "name_filter": { "type": "string", - "default": "", "description": "List of special names that will cause the events defined in `on_named` to fire.", "title": "Name Filter" }, diff --git a/source/behavior/entities/format/components/projectile.json b/source/behavior/entities/format/components/projectile.json index 441d3a920..c91765b5a 100644 --- a/source/behavior/entities/format/components/projectile.json +++ b/source/behavior/entities/format/components/projectile.json @@ -37,7 +37,6 @@ }, "filter": { "type": "string", - "default": "", "description": "Entity Definitions defined here can't be hurt by the projectile.", "title": "Filter" }, @@ -129,7 +128,7 @@ }, "offset": { "type": "array", - "default": [0, 0.0, 0], + "default": [ 0, 0.0, 0 ], "description": "The offset from the entity's anchor where the projectile will spawn.", "title": "Offset", "$ref": "../../../../general/vectors/number3.json" @@ -221,7 +220,7 @@ "additionalProperties": false, "properties": { "shape": { - "enum": ["sphere", "cube"], + "enum": [ "sphere", "cube" ], "default": "sphere", "description": "The shape of the area that is frozen.", "title": "Shape" @@ -429,8 +428,7 @@ }, "effect": { "title": "Effect", - "type": "string", - "default": "not set", + "$ref": "../../../../general/vanilla/effect.json", "description": "The identifier of the mob entity to affect." }, "visible": { @@ -490,7 +488,7 @@ "type": "object", "description": "Removes the projectile.", "additionalProperties": true, - "properties": {} + "properties": { } }, "spawn_aoe_cloud": { "title": "Spawn AOE Cloud", @@ -696,7 +694,6 @@ } }, "examples": [ - {}, { "anchor": 0, "angle_offset": 0, @@ -714,9 +711,9 @@ "lightning": false, "liquid_inertia": 0.6, "multiple_targets": true, - "offset": [], + "offset": [ ], "on_fire_time": 5, - "on_hit": {}, + "on_hit": { }, "particle": "iconcrack", "potion_effect": -1, "power": 1.3, diff --git a/source/behavior/entities/format/components/shooter.json b/source/behavior/entities/format/components/shooter.json index 66894cdef..70e5071ff 100644 --- a/source/behavior/entities/format/components/shooter.json +++ b/source/behavior/entities/format/components/shooter.json @@ -1,7 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.shooter", "description": "Defines the entity's ranged attack behavior.", - "$comment": "As of 1.19.60 & out of exp 1.20.10", "type": "object", "title": "Shooter", "additionalProperties": false, @@ -15,7 +14,6 @@ "def": { "title": "Def", "type": "string", - "examples": ["minecraft:arrow", "minecraft:small_fireball", "minecraft:thrown_trident"], "description": "Actor definition to use as projectile for the ranged attack. The actor definition must have the projectile component to be able to be shot as a projectile" }, "magic": { diff --git a/source/behavior/entities/format/components/spawn_entity.json b/source/behavior/entities/format/components/spawn_entity.json index 802ec6f7e..cdeb7fcc0 100644 --- a/source/behavior/entities/format/components/spawn_entity.json +++ b/source/behavior/entities/format/components/spawn_entity.json @@ -46,7 +46,6 @@ }, "spawn_entity": { "type": "string", - "default": "", "description": "Identifier of the entity to spawn, leave empty to spawn the item defined above instead.", "title": "Spawn Entity" }, diff --git a/source/behavior/entities/format/components/spell_effects.json b/source/behavior/entities/format/components/spell_effects.json index 0e43a3fd5..e2c58d1a7 100644 --- a/source/behavior/entities/format/components/spell_effects.json +++ b/source/behavior/entities/format/components/spell_effects.json @@ -11,7 +11,7 @@ "description": "List of effects to add to this entity after adding this component.", "items": { "oneOf": [ - { "type": "string" }, + { "$ref": "../../../../general/vanilla/effect.json" }, { "type": "object", "additionalProperties": false, @@ -41,7 +41,7 @@ "description": "Boolean value. When set to true, applying this effect displays an animated graphic on-screen similar to the totem of undying effect. Obviously, this only works for players. Defaults to false." }, "effect": { - "type": "string", + "$ref": "../../../../general/vanilla/effect.json", "title": "Effect", "description": "The string identifier of the status effect to add. These are the same as used in the /effect command." }, diff --git a/source/behavior/feature_rules/1.13.0/feature_rules.json b/source/behavior/feature_rules/1.13.0/feature_rules.json deleted file mode 100644 index f1a5ec69c..000000000 --- a/source/behavior/feature_rules/1.13.0/feature_rules.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.feature_rules.1.13.0", - "type": "object", - "title": "Feature Rules 1.13.0", - "description": "Each feature rule controls exactly one feature and serves as the root of a chain of feature data.", - "additionalProperties": false, - "required": ["format_version", "minecraft:feature_rules"], - "minProperties": 2, - "maxProperties": 2, - "definitions": { - "coord_dist": { - "title": "", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "oneOf": [ - { - "$ref": "../../../molang/number.json", - "description": "Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below." - }, - { - "type": "object", - "description": "Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.", - "additionalProperties": false, - "examples": [{ "numerator": 1, "denominator": 1 }], - "properties": { - "numerator": { - "title": "Numerator", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "number", - "minimum": 1 - }, - "denominator": { - "title": "Denominator", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "number", - "minimum": 1 - } - } - } - ] - } - }, - "properties": { - "format_version": { - "const": "1.13.0", - "description": "Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.", - "title": "Format Version" - }, - "minecraft:feature_rules": { - "title": "Feature Rules", - "description": "Each feature rule controls exactly one feature and serves as the root of a chain of feature data.", - "type": "object", - "additionalProperties": false, - "required": ["description", "conditions"], - "properties": { - "description": { - "title": "Description", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "additionalProperties": false, - "required": ["identifier", "places_feature"], - "properties": { - "identifier": { - "title": "Identifier", - "description": "The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.", - "type": "string", - "$ref": "../../../general/feature/identifier.json" - }, - "places_feature": { - "title": "Places Feature", - "description": "Named reference to the feature controlled by this rule.", - "type": "string" - } - } - }, - "conditions": { - "title": "Conditions", - "description": "Parameters to control where and when the feature will be placed.", - "type": "object", - "additionalProperties": false, - "required": ["placement_pass"], - "properties": { - "placement_pass": { - "title": "Placement pass", - "description": "When the feature should be placed relative to others. Earlier passes in the list are guaranteed to occur before later passes. Order is not guaranteed within each pass.", - "type": "string", - "enum": [ - "pregeneration_pass", - "first_pass", - "before_underground_pass", - "underground_pass", - "after_underground_pass", - "before_surface_pass", - "surface_pass", - "after_surface_pass", - "before_sky_pass", - "sky_pass", - "after_sky_pass", - "final_pass" - ] - }, - "minecraft:biome_filter": { - "title": "Placement pass", - "description": "List of filter tests to determine which biomes this rule will attach to.", - "$ref": "../../entities/filters/filters.json" - } - } - }, - "distribution": { - "title": "Distribution", - "description": "Parameters controlling the initial scatter of the feature.", - "type": "object", - "additionalProperties": false, - "required": ["iterations"], - "properties": { - "coordinate_eval_order": { - "title": "Coordinate Eval Order", - "description": "The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.", - "type": "string", - "enum": ["xyz", "xzy", "yxz", "yzx", "zxy", "zyx"] - }, - "iterations": { - "title": "Iterations", - "description": "Number of scattered positions to generate.", - "$ref": "../../../molang/number.json" - }, - "scatter_chance": { - "title": "Scatter Chance", - "oneOf": [ - { - "$ref": "../../../molang/number.json", - "description": "Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will." - }, - { - "type": "object", - "description": "Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.", - "additionalProperties": false, - "properties": { - "numerator": { - "title": "Numerator", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "number", - "minimum": 1 - }, - "denominator": { - "title": "Denominator", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "number", - "minimum": 1 - } - } - } - ] - }, - "x": { "title": "X", "$ref": "#/definitions/coord_dist" }, - "z": { "title": "Y", "$ref": "#/definitions/coord_dist" }, - "y": { "title": "Z", "$ref": "#/definitions/coord_dist" } - } - } - } - } - } -} diff --git a/source/behavior/feature_rules/feature_rules.json b/source/behavior/feature_rules/feature_rules.json index 84d38f7c1..c2b33d0b4 100644 --- a/source/behavior/feature_rules/feature_rules.json +++ b/source/behavior/feature_rules/feature_rules.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.behavior.feature_rules", "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:feature_rules": { "minecraft:ore_feature": { "description": { @@ -15,8 +15,13 @@ } } ], - "allOf": [ - { "if": { "properties": { "format_version": { "type": "string", "const": "1.13.0" } } }, "then": { "$ref": "./1.13.0/feature_rules.json" } }, - { "properties": { "format_version": { "$ref": "../../general/format_version.json" } } } - ] + "type": "object", + "title": "Feature Rules", + "description": "Each feature rule controls exactly one feature and serves as the root of a chain of feature data.", + "required": ["format_version", "minecraft:feature_rules"], + "additionalProperties": false, + "properties": { + "format_version": { "$ref": "../../general/format_version.json" }, + "minecraft:feature_rules": { "$ref": "./format/minecraft.feature_rules.json" } + } } diff --git a/source/behavior/feature_rules/format/minecraft.feature_rules.json b/source/behavior/feature_rules/format/minecraft.feature_rules.json new file mode 100644 index 000000000..033a1108c --- /dev/null +++ b/source/behavior/feature_rules/format/minecraft.feature_rules.json @@ -0,0 +1,149 @@ +{ + "$id": "blockception.minecraft.behavior.feature_rules.minecraft.feature_rules", + "type": "object", + "title": "Feature Rules", + "additionalProperties": false, + "definitions": { + "coord_dist": { + "title": "", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "oneOf": [ + { + "$ref": "../../../molang/number.json", + "description": "Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below." + }, + { + "type": "object", + "description": "Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.", + "additionalProperties": false, + "examples": [ { "numerator": 1, "denominator": 1 } ], + "properties": { + "numerator": { + "title": "Numerator", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "number", + "minimum": 1 + }, + "denominator": { + "title": "Denominator", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "number", + "minimum": 1 + } + } + } + ] + } + }, + "properties": { + "description": { + "title": "Description", + "description": "The description of this feature rule.", + "type": "object", + "additionalProperties": false, + "required": [ "identifier", "places_feature" ], + "properties": { + "identifier": { + "title": "Identifier", + "description": "The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.", + "type": "string", + "$ref": "../../../general/feature/identifier.json" + }, + "places_feature": { + "title": "Places Feature", + "description": "Named reference to the feature controlled by this rule.", + "type": "string" + } + } + }, + "conditions": { + "title": "Conditions", + "description": "Parameters to control where and when the feature will be placed.", + "type": "object", + "additionalProperties": false, + "required": [ "placement_pass" ], + "properties": { + "placement_pass": { + "title": "Placement Pass", + "description": "When the feature should be placed relative to others. Earlier passes in the list are guaranteed to occur before later passes. Order is not guaranteed within each pass.", + "type": "string", + "enum": [ + "pregeneration_pass", + "first_pass", + "before_underground_pass", + "underground_pass", + "after_underground_pass", + "before_surface_pass", + "surface_pass", + "after_surface_pass", + "before_sky_pass", + "sky_pass", + "after_sky_pass", + "final_pass" + ] + }, + "minecraft:biome_filter": { + "title": "Biome Filter", + "description": "List of filter tests to determine which biomes this rule will attach to.", + "$ref": "../../entities/filters/filters.json" + } + } + }, + "distribution": { + "title": "Distribution", + "description": "Parameters controlling the initial scatter of the feature.", + "type": "object", + "additionalProperties": false, + "required": [ "iterations" ], + "properties": { + "coordinate_eval_order": { + "title": "Coordinate Eval Order", + "description": "The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.", + "type": "string", + "enum": [ "xyz", "xzy", "yxz", "yzx", "zxy", "zyx" ] + }, + "iterations": { + "title": "Iterations", + "description": "Number of scattered positions to generate.", + "$ref": "../../../molang/number.json" + }, + "scatter_chance": { + "title": "Scatter Chance", + "oneOf": [ + { + "$ref": "../../../molang/number.json", + "description": "Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will." + }, + { + "type": "object", + "description": "Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.", + "additionalProperties": false, + "properties": { + "numerator": { + "title": "Numerator", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "number", + "minimum": 1 + }, + "denominator": { + "title": "Denominator", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "number", + "minimum": 1 + } + } + } + ] + }, + "x": { "title": "X", "$ref": "#/definitions/coord_dist" }, + "z": { "title": "Y", "$ref": "#/definitions/coord_dist" }, + "y": { "title": "Z", "$ref": "#/definitions/coord_dist" } + } + } + } +} \ No newline at end of file diff --git a/source/behavior/items/items.json b/source/behavior/items/items.json index 7ff483893..7f3a3754f 100644 --- a/source/behavior/items/items.json +++ b/source/behavior/items/items.json @@ -4,7 +4,7 @@ { "label": "New item", "body": { - "format_version": "${1:1.20.41}", + "format_version": "${1:1.20.80}", "minecraft:item": { "description": { "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}", diff --git a/source/behavior/recipes/types/base types/unlock.json b/source/behavior/recipes/types/base types/unlock.json index e70dfbe0e..c4d530654 100644 --- a/source/behavior/recipes/types/base types/unlock.json +++ b/source/behavior/recipes/types/base types/unlock.json @@ -11,7 +11,6 @@ "item": { "type": "string", "title": "Item", - "examples": ["minecraft:stick"], "description": "The item to unlock" }, "data": { diff --git a/source/behavior/volumes/volumes.json b/source/behavior/volumes/volumes.json index b3007d756..3607c5909 100644 --- a/source/behavior/volumes/volumes.json +++ b/source/behavior/volumes/volumes.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.behavior.volumes", "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:volume": { "description": { "identifier": "example:foo" diff --git a/source/general/sound_event.json b/source/general/sound_event.json index 5fe2dc4c0..ed3d1cdd0 100644 --- a/source/general/sound_event.json +++ b/source/general/sound_event.json @@ -4,7 +4,6 @@ "title": "Sound Event", "description": "Reference to a sound definition in \"sound_definitions.json\".", "examples": [ - "", "add.chest", "admire", "agitated", diff --git a/source/general/vanilla/biome.json b/source/general/vanilla/biome.json new file mode 100644 index 000000000..0cc01c086 --- /dev/null +++ b/source/general/vanilla/biome.json @@ -0,0 +1,92 @@ +{ + "title": "Biome", + "description": "An in game biome", + "enum": [ + "bamboo_jungle", + "bamboo_jungle_hills", + "basalt_deltas", + "beach", + "birch_forest", + "birch_forest_hills", + "birch_forest_hills_mutated", + "birch_forest_mutated", + "cherry_grove", + "cold_beach", + "cold_ocean", + "cold_taiga", + "cold_taiga_hills", + "cold_taiga_mutated", + "crimson_forest", + "deep_cold_ocean", + "deep_frozen_ocean", + "deep_lukewarm_ocean", + "deep_ocean", + "deep_warm_ocean", + "deep_dark", + "desert", + "desert_hills", + "desert_mutated", + "dripstone_caves", + "extreme_hills", + "extreme_hills_edge", + "extreme_hills_mutated", + "extreme_hills_plus_trees", + "extreme_hills_plus_trees_mutated", + "flower_forest", + "forest", + "forest_hills", + "frozen_ocean", + "frozen_peaks", + "frozen_river", + "grove", + "hell", + "ice_mountains", + "ice_plains", + "ice_plains_spikes", + "jagged_peaks", + "jungle", + "jungle_edge", + "jungle_edge_mutated", + "jungle_hills", + "jungle_mutated", + "legacy_frozen_ocean", + "lukewarm_ocean", + "lush_caves", + "mangrove_swamp", + "meadow", + "mega_taiga", + "mega_taiga_hills", + "mesa", + "mesa_bryce", + "mesa_plateau", + "mesa_plateau_mutated", + "mesa_plateau_stone", + "mesa_plateau_stone_mutated", + "mushroom_island", + "mushroom_island_shore", + "ocean", + "plains", + "redwood_taiga_hills_mutated", + "redwood_taiga_mutated", + "river", + "roofed_forest", + "roofed_forest_mutated", + "savanna", + "savanna_mutated", + "savanna_plateau", + "savanna_plateau_mutated", + "snowy_slopes", + "soulsand_valley", + "stone_beach", + "stony_peaks", + "sunflower_plains", + "swampland", + "swampland_mutated", + "taiga", + "taiga_hills", + "taiga_mutated", + "the_end", + "warm_ocean", + "warped_forest" + ] +} \ No newline at end of file diff --git a/source/general/vanilla/biome_tag.json b/source/general/vanilla/biome_tag.json new file mode 100644 index 000000000..ec006b874 --- /dev/null +++ b/source/general/vanilla/biome_tag.json @@ -0,0 +1,44 @@ +{ + "title": "Biome Tag", + "description": "An in game biome's tags", + "enum": [ + "animal", + "bamboo", + "bee_habitat", + "birch", + "caves", + "cold", + "deep", + "edge", + "frozen", + "hills", + "ice", + "lukewarm", + "mega", + "monster", + "mountain", + "mountains", + "mutated", + "nether", + "netherwart_forest", + "no_legacy_worldgen", + "ocean", + "overworld", + "overworld_generation", + "plateau", + "rare", + "roofed", + "shore", + "spawn_endermen", + "spawn_few_piglins", + "spawn_few_zombified_piglins", + "spawn_ghast", + "spawn_magma_cubes", + "spawn_many_magma_cubes", + "spawn_piglin", + "spawn_zombified_piglin", + "stone", + "swamp", + "warm" + ] +} \ No newline at end of file diff --git a/source/general/vanilla/effect.json b/source/general/vanilla/effect.json new file mode 100644 index 000000000..d7cd461ea --- /dev/null +++ b/source/general/vanilla/effect.json @@ -0,0 +1,44 @@ +{ + "$id": "blockception.minecraft.general.vanilla.effect", + "type": "string", + "title": "Effect", + "description": "A mob effect", + "enum": [ + "absorption", + "bad_omen", + "blindness", + "conduit_power", + "darkness", + "fatal_poison", + "fire_resistance", + "haste", + "health_boost", + "hunger", + "infested", + "instant_damage", + "instant_health", + "invisibility", + "jump_boost", + "levitation", + "mining_fatigue", + "nausea", + "night_vision", + "oozing", + "poison", + "raid_omen", + "regeneration", + "resistance", + "saturation", + "slow_falling", + "slowness", + "speed", + "strength", + "trial_omen", + "village_hero", + "water_breathing", + "weakness", + "weaving", + "wind_charged", + "wither" + ] +} \ No newline at end of file diff --git a/source/resource/animation_controllers/animation_controller.json b/source/resource/animation_controllers/animation_controller.json index 9bbb7b4a4..e489e14ff 100644 --- a/source/resource/animation_controllers/animation_controller.json +++ b/source/resource/animation_controllers/animation_controller.json @@ -18,7 +18,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.10.0", "animation_controllers": { "controller.animation.example": { "states": { @@ -78,7 +78,7 @@ "required": ["format_version", "animation_controllers"], "additionalProperties": false, "properties": { - "format_version": { "$ref": "../../general/format_version.json" }, + "format_version": { "type": "string", "const": "1.10.0" }, "animation_controllers": { "type": "object", "title": "Animation Controllers Schema", diff --git a/source/resource/animations/actor_animation.json b/source/resource/animations/actor_animation.json index cac4a2af3..e2d28ccd9 100644 --- a/source/resource/animations/actor_animation.json +++ b/source/resource/animations/actor_animation.json @@ -12,7 +12,7 @@ } } ], - "examples": [{ "format_version": "1.20.41", "animations": { "animation.annie.idle": { "loop": true, "animation_length": 2.12, "bones": {} } } }], + "examples": [{ "format_version": "1.10.0", "animations": { "animation.annie.idle": { "loop": true, "animation_length": 2.12, "bones": {} } } }], "additionalProperties": false, "type": "object", "title": "Actor Animation", @@ -94,7 +94,7 @@ }, "required": ["format_version", "animations"], "properties": { - "format_version": { "$ref": "../../general/format_version.json" }, + "format_version": { "type": "string", "const": "1.10.0" }, "animations": { "title": "Animations Schema", "description": "The animation specification.", diff --git a/source/resource/attachables/attachables.json b/source/resource/attachables/attachables.json index ccc917e6d..b75a9b3d5 100644 --- a/source/resource/attachables/attachables.json +++ b/source/resource/attachables/attachables.json @@ -26,7 +26,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.10.0", "minecraft:attachable": { "description": { "identifier": "minecraft:item", diff --git a/source/resource/entity/entity.json b/source/resource/entity/entity.json index c2871f4c0..9e106533a 100644 --- a/source/resource/entity/entity.json +++ b/source/resource/entity/entity.json @@ -26,7 +26,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.10.0", "minecraft:client_entity": { "description": { "identifier": "minecraft:entity", diff --git a/source/resource/items/items.json b/source/resource/items/items.json index a961d5063..b748d4ba8 100644 --- a/source/resource/items/items.json +++ b/source/resource/items/items.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.resource.items", "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:item": { "description": { "identifier": "blockception:item", "category": "Equipment" }, "components": { "minecraft:icon": "item", "minecraft:render_offsets": "apple" } diff --git a/source/resource/models/entity/model_entity.json b/source/resource/models/entity/model_entity.json index 1217bb1d6..a7638473e 100644 --- a/source/resource/models/entity/model_entity.json +++ b/source/resource/models/entity/model_entity.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.resource.model", "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "minecraft:geometry": [ { "description": { diff --git a/source/resource/particles/particles.json b/source/resource/particles/particles.json index 4d1591f88..1f7be657b 100644 --- a/source/resource/particles/particles.json +++ b/source/resource/particles/particles.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.resource.particle", "examples": [ { - "format_version": "1.20.41", + "format_version": "1.20.80", "particle_effect": { "description": { "identifier": "example:particle", diff --git a/source/resource/render_controllers/render_controllers.json b/source/resource/render_controllers/render_controllers.json index d2c934328..a61758c53 100644 --- a/source/resource/render_controllers/render_controllers.json +++ b/source/resource/render_controllers/render_controllers.json @@ -18,7 +18,7 @@ ], "examples": [ { - "format_version": "1.20.41", + "format_version": "1.10.0", "render_controllers": { "controller.render.example": { "geometry": "Geometry.default", "materials": [{ "*": "Material.default" }], "textures": ["Texture.default"] } } @@ -37,7 +37,7 @@ } }, "properties": { - "format_version": { "$ref": "../../general/format_version.json" }, + "format_version": { "type": "string", "const": "1.10.0" }, "render_controllers": { "title": "Render Controllers", "description": "The collection of render controllers, each property is the identifier of a render controller.",