-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
110 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"$id": "blockception.minecraft.block_culling.identifier", | ||
"description": "The minecraft block culling rule identifier.", | ||
"examples": ["namespace:rule"], | ||
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$", | ||
"title": "Block Culling Rule Identifier", | ||
"type": "string", | ||
"defaultSnippets": [{ "label": "New Identifier", "body": "$1:$2" }] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema", | ||
"$id": "blockception.minecraft.resource.block_culling", | ||
"title": "Block Culling", | ||
"description": "A resource pack file that helps the system determine how to change the appearance of this block.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"format_version": { "$ref": "../../general/format_version.json" }, | ||
"minecraft:block_culling_rules": { | ||
"title": "Block Culling Rules", | ||
"description": "JSON container used for descriptions, especially the identifier for the name of the culled version of the block.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"description": { | ||
"title": "Description", | ||
"description": "Contains the identifier used by minecraft:geometry block components to refer to this culling data", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"identifier": { | ||
"$ref": "../../general/block_culling/identifier.json", | ||
"description": "Sets the identifier for this rule's description.", | ||
"title": "Identifier" | ||
} | ||
} | ||
}, | ||
"rules": { | ||
"title": "Rules", | ||
"description": "List of all components used to identify geometry parts used in culling.", | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/rule" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"definitions": { | ||
"rule": { | ||
"title": "Rule", | ||
"description": "The rules that specifies a \"geometry_part\" and \"direction\"", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"geometry_part": { | ||
"title": "Geometry Part", | ||
"description": "Specifies the bone, cube, and face that the block will be culled. The cube and face fields are optional to allow culling a specific face. Omitting these fields will cull the whole bone.", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"bone": { | ||
"title": "Bone", | ||
"description": "The bone within the geometry part", | ||
"type": "string" | ||
}, | ||
"cube": { | ||
"title": "Cube", | ||
"description": "The cube within the geometry part", | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
"face": { | ||
"title": "Face", | ||
"description": "The face within the geometry part", | ||
"type": "string", | ||
"enum": ["up", "down", "north", "south", "east", "west"] | ||
} | ||
} | ||
}, | ||
"direction": { | ||
"title": "Direction", | ||
"description": "Specifies the direction of the neighbor block to check for culling. This direction rotates with a block's Transform component.", | ||
"type": "string", | ||
"enum": ["up", "down", "north", "south", "east", "west"] //TODO: Check if "side" and "all" work here too | ||
} | ||
} | ||
} | ||
}, | ||
"examples": [ | ||
{ | ||
"format_version": "1.20.60", | ||
"minecraft:block_culling_rules": { | ||
"description": { | ||
"identifier": ":" | ||
}, | ||
"rules": [ | ||
{ | ||
"part": { | ||
"bone": "", | ||
"cube": 0, | ||
"face": "" | ||
} | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} |