Skip to content

Commit

Permalink
finalize stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
ExDrill committed Nov 24, 2024
1 parent a305a14 commit 0362d4c
Show file tree
Hide file tree
Showing 11 changed files with 427 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dist/minecraftBedrock/fileDefinitions.json

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion packages/minecraftBedrock/formatVersions.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"1.21.20",
"1.21.30",
"1.21.40",
"1.21.50"
"1.21.50",
"1.21.60"
]
}
3 changes: 2 additions & 1 deletion packages/minecraftBedrock/minEngineVersionMap.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@
"1.21.20": "1.21.0",
"1.21.30": "1.21.0",
"1.21.40": "1.21.0",
"1.21.50": "1.21.0"
"1.21.50": "1.21.0",
"1.21.60": "1.21.0"
}
12 changes: 12 additions & 0 deletions packages/minecraftBedrock/schema/block/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,18 @@
"then": {
"$ref": "./v1.21.50/main.json"
}
},
{
"if": {
"properties": {
"format_version": {
"enum": ["1.21.60"]
}
}
},
"then": {
"$ref": "./v1.21.60/main.json"
}
}
]
}
59 changes: 59 additions & 0 deletions packages/minecraftBedrock/schema/block/v1.21.60/blockTraits.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"additionalProperties": false,
"properties": {
"minecraft:placement_direction": {
"title": "Placement Direction Trait",
"description": "This can add states containing information about the player's rotation when the block is placed. For example, if a block using placement_direction is placed while the player is facing south, the state value will be \"south\".",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled_states": {
"title": "Enabled States",
"description": "This can add states containing information about the player's rotation when the block is placed.\nminecraft:cardinal_direction is a 4-value state containing the cardinal-facing direction of the player when the block was placed. The values for this state are 'north', 'south', 'east', and 'west'.\nminecraft:facing_direction is a 6-value state containing the overall direction of the player when the block was placed. The values for this state are 'down', 'up', 'north', 'south', 'east', and 'west'.",
"type": "array",
"items": {
"type": "string",
"enum": [
"minecraft:cardinal_direction",
"minecraft:facing_direction"
]
},
// "uniqueItems": true,
"minItems": 1
},
"y_rotation_offset": {
"title": "Y Rotation Offset",
"description": "This is the amount of rotation the block will be rotated by when placed.\n(degrees)",
"type": "number",
"minimum": 0,
"maximum": 360,
"default": 0
}
}
},
"minecraft:placement_position": {
"title": "Placement Position Trait",
"description": "This contains information about where the player placed the block. This allows a block to replicate the upside-down placement of slabs and stairs, as well as the attachment behavior of torches and vines.",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled_states": {
"title": "Enabled States",
"description": "This can add states containing information about the player's rotation when the block is placed.\nminecraft:block_face is a 6-value state representing the face on which the block was placed. Values for this state are 'up', 'down', 'north', 'south', 'east', and 'west'. For example, if a block using the minecraft:block_face is placed on the south face of a neighboring block, the state value will be 'south'.\nminecraft:vertical_half is a 2-value state specifying whether a block was placed in the top or bottom half of a block. The values for this state are 'bottom' and 'top'. For blocks using minecraft:vertical_half, if the block is placed on the 'down' face of a block or above the midline of a horizontal face, the state value will be 'top'.",
"type": "array",
"items": {
"type": "string",
"enum": [
"minecraft:block_face",
"minecraft:vertical_half"
]
},
// "uniqueItems": true,
"minItems": 1
}
}
}
}
}
100 changes: 100 additions & 0 deletions packages/minecraftBedrock/schema/block/v1.21.60/components/_main.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"allOf": [
{
"properties": {
"minecraft:collision_box": {
"$ref": "../../v1.19.50/components/collision_box.json"
},
"minecraft:crafting_table": {
"$ref": "../../v1.19.50/components/crafting_table.json"
},
"minecraft:custom_components": {
"$ref": "../../v1.21.10/components/custom_components.json"
},
"minecraft:destructible_by_explosion": {
"$ref": "../../v1.19.20/components/destructible_by_explosion.json"
},
"minecraft:destructible_by_mining": {
"$ref": "../../v1.21.50/components/destructible_by_mining.json"
},
"minecraft:display_name": {
"$ref": "../../v1.19.60/components/display_name.json"
},
"minecraft:entity_fall_on": {
"$ref": "../../v1.21.10/components/entity_fall_on.json"
},
"minecraft:flammable": {
"$ref": "../../v1.19.10/components/flammable.json"
},
"minecraft:friction": {
"$ref": "../../v1.19.20/components/friction.json"
},
"minecraft:geometry": {
"$ref": "../../v1.20.60/components/geometry.json"
},
"minecraft:loot": {
"$ref": "../../v1.16.0/components/loot.json"
},
"minecraft:light_dampening": {
"$ref": "../../v1.19.40/components/light_dampening.json"
},
"minecraft:light_emission": {
"$ref": "../../v1.19.20/components/light_emission.json"
},
"minecraft:map_color": {
"$ref": "../../v1.16.0/components/map_color.json"
},
"minecraft:material_instances": {
"$ref": "../../v1.21.60/components/material_instances.json"
},
"minecraft:placement_filter": {
"$ref": "../../v1.19.60/components/placement_filter.json"
},
"minecraft:redstone_conductivity": {
"$ref": "../../v1.21.30/components/redstone_conductivity.json"
},
"minecraft:selection_box": {
"$ref": "../../v1.19.60/components/selection_box.json"
},
"minecraft:tick": {
"$ref": "../../v1.21.10/components/tick.json"
},
"minecraft:transformation": {
"$ref": "../../v1.19.80/components/transformation.json"
}
}
},
{
"$ref": "../../../project/experimentalGameplay/upcomingCreatorFeatures.json",
"then": {
"properties": {
"minecraft:item_visual": {
"$ref": "../../v1.21.60/components/item_visual.json"
},
"minecraft:liquid_detection": {
"$ref": "../../v1.21.50/components/liquid_detection.json"
}
}
}
},
{
// Deprecated
"properties": {
"minecraft:block_light_absorption": {
"$ref": "../../v1.18.10/components/block_light_absorption.json"
},
"minecraft:block_light_filter": {
"$ref": "../../v1.19.40/components/block_light_filter.json"
},
"minecraft:destroy_time": {
"$ref": "../../v1.19.20/components/destroy_time.json"
},
"minecraft:explosion_resistance": {
"$ref": "../../v1.19.20/components/explosion_resistance.json"
}
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Item Visual",
"description": "The description identifier of the geometry and material used to render the item of this block.",
"type": "object",
"properties": {
"geometry": {
"description": "The 'minecraft:geometry' component that will be used for the item.",
"$ref": "../../v1.20.60/components/geometry.json"
},
"material_instances": {
"description": "The 'minecraft:material_instances' component that will be used for the item.",
"$ref": "../../v1.21.60/components/material_instances.json"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"title": "Material Instances",
"description": "The material instances for a block. Maps face or material_instance names in a geometry file to an actual material instance. You can assign a material instance object to any of these faces: 'up', 'down', 'north', 'south', 'east', 'west', or '*'. You can also give an instance the name of your choosing such as 'my_instance', and then assign it to a face by doing 'north':'my_instance'.",
"propertyNames": {
"anyOf": [
{
"enum": [
"*",
"up",
"down",
"sides",
"north",
"south",
"east",
"west"
]
},
{
"$ref": "../../../geometry/dynamic/materialInstanceEnum.json"
}
]
},
"additionalProperties": {
"type": "object",
"properties": {
"texture": {
"title": "Texture",
"description": "Name of a texture from the terrain_texture.json file.",
"$ref": "../../../general/reference/terrainTexture.json"
},
"render_method": {
"title": "Render Method",
"description": "The render method to use.",
"type": "string",
"default": "opaque",
"oneOf": [
{
"const": "opaque",
"description": "Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency. This material enables AO (ambient occlusion) for the block, creating shadows around and underneath it."
},
{
"const": "blend",
"description": "Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures). By default, this material disables AO for the block."
},
{
"const": "alpha_test",
"description": "Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. By default, this material disables AO for the block, removing those ugly shadows if you're making a non-full or decorative block."
},
{
"const": "double_sided",
"description": "Used for completely disabling backface culling."
}
]
},
"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. Optionally can be constructed with float to control exponent applied to ao value after lighting.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "number"
}
],
"default": true
},
"face_dimming": {
"title": "Face Dimming",
"description": "Should this material have ambient occlusion applied when lighting.",
"type": "boolean",
"default": true
}
}
}
}
75 changes: 75 additions & 0 deletions packages/minecraftBedrock/schema/block/v1.21.60/description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"description": "Set required block information",
"type": "object",
"properties": {
"identifier": {
"title": "Identifier",
"$ref": "../../general/reference/prefixedFileIdentifier.json",
"description": "The identifier for this item. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla item."
},
"is_experimental": {
"title": "Is Experimental",
"type": "boolean",
"description": "If this item is experimental, it will only be registered if the world is marked as experimental."
},
"properties": {
"title": "Properties",
"description": "Deprecated in favor of states (format_version: v1.20.10).",
"doNotSuggest": true
},
"states": {
"title": "States",
"description": "Define block states and their possible values",
"anyOf": [
{
"$ref": "../../project/projectPrefix.json"
},
{
"patternProperties": {
".*": {
"type": "array",
"items": {
"type": ["boolean", "integer", "string"]
}
}
}
}
]
},
"menu_category": {
"title": "Menu Category",
"type": "object",
"additionalProperties": false,
"properties": {
"group": {
"title": "Creative Catgeory",
"type": "string",
"anyOf": [
{
"$ref": "../../general/creativeCategory.json"
},
{
"$ref": "../../general/reference/itemGroup.json"
}
]
},
"category": {
"title": "Category",
"type": "string",
"description": "Determines which category this block will be placed under in the inventory and crafting table container screens. Options are 'construction', 'nature', 'equipment', 'items', and 'none'. If omitted or 'none' is specified, the block will not appear in the inventory or crafting table container screens.",
"$ref": "../../general/creativeCategory.json"
},
"is_hidden_in_commands": {
"title": "Is Hidden In Commands",
"type": "boolean"
}
}
},
"traits": {
"title": "Block Traits",
"description": "Block traits are designed to be a shortcut for creators to use Vanilla block states without needing to define and manage a series of events or triggers on custom blocks.",
"$ref": "./blockTraits.json"
}
}
}
Loading

0 comments on commit 0362d4c

Please sign in to comment.