1.21.90 (#350)
* - Added VV * - Updated block culling * - Added remove_in_peaceful * - Added leashable_to * - Updated leashable * - Added body_rotation_always_follows_head * - Added particle count to destruction_particles * - Added uv_lock * - Added liquid_settings to jigsaws * - Added missing jigsaw fields * - Added random_offset * - Updated color grading description for one field * - Added damaged_by_entity loot table condition * - Added y offset to interact > spawn_items * - Added is_riding_self filter * - Added hides_player_location to wearable * - Added henyey_greenstein_g to fog * - Added block component movable * - Removed internal markers for VV client biome components * - Removed experimental marker for air controlled
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"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",
|
||||
@@ -15,6 +16,13 @@
|
||||
"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"
|
||||
},
|
||||
"particle_count": {
|
||||
"title": "Particle Count",
|
||||
"description": "Number of particles to spawn on destruction",
|
||||
"type": "integer",
|
||||
"default": 100,
|
||||
"maximum": 255
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,25 @@
|
||||
"description": "A string that allows culling rule to group multiple blocks together when comparing them.",
|
||||
"type": "string",
|
||||
"examples": ["minecraft:culling_layer.undefined", "minecraft:culling_layer.leaves"]
|
||||
},
|
||||
"uv_lock": {
|
||||
"anyOf": [
|
||||
{
|
||||
"title": "UV Lock",
|
||||
"description": "A Boolean locking UV orientation of all bones in the geometry, or an array of strings locking UV orientation of specific bones in the geometry. For performance reasons it is recommended to use the Boolean. Note that for cubes using Box UVs, rather than Per-face UVs, 'uv_lock' is only supported if the cube faces are square.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"title": "UV Lock",
|
||||
"description": "A Boolean locking UV orientation of all bones in the geometry, or an array of strings locking UV orientation of specific bones in the geometry. For performance reasons it is recommended to use the Boolean. Note that for cubes using Box UVs, rather than Per-face UVs, 'uv_lock' is only supported if the cube faces are square.",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
21
source/behavior/blocks/format/components/movable.json
Normal file
21
source/behavior/blocks/format/components/movable.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.movable",
|
||||
"title": "Movable",
|
||||
"description": "[Experimental] This allows for blocks to configure how they should react when moved by a piston",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "movement_type" ],
|
||||
"properties": {
|
||||
"movement_type": {
|
||||
"title": "Movement Type",
|
||||
"description": "How the block reacts to being pushed by another block like a piston. Must be one of the following options:\n\"push_pull\" - The default value for this field. The block will be pushed and pulled by a piston.\n\"push\" - The block will only be pulled by a piston and will ignore a sticky piston.\n\"popped\" - The block is destroyed when moved by a piston.\n\"immovable\" - The block is unaffected by a piston.",
|
||||
"type": "string",
|
||||
"enum": ["push_pull", "push", "popped", "immovable"]
|
||||
},
|
||||
"sticky": {
|
||||
"title": "Sticky",
|
||||
"description": "How the block should handle adjacent blocks around it when being pushed by another block like a piston. Must be one of the following options:\n\"same\" - Adjacent blocks to this block will be moved when moved. This excludes other blocks with the \"same\" property. This will only work with the movement_type: \"push_pull\".\n\"none\" - The default and will not move adjacent blocks.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
55
source/behavior/blocks/format/components/random_offset.json
Normal file
55
source/behavior/blocks/format/components/random_offset.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.random_offset",
|
||||
"title": "Random Offset",
|
||||
"description": "[Experimental] This allows for blocks to randomly offset like foliage does in the Vanilla game",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"definitions": {
|
||||
"entry": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"range": {
|
||||
"title": "Range",
|
||||
"description": "This is the range of possible values we can pick from",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": { //TODO: Find out if -4 and 4 are the min and max values allowed
|
||||
"min": {
|
||||
"title": "Min",
|
||||
"description": "Lower bound",
|
||||
"type": "integer"
|
||||
},
|
||||
"max": {
|
||||
"title": "Max",
|
||||
"description": "Upper bound",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"steps": {
|
||||
"title": "Steps",
|
||||
"description": "This is the equally spaced steps across the given range. Provide 0 for all possible values in the range",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"x": {
|
||||
"title": "X",
|
||||
"description": "Random offset on the x-axis",
|
||||
"$ref": "#/definitions/entry"
|
||||
},
|
||||
"y": {
|
||||
"title": "Y",
|
||||
"description": "Random offset on the y-axis",
|
||||
"$ref": "#/definitions/entry"
|
||||
},
|
||||
"z": {
|
||||
"title": "Z",
|
||||
"description": "Random offset on the z-axis",
|
||||
"$ref": "#/definitions/entry"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "A custom block definition.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["description", "components"],
|
||||
"required": [ "description", "components" ],
|
||||
"definitions": {
|
||||
"components_ref": {
|
||||
"type": "object",
|
||||
@@ -30,7 +30,9 @@
|
||||
"minecraft:loot": { "$ref": "./components/loot.json" },
|
||||
"minecraft:map_color": { "$ref": "./components/map_color.json" },
|
||||
"minecraft:material_instances": { "$ref": "./components/material_instances.json" },
|
||||
"minecraft:movable": { "$ref": "./components/movable.json" },
|
||||
"minecraft:placement_filter": { "$ref": "./components/placement_filter.json" },
|
||||
"minecraft:random_offset": { "$ref": "./components/random_offset.json" },
|
||||
"minecraft:redstone_conductivity": { "$ref": "./components/redstone_conductivity.json" },
|
||||
"minecraft:replaceable": { "$ref": "./components/replaceable.json" },
|
||||
"minecraft:selection_box": { "$ref": "./components/selection_box.json" },
|
||||
@@ -39,17 +41,17 @@
|
||||
"minecraft:tick": { "$ref": "./components/tick.json" },
|
||||
"minecraft:entity_fall_on": { "$ref": "./components/entity_fall_on.json" },
|
||||
// Tags
|
||||
"tag:minecraft:diamond_tier_destructible": {},
|
||||
"tag:minecraft:iron_tier_destructible": {},
|
||||
"tag:minecraft:is_axe_item_destructible": {},
|
||||
"tag:minecraft:is_hoe_item_destructible": {},
|
||||
"tag:minecraft:is_mace_item_destructible": {},
|
||||
"tag:minecraft:is_pickaxe_item_destructible": {},
|
||||
"tag:minecraft:is_shears_item_destructible": {},
|
||||
"tag:minecraft:is_shovel_item_destructible": {},
|
||||
"tag:minecraft:is_sword_item_destructible": {},
|
||||
"tag:minecraft:netherite_tier_destructible": {},
|
||||
"tag:minecraft:stone_tier_destructible": {}
|
||||
"tag:minecraft:diamond_tier_destructible": { },
|
||||
"tag:minecraft:iron_tier_destructible": { },
|
||||
"tag:minecraft:is_axe_item_destructible": { },
|
||||
"tag:minecraft:is_hoe_item_destructible": { },
|
||||
"tag:minecraft:is_mace_item_destructible": { },
|
||||
"tag:minecraft:is_pickaxe_item_destructible": { },
|
||||
"tag:minecraft:is_shears_item_destructible": { },
|
||||
"tag:minecraft:is_shovel_item_destructible": { },
|
||||
"tag:minecraft:is_sword_item_destructible": { },
|
||||
"tag:minecraft:netherite_tier_destructible": { },
|
||||
"tag:minecraft:stone_tier_destructible": { }
|
||||
},
|
||||
"patternProperties": {
|
||||
"tag:.+": {
|
||||
@@ -93,7 +95,7 @@
|
||||
"description": "The description for this block.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["identifier"],
|
||||
"required": [ "identifier" ],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"title": "Identifier",
|
||||
@@ -105,9 +107,9 @@
|
||||
"title": "Menu Category",
|
||||
"description": "Specifies the menu category and group for the block, which determine where this block is placed in the inventory and crafting table container screens. If this field is omitted, the block will not appear in the inventory or crafting table container screens.",
|
||||
"type": "object",
|
||||
"examples": [{ "category": "construction" }],
|
||||
"examples": [ { "category": "construction" } ],
|
||||
"additionalProperties": false,
|
||||
"required": ["category"],
|
||||
"required": [ "category" ],
|
||||
"properties": {
|
||||
"category": {
|
||||
"$ref": "../../../general/vanilla/creative_category.json"
|
||||
|
||||
@@ -140,6 +140,7 @@
|
||||
{ "if": { "properties": { "test": { "const": "is_navigating" } } }, "then": { "$ref": "./filters/is_moving.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_owner" } } }, "then": { "$ref": "./filters/is_owner.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_persistent" } } }, "then": { "$ref": "./filters/is_persistent.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_riding_self" } } }, "then": { "$ref": "./filters/is_riding_self.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_riding" } } }, "then": { "$ref": "./filters/is_riding.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_skin_id" } } }, "then": { "$ref": "./filters/is_skin_id.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_sleeping" } } }, "then": { "$ref": "./filters/is_sleeping.json" } },
|
||||
|
||||
30
source/behavior/entities/filters/filters/is_riding_self.json
Normal file
30
source/behavior/entities/filters/filters/is_riding_self.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.filters.is_riding_self",
|
||||
"type": "object",
|
||||
"title": "Is Riding Self",
|
||||
"description": "Returns true if the subject entity is riding the calling entity.",
|
||||
"properties": {
|
||||
"test": {
|
||||
"type": "string",
|
||||
"title": "Test Property",
|
||||
"description": "The test property."
|
||||
},
|
||||
"operator": {
|
||||
"$ref": "./types/operator.json"
|
||||
},
|
||||
"subject": {
|
||||
"$ref": "./types/subject.json"
|
||||
},
|
||||
"value": {
|
||||
"title": "Value",
|
||||
"description": "True or false.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"test": "is_riding_self"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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_always_follows_head": { "$ref": "./components/body_rotation_always_follows_head.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" },
|
||||
@@ -110,6 +111,7 @@
|
||||
"minecraft:item_hopper": { "$ref": "./components/item_hopper.json" },
|
||||
"minecraft:jump.dynamic": { "$ref": "./components/jump.dynamic.json" },
|
||||
"minecraft:jump.static": { "$ref": "./components/jump.static.json" },
|
||||
"minecraft:leashable_to": { "$ref": "./components/leashable_to.json" },
|
||||
"minecraft:knockback_resistance": { "$ref": "./components/attribute.json" },
|
||||
"minecraft:lava_movement": { "$ref": "./components/attribute.json" },
|
||||
"minecraft:leashable": { "$ref": "./components/leashable.json" },
|
||||
@@ -168,6 +170,7 @@
|
||||
"minecraft:ravager_blocked": { "$ref": "./components/ravager_blocked.json" },
|
||||
"minecraft:rideable": { "$ref": "./components/rideable.json" },
|
||||
"minecraft:reflect_projectiles": { "$ref": "./components/reflect_projectiles.json" },
|
||||
"minecraft:remove_in_peaceful": { "$ref": "./components/remove_in_peaceful.json" },
|
||||
"minecraft:renders_when_invisible": { "$ref": "./components/renders_when_invisible.json" },
|
||||
"minecraft:scale_by_age": { "$ref": "./components/scale_by_age.json" },
|
||||
"minecraft:scale": { "$ref": "./components/scale.json" },
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.body_rotation_always_follows_head",
|
||||
"type": "object",
|
||||
"title": "Body Rotation Always Follows Head",
|
||||
"description": "Causes the entity's body to always be automatically rotated to align with the entity's head. Does not override the \"minecraft:body_rotation_blocked\" component.",
|
||||
"additionalProperties": false,
|
||||
"properties": {},
|
||||
"examples": [{}]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.input_air_controlled",
|
||||
"description": "When configured as a rideable entity, the entity will be controlled using WASD controls and mouse to move in three dimensions.\nOnly available with `\"use_beta_features\": true` and likely to be drastically changed or removed.",
|
||||
"description": "When configured as a rideable entity, the entity will be controlled using WASD controls and mouse to move in three dimensions.",
|
||||
"type": "object",
|
||||
"title": "Input Air Controlled",
|
||||
"additionalProperties": false,
|
||||
|
||||
@@ -115,6 +115,12 @@
|
||||
"$ref": "../../../../general/loot_table/identifier.json",
|
||||
"description": "File path, relative to the Behavior Pack's path, to the loot table file.",
|
||||
"title": "Table"
|
||||
},
|
||||
"y_offset": {
|
||||
"title": "Y Offset",
|
||||
"description": "Will offset the items spawn position this amount in the y direction.",
|
||||
"type": "number",
|
||||
"minimum": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -25,6 +25,12 @@
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"can_be_cut": {
|
||||
"title": "Can Be Cut",
|
||||
"description": "If true, players can cut both incoming and outgoing leashes by using shears on the entity.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"can_be_stolen": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
@@ -76,6 +82,19 @@
|
||||
},
|
||||
"soft_distance": {
|
||||
"$ref": "#/definitions/soft_distance"
|
||||
},
|
||||
"rotation_adjustment": {
|
||||
"title": "Rotation Adjustment",
|
||||
"description": "Adjusts the rotation at which the entity reaches equilibrium, when \"spring_type\" is set to \"dampened\" or \"quad_dampened\"",
|
||||
"type": "number",
|
||||
"default": 0
|
||||
},
|
||||
"spring_type": {
|
||||
"title": "Spring Type",
|
||||
"description": "Defines the type of spring-like force that pulls the entity towards its leash holder:\n- \"bouncy\": Simulates a highly elastic spring that never reaches an equilibrium if the leashed entity is suspended mid-air.\n- \"dampened\": Simulates a dampened spring attached to the front of the leashed entity's collision. It reaches an equilibrium if the entity is suspended mid-air and aligns with the movement direction.\n- \"quad_dampened\": Simulates four dampened springs connected to the center of each side of the entities' collisions. It reaches an equilibrium if the entity is suspended mid-air and gradually aligns with the leash holder over time.",
|
||||
"default": "dampened",
|
||||
"type": "string",
|
||||
"enum": ["bouncy", "dampened", "quad_dampened"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
15
source/behavior/entities/format/components/leashable_to.json
Normal file
15
source/behavior/entities/format/components/leashable_to.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.leashable_to",
|
||||
"type": "object",
|
||||
"title": "Leashable To",
|
||||
"description": "Allows players to leash entities to this entity, retrieve those already leashed to it, or free them using shears.",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"can_retrieve_from": {
|
||||
"title": "Can Retrieve From",
|
||||
"description": "Allows players to retrieve entities that are leashed to this entity.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.remove_in_peaceful",
|
||||
"type": "object",
|
||||
"title": "Remove In Peaceful",
|
||||
"description": "Denotes entities that are not allowed to exist in \"Peaceful\" difficulty.",
|
||||
"additionalProperties": false,
|
||||
"properties": { },
|
||||
"examples": [ { } ]
|
||||
}
|
||||
@@ -27,6 +27,12 @@
|
||||
"slot.chest",
|
||||
"slot.equippable"
|
||||
]
|
||||
},
|
||||
"hides_player_location": {
|
||||
"title": "Hides Player Location",
|
||||
"description": "Defines whether Players are hidden on the Locator Bar and Locator Maps when eqipped in the appropriate wearable slot",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.lighting.atmospherics",
|
||||
"type": "object",
|
||||
"title": "Atmospherics",
|
||||
"description": "The properties of the atmosphere",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"horizon_blend_stops": {
|
||||
"type": "object",
|
||||
"title": "Horizon Blend Stops",
|
||||
"description": "How the atmosphere is divided up",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"min": {
|
||||
"title": "Minimum Horizon Height",
|
||||
"description": "The minimum horizon height",
|
||||
"type": "number"
|
||||
},
|
||||
"start": {
|
||||
"title": "Start",
|
||||
"description": "The height relative to the horizon where the zenith contribution will take over",
|
||||
"type": "number"
|
||||
},
|
||||
"mie_start": {
|
||||
"title": "Mie Start",
|
||||
"description": "The height relative to the horizon where mie scattering begins",
|
||||
"type": "number"
|
||||
},
|
||||
"max": {
|
||||
"title": "Maximum Horizon Height",
|
||||
"description": "The maximum horizon height",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"rayleigh_strength": {
|
||||
"title": "Rayleigh Strength",
|
||||
"description": "How strong the atmosphere's rayleigh scattering term is",
|
||||
"type": "number"
|
||||
},
|
||||
"sun_mie_strength": {
|
||||
"title": "Sun Mie Strength",
|
||||
"description": "How strong the sun's mie scattering term is",
|
||||
"type": "number"
|
||||
},
|
||||
"moon_mie_strength": {
|
||||
"title": "Moon Mie Strength",
|
||||
"description": "How strong the moon's mie scattering term is",
|
||||
"type": "number"
|
||||
},
|
||||
"sun_glare_shape": {
|
||||
"title": "Sun Glare Shape",
|
||||
"description": "How the lobe of the mie scattering is shaped",
|
||||
"type": "number"
|
||||
},
|
||||
"sky_zenith_color": {
|
||||
"title": "Sky Zenith Color",
|
||||
"description": "The RGB color of the zenith region of the atmosphere",
|
||||
"$ref": "./color.json"
|
||||
},
|
||||
"sky_horizon_color": {
|
||||
"title": "Sky Horizon Color",
|
||||
"description": "The RGB color of the horizon region of the atmosphere",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.lighting.color",
|
||||
"title": "Lighting Color",
|
||||
"description": "The color of the light emitted by the block, in RGB format or hex format.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"format": "color-hex",
|
||||
"examples": ["#FFFFFF", "#000000"]
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"items": [
|
||||
{ "title": "Red", "type": "integer", "minimum": 0, "maximum": 255 },
|
||||
{ "title": "Blue", "type": "integer", "minimum": 0, "maximum": 255 },
|
||||
{ "title": "Green", "type": "integer", "minimum": 0, "maximum": 255 }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,126 +0,0 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.lighting.global",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"format_version": { "$ref": "../../general/format_version.json" },
|
||||
"directional_lights": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"title": "Directional Lights",
|
||||
"description": "The directional lights that affect the world",
|
||||
"properties": {
|
||||
"sun": {
|
||||
"type": "object",
|
||||
"title": "Sun",
|
||||
"description": "The sun directional light",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"illuminance": {
|
||||
"type": "number",
|
||||
"title": "Illuminance",
|
||||
"description": "How bright the sun is, measured in lux (lx)"
|
||||
},
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"description": "The RGB color that the sun contributes to direct surface lighting; supports RGB array or HEX string",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"moon": {
|
||||
"type": "object",
|
||||
"title": "Moon",
|
||||
"description": "The moon directional light",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"illuminance": {
|
||||
"type": "number",
|
||||
"title": "Illuminance",
|
||||
"description": "How bright the moon is, measured in lux (lx)"
|
||||
},
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"description": "The RGB color that the moon contributes to direct surface lighting; supports RGB array or HEX string",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"orbital_offset_degrees": {
|
||||
"type": "number",
|
||||
"title": "Orbital Offset Degrees",
|
||||
"description": "The rotational offset of the sun and moon from their standard orbital axis; measured in degrees"
|
||||
},
|
||||
"point_lights": {
|
||||
"type": "object",
|
||||
"title": "Point Lights",
|
||||
"description": "The point lights that affect the world",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"colors": {
|
||||
"type": "object",
|
||||
"title": "Colors",
|
||||
"description": "List of key-value pairs where the key is a namespace-qualified block name and the value is a color",
|
||||
"additionalProperties": {
|
||||
"$ref": "./color.json"
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"minecraft:stone": "#ffffff",
|
||||
"minecraft:grass": [0, 255, 0]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"pbr": {
|
||||
"title": "PBR",
|
||||
"description": "The physically-based rendering properties for the world",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"blocks": {
|
||||
"title": "Blocks",
|
||||
"description": "The PBR properties for blocks",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"description": "The default MER value to use for blocks when not defined via textureset; supports RGB array or HEX string",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actors": {
|
||||
"title": "Actors",
|
||||
"description": "The PBR properties for actors",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"description": "The default MER value to use for actors/mobs when not defined via textureset; supports RGB array or HEX string",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"particles": {
|
||||
"title": "Particles",
|
||||
"description": "The PBR properties for particles",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"color": {
|
||||
"title": "Color",
|
||||
"description": "The default MER value to use for particles when not defined via textureset; supports RGB array or HEX string",
|
||||
"$ref": "./color.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,10 @@
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "killed_by_entity" } } },
|
||||
"then": { "$ref": "./conditions/killed_by_entity.json" }
|
||||
},
|
||||
{
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "damaged_by_entity" } } },
|
||||
"then": { "$ref": "./conditions/damaged_by_entity.json" }
|
||||
},
|
||||
{
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "random_chance" } } },
|
||||
"then": { "$ref": "./conditions/random_chance.json" }
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.condition.damaged_by_entity",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Allows checking which entity type applied damage to an entity that is dropping loot.",
|
||||
"title": "Damaged By Entity",
|
||||
"properties": {
|
||||
"condition": { "type": "string", "title": "Condition", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" },
|
||||
"entity_type": {
|
||||
"title": "Entity Type",
|
||||
"description": "The entity type to match",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"title": "Height Provider",
|
||||
"description": "The type of the the height provider. These values determine the format of the start_height JSON Object.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"enum": [ "constant", "uniform" ]
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{ "if": { "properties": { "processor_type": { "const": "constant" } } }, "then": { "$ref": "./height_provider/constant.json" } },
|
||||
{ "if": { "properties": { "processor_type": { "const": "uniform" } } }, "then": { "$ref": "./height_provider/uniform.json" } }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"title": "Constant",
|
||||
"description": "Constant anchor point.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"const": "constant"
|
||||
},
|
||||
"value": {
|
||||
"$ref": "../vertical_anchor.json"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"title": "Uniform",
|
||||
"description": "When the type is \"uniform\" it now also expects two vertical anchor points to use as the minimum and maximum heights over which to perform the uniform distribution.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"const": "uniform"
|
||||
},
|
||||
"min": {
|
||||
"$ref": "../vertical_anchor.json"
|
||||
},
|
||||
"max": {
|
||||
"$ref": "../vertical_anchor.json"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"min",
|
||||
"max",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
@@ -21,7 +21,7 @@
|
||||
"description": "The description of this jigsaw.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["identifier"],
|
||||
"required": [ "identifier" ],
|
||||
"properties": {
|
||||
"identifier": {
|
||||
"title": "Identifier",
|
||||
@@ -48,16 +48,67 @@
|
||||
},
|
||||
"start_height": {
|
||||
"title": "Start Height",
|
||||
"description": "World height at which the Jigsaw Structure should begin generation.",
|
||||
"type": "integer",
|
||||
"maximum": 320,
|
||||
"minimum": -64
|
||||
"description": "Height at which the Jigsaw Structure's start_pool should begin.",
|
||||
"$ref": "./height_provider.json"
|
||||
},
|
||||
"start_pool": {
|
||||
"title": "Start Pool",
|
||||
"type": "string",
|
||||
"description": "The first Template Pool to use when generating the Jigsaw Structure."
|
||||
},
|
||||
"start_jigsaw_name": {
|
||||
"title": "Start Jigsaw Name",
|
||||
"description": "The name of the Jigsaw Block from the start_pool to be placed first.",
|
||||
"type": "string"
|
||||
},
|
||||
"max_distance_from_center": {
|
||||
"title": "Max Distance From Center",
|
||||
"description": "The max distance from the jigsaw pieces to the structure start.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 128
|
||||
},
|
||||
"pool_aliases": {
|
||||
"title": "Pool Aliases",
|
||||
"description": "Pool Aliases are used to determine which Template Pool can be a substitute.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "./pool_aliases.json"
|
||||
}
|
||||
},
|
||||
"dimension_padding": {
|
||||
"anyOf": [
|
||||
{
|
||||
"title": "Dimension Padding",
|
||||
"description": "Dimension padding prevents the structure from getting cut off at the top or bottom of the world.",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
{
|
||||
"title": "Dimension Padding",
|
||||
"description": "Dimension padding prevents the structure from getting cut off at the top or bottom of the world.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"top": {
|
||||
"title": "Top",
|
||||
"description": "Distance in blocks from the top of the dimension that may not be used by the Jigsaw Structure.",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"bottom": {
|
||||
"title": "Bottom",
|
||||
"description": "Distance in blocks from the bottom of the dimension that may not be used by the Jigsaw Structure.",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"step": {
|
||||
"title": "Step",
|
||||
"description": "Specifies the world generation phase in which the structure is generated. This is used as a grouping concept to keep similar world-generation features generally bundled together.",
|
||||
@@ -87,6 +138,12 @@
|
||||
"encapsulate",
|
||||
"none"
|
||||
]
|
||||
},
|
||||
"liquid_settings": {
|
||||
"title": "Liquid Settings",
|
||||
"description": "How to handle waterloggable blocks overlapping with existing liquid.",
|
||||
"type": "string",
|
||||
"enum": [ "apply_waterlogging", "ignore_waterlogging" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"title": "Pool Alias",
|
||||
"description": "Used to rewire jigsaw pool connections by redirecting pool references in an individual structure. Done by specifying aliases for Template Pools. This can allow for themes across a full structure.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"enum": [ "direct", "random", "random_group" ]
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{ "if": { "properties": { "processor_type": { "const": "direct" } } }, "then": { "$ref": "./pool_aliases/direct.json" } },
|
||||
{ "if": { "properties": { "processor_type": { "const": "random" } } }, "then": { "$ref": "./pool_aliases/random.json" } },
|
||||
{ "if": { "properties": { "processor_type": { "const": "random_group" } } }, "then": { "$ref": "./pool_aliases/random_group.json" } }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"title": "Direct",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"const": "direct"
|
||||
},
|
||||
"alias": {
|
||||
"title": "Alias",
|
||||
"description": "The alias of the Template Pool to replace.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"title": "Target",
|
||||
"description": "The Template Pool to substitute when matched.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"target",
|
||||
"alias",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"title": "Random",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"const": "random"
|
||||
},
|
||||
"alias": {
|
||||
"title": "Alias",
|
||||
"description": "The alias of the Template Pool to replace.",
|
||||
"type": "string"
|
||||
},
|
||||
"targets": {
|
||||
"title": "Target",
|
||||
"description": "The Template Pool to substitute when matched.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"title": "Weighted Random Item",
|
||||
"description": "A used by Weighted Random Lists.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"data": {
|
||||
"title": "Data",
|
||||
"description": "The data used when randomly selected.",
|
||||
"type": "string"
|
||||
},
|
||||
"weight": {
|
||||
"title": "Weight",
|
||||
"description": "The weight of the item relative to the total weight of all items in the list.",
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"minItems": 2,
|
||||
"maxItems": 2
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"targets",
|
||||
"alias",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"title": "Random Group",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"const": "random_group"
|
||||
},
|
||||
"groups": {
|
||||
"title": "Groups",
|
||||
"description": "A weighted random list containing items that contain pool alias items. The pool alias types can be any valid type except random_group.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"title": "Weighted Random Item",
|
||||
"description": "A used by Weighted Random Lists.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"data": {
|
||||
"title": "Data",
|
||||
"description": "The data used when randomly selected.",
|
||||
"$ref": "../pool_aliases.json"
|
||||
},
|
||||
"weight": {
|
||||
"title": "Weight",
|
||||
"description": "The weight of the item relative to the total weight of all items in the list.",
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"groups",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"title": "Vertical Anchor",
|
||||
"description": "A vertical anchor defines a point in the dimension to offset from. There are four types and each has it own individually named property",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"absolute": {
|
||||
"title": "Absolute",
|
||||
"description": "An absolute height.",
|
||||
"type": "integer"
|
||||
},
|
||||
"above_bottom": {
|
||||
"title": "Above Bottom",
|
||||
"description": "A relative height above the bottom of the dimension.",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"below_top": {
|
||||
"title": "Below Top",
|
||||
"description": "A relative height below the top of the dimension.",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"from_sea": {
|
||||
"title": "From Sea",
|
||||
"description": "A relative height starting at the dimensions sea level.",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user