sandstone 1.1.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/index.d.ts +30 -234
- package/dist/_internal/index.d.ts.map +1 -1
- package/dist/_internal/index.js +2273 -552
- package/dist/_internal/index.js.map +1 -1
- package/dist/_internal/types/arguments/generated/_builtin/block_state_keys.d.ts +175 -1
- package/dist/_internal/types/arguments/generated/_builtin/block_state_keys.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_builtin/block_states.d.ts +387 -1
- package/dist/_internal/types/arguments/generated/_builtin/block_states.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_dispatcher/block.d.ts +16 -4
- package/dist/_internal/types/arguments/generated/_dispatcher/block.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_dispatcher/resource.d.ts +27 -1
- package/dist/_internal/types/arguments/generated/_dispatcher/resource.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/advancements.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/advancements.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/atlases.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/atlases.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/attribute_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/attribute_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/block_definitions.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/block_definitions.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/block_predicate_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/block_predicate_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/block_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/blocks.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/blocks.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/command_argument_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/command_argument_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/custom_stats.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/custom_stats.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/data_component_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/data_component_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/decorated_pot_patterns.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/decorated_pot_patterns.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/entity_sub_predicate_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/entity_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/entity_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/environment_attributes.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/environment_attributes.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/fluids.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/int_provider_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/int_provider_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/item_definitions.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/item_definitions.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/items.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/items.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/langs.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/langs.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_condition_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_condition_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_function_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_function_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_number_provider_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_number_provider_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_pool_entry_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_tables.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/loot_tables.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/mob_effects.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/models.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/models.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/number_format_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/number_providers.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/number_providers.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/outgoing_rpc_methods.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/outgoing_rpc_methods.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/particle_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/particle_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/point_of_interest_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/post_effects.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/post_effects.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/potions.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/predicates.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/predicates.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/recipe_serializers.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/recipe_serializers.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/recipe_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/recipe_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/recipes.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/recipes.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/rule_tests.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/rule_tests.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/sound_events.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/sound_events.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/sounds.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/sounds.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/spawn_condition_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/structures.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/structures.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_blocks.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_blocks.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_damage_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_damage_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_entity_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_entity_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_items.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_items.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_biomes.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_biomes.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_features.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_features.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_structures.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_structures.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/textures.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/textures.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/trim_materials.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/villager_trades.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/villager_trades.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_biomes.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_biomes.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_block_state_provider_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_block_state_provider_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_carver_types.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_carver_types.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_carvers.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_carvers.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_carvers.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_features.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_density_function_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_density_function_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_density_functions.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_density_functions.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_feature_types.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_feature_types.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_features.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_features.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_foliage_placer_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_foliage_placer_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_condition_types.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_condition_types.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_conditions.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_conditions.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rule_types.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rule_types.d.ts.map +1 -0
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rules.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rules.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_noise_settings.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_noises.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_noises.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_placed_features.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_placed_features.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_placement_modifier_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_placement_modifier_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_placements.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_placements.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_sets.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_sets.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structures.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_structures.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_template_pools.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_template_pools.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_tree_decorator_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_tree_decorator_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_trunk_placer_types.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/_registry/worldgen_trunk_placer_types.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/assets/atlas.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/assets/atlas.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/assets/equipment.d.ts +7 -0
- package/dist/_internal/types/arguments/generated/assets/equipment.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/assets/item_definition.d.ts +1 -10
- package/dist/_internal/types/arguments/generated/assets/item_definition.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/assets/model.d.ts +11 -0
- package/dist/_internal/types/arguments/generated/assets/model.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/assets/texture_meta.d.ts +6 -0
- package/dist/_internal/types/arguments/generated/assets/texture_meta.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/advancement/predicate.d.ts +4 -22
- package/dist/_internal/types/arguments/generated/data/advancement/predicate.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/advancement/trigger.d.ts +27 -13
- package/dist/_internal/types/arguments/generated/data/advancement/trigger.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/advancement.d.ts +2 -1
- package/dist/_internal/types/arguments/generated/data/advancement.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/dialog.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/data/dialog.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/item_modifier.d.ts +2 -1
- package/dist/_internal/types/arguments/generated/data/item_modifier.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/loot/condition.d.ts +8 -4
- package/dist/_internal/types/arguments/generated/data/loot/condition.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/loot/function.d.ts +16 -4
- package/dist/_internal/types/arguments/generated/data/loot/function.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/loot.d.ts +30 -6
- package/dist/_internal/types/arguments/generated/data/loot.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/number_provider.d.ts +17 -4
- package/dist/_internal/types/arguments/generated/data/number_provider.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/predicate.d.ts +4 -2
- package/dist/_internal/types/arguments/generated/data/predicate.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/recipe.d.ts +4 -1
- package/dist/_internal/types/arguments/generated/data/recipe.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/slot_source.d.ts +20 -2
- package/dist/_internal/types/arguments/generated/data/slot_source.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/trim.d.ts +5 -0
- package/dist/_internal/types/arguments/generated/data/trim.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/variants/instrument.d.ts +18 -3
- package/dist/_internal/types/arguments/generated/data/variants/instrument.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/villager_trade.d.ts +9 -0
- package/dist/_internal/types/arguments/generated/data/villager_trade.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/attribute.d.ts +17 -2
- package/dist/_internal/types/arguments/generated/data/worldgen/attribute.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/biome.d.ts +3 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/biome.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/carver.d.ts +24 -6
- package/dist/_internal/types/arguments/generated/data/worldgen/carver.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/density_function.d.ts +33 -4
- package/dist/_internal/types/arguments/generated/data/worldgen/density_function.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/dimension.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/dimension.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/block_state_provider.d.ts +20 -2
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/block_state_provider.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/placement.d.ts +11 -2
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/placement.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/tree.d.ts +12 -5
- package/dist/_internal/types/arguments/generated/data/worldgen/feature/tree.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/feature.d.ts +50 -60
- package/dist/_internal/types/arguments/generated/data/worldgen/feature.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/material_condition.d.ts +3 -3
- package/dist/_internal/types/arguments/generated/data/worldgen/material_condition.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/material_rule.d.ts +3 -3
- package/dist/_internal/types/arguments/generated/data/worldgen/material_rule.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/noise_settings.d.ts +4 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/noise_settings.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen/processor_list.d.ts +14 -2
- package/dist/_internal/types/arguments/generated/data/worldgen/processor_list.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/data/worldgen.d.ts +6 -1
- package/dist/_internal/types/arguments/generated/data/worldgen.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/dispatcher.d.ts +3 -3
- package/dist/_internal/types/arguments/generated/dispatcher.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/registry-sets.d.ts +8 -5
- package/dist/_internal/types/arguments/generated/registry-sets.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/registry.d.ts +16 -10
- package/dist/_internal/types/arguments/generated/registry.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/resource-paths.d.ts +15 -0
- package/dist/_internal/types/arguments/generated/resource-paths.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/resources.d.ts +2 -2
- package/dist/_internal/types/arguments/generated/resources.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/block/brewing_stand.d.ts +15 -3
- package/dist/_internal/types/arguments/generated/world/block/brewing_stand.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/block/decorated_pot.d.ts +7 -0
- package/dist/_internal/types/arguments/generated/world/block/decorated_pot.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/block/furnace.d.ts +9 -5
- package/dist/_internal/types/arguments/generated/world/block/furnace.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/block/sign.d.ts +8 -0
- package/dist/_internal/types/arguments/generated/world/block/sign.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/component/item.d.ts +43 -10
- package/dist/_internal/types/arguments/generated/world/component/item.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/component/predicate.d.ts +1 -1
- package/dist/_internal/types/arguments/generated/world/component/predicate.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/entity/boat.d.ts +11 -1
- package/dist/_internal/types/arguments/generated/world/entity/boat.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/entity/mob/player.d.ts +2 -1
- package/dist/_internal/types/arguments/generated/world/entity/mob/player.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/entity/mob.d.ts +0 -4
- package/dist/_internal/types/arguments/generated/world/entity/mob.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/entity/projectile.d.ts +2 -0
- package/dist/_internal/types/arguments/generated/world/entity/projectile.d.ts.map +1 -1
- package/dist/_internal/types/arguments/generated/world/entity.d.ts +4 -0
- package/dist/_internal/types/arguments/generated/world/entity.d.ts.map +1 -1
- package/dist/_internal/types/commands/commands.d.ts +2 -1
- package/dist/_internal/types/commands/commands.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/block/place.d.ts +1 -1
- package/dist/_internal/types/commands/implementations/block/place.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/entity/execute.d.ts +53 -5
- package/dist/_internal/types/commands/implementations/entity/execute.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/index.d.ts +1 -0
- package/dist/_internal/types/commands/implementations/index.d.ts.map +1 -1
- package/dist/_internal/types/commands/implementations/player/posteffect.d.ts +61 -0
- package/dist/_internal/types/commands/implementations/player/posteffect.d.ts.map +1 -0
- package/dist/_internal/types/commands/implementations/server/schedule.d.ts +1 -1
- package/dist/_internal/types/commands/implementations/world/item.d.ts +73 -11
- package/dist/_internal/types/commands/implementations/world/item.d.ts.map +1 -1
- package/dist/_internal/types/core/resources/datapack/decoratedPotPattern.d.ts +25 -0
- package/dist/_internal/types/core/resources/datapack/decoratedPotPattern.d.ts.map +1 -0
- package/dist/_internal/types/core/resources/datapack/index.d.ts +2 -0
- package/dist/_internal/types/core/resources/datapack/index.d.ts.map +1 -1
- package/dist/_internal/types/core/resources/datapack/slotSource.d.ts +27 -0
- package/dist/_internal/types/core/resources/datapack/slotSource.d.ts.map +1 -0
- package/dist/_internal/types/core/resources/index.d.ts +1 -1
- package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts +13 -13
- package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts.map +1 -1
- package/dist/_internal/types/flow/Flow.d.ts +58 -18
- package/dist/_internal/types/flow/Flow.d.ts.map +1 -1
- package/dist/_internal/types/flow/conditions/index.d.ts +3 -0
- package/dist/_internal/types/flow/conditions/index.d.ts.map +1 -1
- package/dist/_internal/types/flow/conditions/resources/index.d.ts +1 -0
- package/dist/_internal/types/flow/conditions/resources/index.d.ts.map +1 -1
- package/dist/_internal/types/flow/conditions/resources/slotSource.d.ts +14 -0
- package/dist/_internal/types/flow/conditions/resources/slotSource.d.ts.map +1 -0
- package/dist/_internal/types/flow/conditions/variables/items.d.ts +40 -7
- package/dist/_internal/types/flow/conditions/variables/items.d.ts.map +1 -1
- package/dist/_internal/types/flow/loop.d.ts +1 -1
- package/dist/_internal/types/pack/index.d.ts +1 -1
- package/dist/_internal/types/pack/pack.d.ts +13 -8
- package/dist/_internal/types/pack/pack.d.ts.map +1 -1
- package/dist/_internal/types/variables/Data.d.ts +1 -1
- package/dist/_internal/types/variables/DataSets.d.ts +4 -4
- package/dist/_internal/types/variables/DataSets.d.ts.map +1 -1
- package/dist/_internal/types/variables/ResolveNBT.d.ts +2 -2
- package/dist/browser/sandstone.esm.js +2273 -552
- package/dist/browser/sandstone.esm.js.map +1 -1
- package/dist/exports/arguments/index.d.ts +1 -1
- package/dist/exports/arguments/index.js +1 -1
- package/dist/exports/commands/index.d.ts +1 -1
- package/dist/exports/commands/index.js +1 -1
- package/dist/exports/core/index.d.ts +1 -1
- package/dist/exports/core/index.js +1 -1
- package/dist/exports/flow/index.d.ts +1 -1
- package/dist/exports/flow/index.js +1 -1
- package/dist/exports/index.d.ts +1 -1
- package/dist/exports/index.js +1 -1
- package/dist/exports/variables/index.d.ts +1 -1
- package/dist/exports/variables/index.js +1 -1
- package/package.json +3 -3
- package/src/arguments/generated/_builtin/block_state_keys.ts +232 -0
- package/src/arguments/generated/_builtin/block_states.ts +444 -0
- package/src/arguments/generated/_dispatcher/block.ts +20 -4
- package/src/arguments/generated/_dispatcher/resource.ts +33 -0
- package/src/arguments/generated/_registry/advancements.ts +114 -0
- package/src/arguments/generated/_registry/atlases.ts +0 -1
- package/src/arguments/generated/_registry/attribute_types.ts +1 -0
- package/src/arguments/generated/_registry/block_definitions.ts +58 -0
- package/src/arguments/generated/_registry/block_predicate_types.ts +1 -0
- package/src/arguments/generated/_registry/blocks.ts +58 -0
- package/src/arguments/generated/_registry/command_argument_types.ts +2 -0
- package/src/arguments/generated/_registry/custom_stats.ts +1 -0
- package/src/arguments/generated/_registry/data_component_types.ts +11 -0
- package/src/arguments/generated/_registry/decorated_pot_patterns.ts +0 -1
- package/src/arguments/generated/_registry/entity_types.ts +3 -0
- package/src/arguments/generated/_registry/environment_attributes.ts +3 -0
- package/src/arguments/generated/_registry/int_provider_types.ts +1 -0
- package/src/arguments/generated/_registry/item_definitions.ts +73 -0
- package/src/arguments/generated/_registry/items.ts +73 -0
- package/src/arguments/generated/_registry/langs.ts +1 -0
- package/src/arguments/generated/_registry/loot_condition_types.ts +1 -2
- package/src/arguments/generated/_registry/loot_function_types.ts +0 -1
- package/src/arguments/generated/_registry/loot_number_provider_types.ts +3 -0
- package/src/arguments/generated/_registry/loot_tables.ts +60 -0
- package/src/arguments/generated/_registry/models.ts +170 -2
- package/src/arguments/generated/_registry/number_providers.ts +35 -0
- package/src/arguments/generated/_registry/outgoing_rpc_methods.ts +4 -0
- package/src/arguments/generated/_registry/particle_types.ts +3 -0
- package/src/arguments/generated/_registry/post_effects.ts +0 -1
- package/src/arguments/generated/_registry/predicates.ts +12 -0
- package/src/arguments/generated/_registry/recipe_serializers.ts +1 -0
- package/src/arguments/generated/_registry/recipe_types.ts +1 -0
- package/src/arguments/generated/_registry/recipes.ts +393 -0
- package/src/arguments/generated/_registry/rule_tests.ts +4 -0
- package/src/arguments/generated/_registry/sound_events.ts +23 -0
- package/src/arguments/generated/_registry/sounds.ts +98 -8
- package/src/arguments/generated/_registry/structures.ts +279 -0
- package/src/arguments/generated/_registry/tag_blocks.ts +29 -3
- package/src/arguments/generated/_registry/tag_damage_types.ts +1 -0
- package/src/arguments/generated/_registry/tag_entity_types.ts +1 -0
- package/src/arguments/generated/_registry/tag_items.ts +7 -1
- package/src/arguments/generated/_registry/tag_worldgen_biomes.ts +18 -0
- package/src/arguments/generated/_registry/tag_worldgen_features.ts +10 -0
- package/src/arguments/generated/_registry/tag_worldgen_structures.ts +1 -0
- package/src/arguments/generated/_registry/textures.ts +101 -18
- package/src/arguments/generated/_registry/villager_trades.ts +3 -0
- package/src/arguments/generated/_registry/worldgen_biomes.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_block_state_provider_types.ts +2 -0
- package/src/arguments/generated/_registry/worldgen_carver_types.ts +11 -0
- package/src/arguments/generated/_registry/worldgen_carvers.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_density_function_types.ts +9 -1
- package/src/arguments/generated/_registry/worldgen_density_functions.ts +16 -0
- package/src/arguments/generated/_registry/worldgen_feature_types.ts +68 -0
- package/src/arguments/generated/_registry/worldgen_features.ts +220 -43
- package/src/arguments/generated/_registry/worldgen_foliage_placer_types.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_material_condition_types.ts +20 -0
- package/src/arguments/generated/_registry/worldgen_material_conditions.ts +8 -11
- package/src/arguments/generated/_registry/worldgen_material_rule_types.ts +13 -0
- package/src/arguments/generated/_registry/worldgen_material_rules.ts +40 -4
- package/src/arguments/generated/_registry/worldgen_noises.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_placed_features.ts +11 -0
- package/src/arguments/generated/_registry/worldgen_placement_modifier_types.ts +3 -1
- package/src/arguments/generated/_registry/worldgen_structure_placements.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_structure_sets.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_structures.ts +18 -0
- package/src/arguments/generated/_registry/worldgen_template_pools.ts +57 -0
- package/src/arguments/generated/_registry/worldgen_tree_decorator_types.ts +1 -0
- package/src/arguments/generated/_registry/worldgen_trunk_placer_types.ts +1 -0
- package/src/arguments/generated/assets/atlas.ts +1 -1
- package/src/arguments/generated/assets/equipment.ts +7 -0
- package/src/arguments/generated/assets/item_definition.ts +0 -12
- package/src/arguments/generated/assets/model.ts +11 -0
- package/src/arguments/generated/assets/texture_meta.ts +6 -0
- package/src/arguments/generated/data/advancement/predicate.ts +9 -26
- package/src/arguments/generated/data/advancement/trigger.ts +29 -13
- package/src/arguments/generated/data/advancement.ts +2 -1
- package/src/arguments/generated/data/dialog.ts +1 -1
- package/src/arguments/generated/data/item_modifier.ts +7 -1
- package/src/arguments/generated/data/loot/condition.ts +10 -2
- package/src/arguments/generated/data/loot/function.ts +22 -4
- package/src/arguments/generated/data/loot.ts +34 -6
- package/src/arguments/generated/data/number_provider.ts +26 -4
- package/src/arguments/generated/data/predicate.ts +8 -2
- package/src/arguments/generated/data/recipe.ts +4 -0
- package/src/arguments/generated/data/slot_source.ts +23 -2
- package/src/arguments/generated/data/trim.ts +5 -0
- package/src/arguments/generated/data/variants/instrument.ts +18 -3
- package/src/arguments/generated/data/villager_trade.ts +9 -0
- package/src/arguments/generated/data/worldgen/attribute.ts +24 -1
- package/src/arguments/generated/data/worldgen/biome.ts +3 -1
- package/src/arguments/generated/data/worldgen/carver.ts +34 -7
- package/src/arguments/generated/data/worldgen/density_function.ts +41 -4
- package/src/arguments/generated/data/worldgen/dimension.ts +1 -2
- package/src/arguments/generated/data/worldgen/feature/block_state_provider.ts +21 -1
- package/src/arguments/generated/data/worldgen/feature/placement.ts +13 -1
- package/src/arguments/generated/data/worldgen/feature/tree.ts +13 -3
- package/src/arguments/generated/data/worldgen/feature.ts +59 -65
- package/src/arguments/generated/data/worldgen/material_condition.ts +7 -3
- package/src/arguments/generated/data/worldgen/material_rule.ts +7 -3
- package/src/arguments/generated/data/worldgen/noise_settings.ts +4 -1
- package/src/arguments/generated/data/worldgen/processor_list.ts +17 -2
- package/src/arguments/generated/data/worldgen.ts +7 -0
- package/src/arguments/generated/dispatcher.ts +8 -8
- package/src/arguments/generated/registry-sets.ts +14 -8
- package/src/arguments/generated/registry.ts +22 -15
- package/src/arguments/generated/resource-paths.ts +3 -0
- package/src/arguments/generated/resources.ts +6 -2
- package/src/arguments/generated/world/block/brewing_stand.ts +15 -3
- package/src/arguments/generated/world/block/decorated_pot.ts +7 -0
- package/src/arguments/generated/world/block/furnace.ts +9 -5
- package/src/arguments/generated/world/block/sign.ts +8 -0
- package/src/arguments/generated/world/component/item.ts +58 -8
- package/src/arguments/generated/world/component/predicate.ts +1 -1
- package/src/arguments/generated/world/entity/boat.ts +13 -0
- package/src/arguments/generated/world/entity/mob/player.ts +12 -1
- package/src/arguments/generated/world/entity/mob.ts +0 -4
- package/src/arguments/generated/world/entity/projectile.ts +2 -0
- package/src/arguments/generated/world/entity.ts +4 -0
- package/src/commands/commands.ts +5 -0
- package/src/commands/implementations/block/place.ts +1 -1
- package/src/commands/implementations/entity/execute.ts +65 -8
- package/src/commands/implementations/index.ts +1 -0
- package/src/commands/implementations/player/posteffect.ts +75 -0
- package/src/commands/implementations/world/item.ts +96 -19
- package/src/core/resources/datapack/{decoratedPotPattern.ts.disable → decoratedPotPattern.ts} +3 -3
- package/src/core/resources/datapack/index.ts +2 -2
- package/src/core/resources/datapack/itemModifier.ts +2 -2
- package/src/core/resources/datapack/{slotSource.ts.disable → slotSource.ts} +15 -4
- package/src/core/resources/resourcepack/blockstate.ts +32 -32
- package/src/flow/Flow.ts +67 -15
- package/src/flow/conditions/index.ts +3 -0
- package/src/flow/conditions/resources/index.ts +1 -0
- package/src/flow/conditions/resources/slotSource.ts +21 -0
- package/src/flow/conditions/variables/items.ts +53 -5
- package/src/pack/pack.ts +37 -35
- package/src/sandstone.ts +52 -15
- package/src/variables/DataSets.ts +4 -4
|
@@ -6,115 +6,115 @@ import type { ListResource, ResourceClassArguments, ResourceNode } from '../reso
|
|
|
6
6
|
import { ResourceClass, jsonStringify } from '../resource'
|
|
7
7
|
import type { AllKeys } from 'sandstone/utils'
|
|
8
8
|
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
9
|
+
export type BlockStateDefinitionJSON = NonNullable<MCDocToJSON<SymbolResource['block_definition']>>
|
|
10
|
+
export type BlockStateDefinitionType = AllKeys<BlockStateDefinitionJSON>
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* A node representing a Minecraft block state.
|
|
13
|
+
* A node representing a Minecraft block state definition.
|
|
14
14
|
*/
|
|
15
|
-
export class
|
|
15
|
+
export class BlockStateDefinitionNode<JSON extends BlockStateDefinitionJSON>
|
|
16
16
|
extends ContainerNode
|
|
17
|
-
implements ResourceNode<
|
|
17
|
+
implements ResourceNode<BlockStateDefinitionClass<JSON>> {
|
|
18
18
|
constructor(
|
|
19
19
|
sandstoneCore: SandstoneCore,
|
|
20
|
-
public resource:
|
|
20
|
+
public resource: BlockStateDefinitionClass<JSON>,
|
|
21
21
|
) {
|
|
22
22
|
super(sandstoneCore)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
getValue = () => jsonStringify(this.resource.
|
|
25
|
+
getValue = () => jsonStringify(this.resource.blockStateDefinitionJSON, this.resource._resourceType as keyof typeof RESOURCE_PATHS)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type
|
|
28
|
+
export type BlockStateDefinitionArguments<JSON extends BlockStateDefinitionJSON> = {
|
|
29
29
|
/**
|
|
30
|
-
* The block state's JSON.
|
|
30
|
+
* The block state definition's JSON.
|
|
31
31
|
*/
|
|
32
32
|
json: JSON
|
|
33
33
|
} & ResourceClassArguments<'list'>
|
|
34
34
|
|
|
35
|
-
export class
|
|
36
|
-
extends ResourceClass<
|
|
35
|
+
export class BlockStateDefinitionClass<JSON extends BlockStateDefinitionJSON, Type = Extract<AllKeys<JSON>, BlockStateDefinitionType>>
|
|
36
|
+
extends ResourceClass<BlockStateDefinitionNode<JSON>>
|
|
37
37
|
implements ListResource {
|
|
38
38
|
static readonly resourceType = 'block_definition'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
blockStateDefinitionJSON: JSON
|
|
41
41
|
|
|
42
42
|
type: Type
|
|
43
43
|
|
|
44
44
|
constructor(
|
|
45
45
|
core: SandstoneCore,
|
|
46
46
|
name: string,
|
|
47
|
-
args:
|
|
47
|
+
args: BlockStateDefinitionArguments<JSON>,
|
|
48
48
|
) {
|
|
49
49
|
super(
|
|
50
50
|
core,
|
|
51
51
|
{ packType: core.pack.resourcePack() },
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
core.pack.resourceToPath(name, RESOURCE_PATHS[
|
|
52
|
+
BlockStateDefinitionNode,
|
|
53
|
+
BlockStateDefinitionClass.resourceType,
|
|
54
|
+
core.pack.resourceToPath(name, RESOURCE_PATHS[BlockStateDefinitionClass.resourceType].path),
|
|
55
55
|
args,
|
|
56
56
|
)
|
|
57
57
|
|
|
58
|
-
this.
|
|
58
|
+
this.blockStateDefinitionJSON = args.json
|
|
59
59
|
|
|
60
|
-
this.type = Object.keys(this.
|
|
60
|
+
this.type = Object.keys(this.blockStateDefinitionJSON)[0] as Type
|
|
61
61
|
|
|
62
62
|
this.handleConflicts()
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
push(...states:
|
|
65
|
+
push(...states: BlockStateDefinitionClass<any, Type>[] | BlockStateDefinitionJSON[]) {
|
|
66
66
|
if (this.type === 'variants') {
|
|
67
|
-
if (states[0] instanceof
|
|
67
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
68
68
|
for (const state of states) {
|
|
69
69
|
/** @ts-ignore */
|
|
70
|
-
this.
|
|
70
|
+
this.blockStateDefinitionJSON.variants = { ...this.blockStateDefinitionJSON.variants, ...state.blockStateDefinitionJSON.variants }
|
|
71
71
|
}
|
|
72
72
|
} else {
|
|
73
73
|
for (const state of states) {
|
|
74
74
|
/** @ts-ignore */
|
|
75
|
-
this.
|
|
75
|
+
this.blockStateDefinitionJSON.variants = { ...this.blockStateDefinitionJSON.variants, ...state.variants }
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
if (this.type === 'multipart') {
|
|
80
|
-
if (states[0] instanceof
|
|
80
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
81
81
|
for (const state of states) {
|
|
82
82
|
/** @ts-ignore */
|
|
83
|
-
this.
|
|
83
|
+
this.blockStateDefinitionJSON.multipart.push(...state.blockStateDefinitionJSON.multipart)
|
|
84
84
|
}
|
|
85
85
|
} else {
|
|
86
86
|
for (const state of states) {
|
|
87
87
|
/** @ts-ignore */
|
|
88
|
-
this.
|
|
88
|
+
this.blockStateDefinitionJSON.multipart.push(...state.multipart)
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
unshift(...states:
|
|
94
|
+
unshift(...states: BlockStateDefinitionClass<any, Type>[] | BlockStateDefinitionJSON[]) {
|
|
95
95
|
if (this.type === 'variants') {
|
|
96
|
-
if (states[0] instanceof
|
|
96
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
97
97
|
for (const state of states) {
|
|
98
98
|
/** @ts-ignore */
|
|
99
|
-
this.
|
|
99
|
+
this.blockStateDefinitionJSON.variants = { ...state.blockStateDefinitionJSON.variants, ...this.blockStateDefinitionJSON.variants }
|
|
100
100
|
}
|
|
101
101
|
} else {
|
|
102
102
|
for (const state of states) {
|
|
103
103
|
/** @ts-ignore */
|
|
104
|
-
this.
|
|
104
|
+
this.blockStateDefinitionJSON.variants = { ...state.variants, ...this.blockStateDefinitionJSON.variants }
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
if (this.type === 'multipart') {
|
|
109
|
-
if (states[0] instanceof
|
|
109
|
+
if (states[0] instanceof BlockStateDefinitionClass) {
|
|
110
110
|
for (const state of states) {
|
|
111
111
|
/** @ts-ignore */
|
|
112
|
-
this.
|
|
112
|
+
this.blockStateDefinitionJSON.multipart.unshift(...state.blockStateDefinitionJSON.multipart)
|
|
113
113
|
}
|
|
114
114
|
} else {
|
|
115
115
|
for (const state of states) {
|
|
116
116
|
/** @ts-ignore */
|
|
117
|
-
this.
|
|
117
|
+
this.blockStateDefinitionJSON.multipart.unshift(...state.multipart)
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
package/src/flow/Flow.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
Registry,
|
|
3
|
-
ContainerSlotSelector,
|
|
4
3
|
Coordinates,
|
|
5
|
-
EntitySlotSelector,
|
|
6
4
|
JSONTextComponent,
|
|
7
5
|
MultipleEntitiesArgument,
|
|
8
6
|
MultiplePlayersArgument,
|
|
@@ -11,6 +9,7 @@ import type {
|
|
|
11
9
|
SymbolBlock,
|
|
12
10
|
SymbolMcdocBlockStates,
|
|
13
11
|
} from 'sandstone/arguments'
|
|
12
|
+
import type { ItemSlotSource } from '../commands/implementations/world/item'
|
|
14
13
|
import type {
|
|
15
14
|
ConditionClass,
|
|
16
15
|
DataPointClass,
|
|
@@ -21,7 +20,7 @@ import type {
|
|
|
21
20
|
import { parseJSONText, Score } from 'sandstone/variables'
|
|
22
21
|
import type { DataPointPickClass, MCFunctionClass, PredicateClass, SandstoneCore } from '../core'
|
|
23
22
|
import type { LiteralUnion, NamespacedLiteralUnion } from '../utils'
|
|
24
|
-
import { AndNode, ConditionNode, NotNode, OrNode, SandstoneConditions, type BlockConditionNode, type ItemsBlockConditionNode, type ItemsEntityConditionNode } from './conditions'
|
|
23
|
+
import { AndNode, ConditionNode, NotNode, OrNode, SandstoneConditions, type BlockConditionNode, type ItemsBlockConditionNode, type ItemsEntityConditionNode, type SlotsBlockConditionNode, type SlotsEntityConditionNode } from './conditions'
|
|
25
24
|
import type { ItemPredicate } from './conditions/variables/items'
|
|
26
25
|
import { IfStatement } from './if_else'
|
|
27
26
|
import type { ForOfIterator } from './loops'
|
|
@@ -58,17 +57,37 @@ export class Flow {
|
|
|
58
57
|
if = (condition: Condition, callback: () => void) =>
|
|
59
58
|
new IfStatement(this.sandstoneCore, conditionToNode(condition), callback)
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Combine conditions with AND.
|
|
62
|
+
*
|
|
63
|
+
* Accepts either variadic conditions (`_.and(a, b, c)`) or a single array
|
|
64
|
+
* (`_.and([a, b, c])`, useful for `Array.prototype.map` results).
|
|
65
|
+
*/
|
|
66
|
+
and(...conditions: Condition[]): AndNode
|
|
67
|
+
and(conditions: Condition[]): AndNode
|
|
68
|
+
and(...args: any[]): AndNode {
|
|
69
|
+
const conditions = (args[0] instanceof Array ? args[0] : args) as Condition[]
|
|
70
|
+
return new AndNode(
|
|
63
71
|
this.sandstoneCore,
|
|
64
72
|
conditions.map((condition) => conditionToNode(condition)),
|
|
65
73
|
)
|
|
74
|
+
}
|
|
66
75
|
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Combine conditions with OR.
|
|
78
|
+
*
|
|
79
|
+
* Accepts either variadic conditions (`_.or(a, b, c)`) or a single array
|
|
80
|
+
* (`_.or([a, b, c])`, useful for `Array.prototype.map` results).
|
|
81
|
+
*/
|
|
82
|
+
or(...conditions: Condition[]): OrNode
|
|
83
|
+
or(conditions: Condition[]): OrNode
|
|
84
|
+
or(...args: any[]): OrNode {
|
|
85
|
+
const conditions = (args[0] instanceof Array ? args[0] : args) as Condition[]
|
|
86
|
+
return new OrNode(
|
|
69
87
|
this.sandstoneCore,
|
|
70
88
|
conditions.map((condition) => conditionToNode(condition)),
|
|
71
89
|
)
|
|
90
|
+
}
|
|
72
91
|
|
|
73
92
|
not = (condition: Condition) => new NotNode(this.sandstoneCore, conditionToNode(condition))
|
|
74
93
|
|
|
@@ -466,24 +485,57 @@ export class Flow {
|
|
|
466
485
|
* Test for items in a block entity's inventory slots.
|
|
467
486
|
*
|
|
468
487
|
* @param sourcePos Position of the block entity to test.
|
|
469
|
-
* @param
|
|
488
|
+
* @param slotSource Slot source to test (e.g., `'container.*'`, inline slot source, or a slot source reference).
|
|
470
489
|
* @param itemPredicate Item predicate to match against.
|
|
471
490
|
*/
|
|
472
|
-
block: (sourcePos: Coordinates,
|
|
491
|
+
block: (sourcePos: Coordinates, slotSource: ItemSlotSource, itemPredicate: ItemPredicate) => ItemsBlockConditionNode
|
|
473
492
|
/**
|
|
474
493
|
* Test for items in an entity's inventory slots.
|
|
475
494
|
*
|
|
476
495
|
* @param source Entity to test.
|
|
477
|
-
* @param
|
|
496
|
+
* @param slotSource Slot source to test (e.g., `'inventory.*'`, inline slot source, or a slot source reference).
|
|
478
497
|
* @param itemPredicate Item predicate to match against.
|
|
479
498
|
*/
|
|
480
|
-
entity: (source: MultipleEntitiesArgument,
|
|
499
|
+
entity: (source: MultipleEntitiesArgument, slotSource: ItemSlotSource, itemPredicate: ItemPredicate) => ItemsEntityConditionNode
|
|
500
|
+
} {
|
|
501
|
+
return {
|
|
502
|
+
block: (sourcePos: Coordinates, slotSource: ItemSlotSource, itemPredicate: ItemPredicate) =>
|
|
503
|
+
new SandstoneConditions.ItemsBlock(this.sandstoneCore, sourcePos, slotSource, itemPredicate),
|
|
504
|
+
entity: (source: MultipleEntitiesArgument, slotSource: ItemSlotSource, itemPredicate: ItemPredicate) =>
|
|
505
|
+
new SandstoneConditions.ItemsEntity(this.sandstoneCore, source, slotSource, itemPredicate),
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Counts slots from a slot source that are present in a block entity or entity.
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* ```ts
|
|
514
|
+
* _.if(_.slots.entity('@p', 'inventory.*'), () => { ... })
|
|
515
|
+
* _.if(_.slots.block(abs(0, 64, 0), { type: 'minecraft:slot_range', slots: 'armor.chest' }), () => { ... })
|
|
516
|
+
* ```
|
|
517
|
+
*/
|
|
518
|
+
get slots(): {
|
|
519
|
+
/**
|
|
520
|
+
* Count slots from a slot source that are present in a block entity.
|
|
521
|
+
*
|
|
522
|
+
* @param sourcePos Position of the block entity to test.
|
|
523
|
+
* @param slotSource Slot source (e.g., `'container.*'`, inline slot source, or a slot source reference).
|
|
524
|
+
*/
|
|
525
|
+
block: (sourcePos: Coordinates, slotSource: ItemSlotSource) => SlotsBlockConditionNode
|
|
526
|
+
/**
|
|
527
|
+
* Count slots from a slot source that are present in an entity.
|
|
528
|
+
*
|
|
529
|
+
* @param source Entity to test.
|
|
530
|
+
* @param slotSource Slot source (e.g., `'inventory.*'`, inline slot source, or a slot source reference).
|
|
531
|
+
*/
|
|
532
|
+
entity: (source: MultipleEntitiesArgument, slotSource: ItemSlotSource) => SlotsEntityConditionNode
|
|
481
533
|
} {
|
|
482
534
|
return {
|
|
483
|
-
block: (sourcePos: Coordinates,
|
|
484
|
-
new SandstoneConditions.
|
|
485
|
-
entity: (source: MultipleEntitiesArgument,
|
|
486
|
-
new SandstoneConditions.
|
|
535
|
+
block: (sourcePos: Coordinates, slotSource: ItemSlotSource) =>
|
|
536
|
+
new SandstoneConditions.SlotsBlock(this.sandstoneCore, sourcePos, slotSource),
|
|
537
|
+
entity: (source: MultipleEntitiesArgument, slotSource: ItemSlotSource) =>
|
|
538
|
+
new SandstoneConditions.SlotsEntity(this.sandstoneCore, source, slotSource),
|
|
487
539
|
}
|
|
488
540
|
}
|
|
489
541
|
|
|
@@ -11,6 +11,7 @@ import * as variables from './variables'
|
|
|
11
11
|
export const SandstoneConditions = {
|
|
12
12
|
Advancement: resources.AdvancementConditionNode,
|
|
13
13
|
Predicate: resources.PredicateConditionNode,
|
|
14
|
+
SlotSource: resources.SlotSourceConditionNode,
|
|
14
15
|
Tag: resources.TagConditionNode,
|
|
15
16
|
|
|
16
17
|
Biome: variables.BiomeConditionNode,
|
|
@@ -20,6 +21,8 @@ export const SandstoneConditions = {
|
|
|
20
21
|
Function: variables.FunctionConditionNode,
|
|
21
22
|
ItemsBlock: variables.ItemsBlockConditionNode,
|
|
22
23
|
ItemsEntity: variables.ItemsEntityConditionNode,
|
|
24
|
+
SlotsBlock: variables.SlotsBlockConditionNode,
|
|
25
|
+
SlotsEntity: variables.SlotsEntityConditionNode,
|
|
23
26
|
Loaded: variables.LoadedConditionNode,
|
|
24
27
|
DataPointExists: variables.DataPointExistsConditionNode,
|
|
25
28
|
DataPointEquals: variables.DataPointEqualsConditionNode,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SandstoneCore } from 'sandstone/core'
|
|
2
|
+
import { SingleConditionNode } from '../condition'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Condition node representing a slot source being tested against `@s`.
|
|
6
|
+
*
|
|
7
|
+
* Expands to `execute if slots entity @s <slotSource>`, which counts the number of slots from
|
|
8
|
+
* the slot source that are present on the executing entity.
|
|
9
|
+
*/
|
|
10
|
+
export class SlotSourceConditionNode extends SingleConditionNode {
|
|
11
|
+
constructor(
|
|
12
|
+
sandstoneCore: SandstoneCore,
|
|
13
|
+
public slotSource: string,
|
|
14
|
+
) {
|
|
15
|
+
super(sandstoneCore)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getCondition(): unknown[] {
|
|
19
|
+
return ['slots', 'entity', '@s', this.slotSource]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Coordinates,
|
|
1
|
+
import type { Coordinates, MultipleEntitiesArgument, Registry } from 'sandstone/arguments'
|
|
2
2
|
import type { SandstoneCore } from 'sandstone/core/sandstoneCore'
|
|
3
3
|
import { coordinatesParser, targetParser } from 'sandstone/variables'
|
|
4
4
|
import type { ItemPredicateClass } from 'sandstone/variables/ItemPredicate'
|
|
5
|
+
import type { ItemSlotSource } from '../../../commands/implementations/world/item'
|
|
5
6
|
import { SingleConditionNode } from '../condition'
|
|
6
7
|
|
|
7
8
|
/** Item predicate for matching items in inventory slots. */
|
|
@@ -14,20 +15,23 @@ export type ItemPredicate = Registry['minecraft:item'] | ItemPredicateClass
|
|
|
14
15
|
* ```ts
|
|
15
16
|
* // Check if chest has any diamonds
|
|
16
17
|
* _.if(_.items.block(abs(0, 64, 0), 'container.*', 'minecraft:diamond'), () => { ... })
|
|
18
|
+
*
|
|
19
|
+
* // Check using an inline slot source
|
|
20
|
+
* _.if(_.items.block(abs(0, 64, 0), { type: 'minecraft:slot_range', slots: 'container.0' }, 'minecraft:diamond'), () => { ... })
|
|
17
21
|
* ```
|
|
18
22
|
*/
|
|
19
23
|
export class ItemsBlockConditionNode extends SingleConditionNode {
|
|
20
24
|
constructor(
|
|
21
25
|
sandstoneCore: SandstoneCore,
|
|
22
26
|
private sourcePos: Coordinates,
|
|
23
|
-
private
|
|
27
|
+
private slotSource: ItemSlotSource,
|
|
24
28
|
private itemPredicate: ItemPredicate,
|
|
25
29
|
) {
|
|
26
30
|
super(sandstoneCore)
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
getCondition() {
|
|
30
|
-
return ['items', 'block', coordinatesParser(this.sourcePos), this.
|
|
34
|
+
return ['items', 'block', coordinatesParser(this.sourcePos), this.slotSource, `${this.itemPredicate}`]
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
|
|
@@ -44,13 +48,57 @@ export class ItemsEntityConditionNode extends SingleConditionNode {
|
|
|
44
48
|
constructor(
|
|
45
49
|
sandstoneCore: SandstoneCore,
|
|
46
50
|
private source: MultipleEntitiesArgument,
|
|
47
|
-
private
|
|
51
|
+
private slotSource: ItemSlotSource,
|
|
48
52
|
private itemPredicate: ItemPredicate,
|
|
49
53
|
) {
|
|
50
54
|
super(sandstoneCore)
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
getCondition() {
|
|
54
|
-
return ['items', 'entity', targetParser(this.source), this.
|
|
58
|
+
return ['items', 'entity', targetParser(this.source), this.slotSource, `${this.itemPredicate}`]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Condition node for counting slots from a slot source on a block entity.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* _.if(_.slots.block(abs(0, 64, 0), 'container.*'), () => { ... })
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export class SlotsBlockConditionNode extends SingleConditionNode {
|
|
71
|
+
constructor(
|
|
72
|
+
sandstoneCore: SandstoneCore,
|
|
73
|
+
private sourcePos: Coordinates,
|
|
74
|
+
private slotSource: ItemSlotSource,
|
|
75
|
+
) {
|
|
76
|
+
super(sandstoneCore)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
getCondition() {
|
|
80
|
+
return ['slots', 'block', coordinatesParser(this.sourcePos), this.slotSource]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Condition node for counting slots from a slot source on an entity.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* _.if(_.slots.entity('@p', 'inventory.*'), () => { ... })
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export class SlotsEntityConditionNode extends SingleConditionNode {
|
|
93
|
+
constructor(
|
|
94
|
+
sandstoneCore: SandstoneCore,
|
|
95
|
+
private source: MultipleEntitiesArgument,
|
|
96
|
+
private slotSource: ItemSlotSource,
|
|
97
|
+
) {
|
|
98
|
+
super(sandstoneCore)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
getCondition() {
|
|
102
|
+
return ['slots', 'entity', targetParser(this.source), this.slotSource]
|
|
55
103
|
}
|
|
56
104
|
}
|
package/src/pack/pack.ts
CHANGED
|
@@ -24,12 +24,12 @@ import type {
|
|
|
24
24
|
AdvancementClassArguments,
|
|
25
25
|
AtlasClassArguments,
|
|
26
26
|
BannerPatternClassArguments,
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
BlockStateDefinitionArguments,
|
|
28
|
+
BlockStateDefinitionJSON,
|
|
29
29
|
ChatTypeClassArguments,
|
|
30
30
|
DamageTypeClassArguments,
|
|
31
31
|
DataPointPickClass,
|
|
32
|
-
|
|
32
|
+
DecoratedPotPatternClassArguments,
|
|
33
33
|
DialogClassArguments,
|
|
34
34
|
EnchantmentClassArguments,
|
|
35
35
|
EnchantmentProviderClassArguments,
|
|
@@ -52,7 +52,7 @@ import type {
|
|
|
52
52
|
PredicateClassArguments,
|
|
53
53
|
RecipeClassArguments,
|
|
54
54
|
ShaderClassArguments,
|
|
55
|
-
|
|
55
|
+
SlotSourceClassArguments,
|
|
56
56
|
SoundEventArguments,
|
|
57
57
|
SoundsIndexArguments,
|
|
58
58
|
SulfurCubeArchetypeClassArguments,
|
|
@@ -76,10 +76,10 @@ import {
|
|
|
76
76
|
AdvancementClass,
|
|
77
77
|
AtlasClass,
|
|
78
78
|
BannerPatternClass,
|
|
79
|
-
|
|
79
|
+
BlockStateDefinitionClass,
|
|
80
80
|
ChatTypeClass,
|
|
81
81
|
DamageTypeClass,
|
|
82
|
-
|
|
82
|
+
DecoratedPotPatternClass,
|
|
83
83
|
DialogClass,
|
|
84
84
|
EnchantmentClass,
|
|
85
85
|
EnchantmentProviderClass,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
RecipeClass,
|
|
103
103
|
SandstoneCore,
|
|
104
104
|
ShaderClass,
|
|
105
|
-
|
|
105
|
+
SlotSourceClass,
|
|
106
106
|
SoundEventClass,
|
|
107
107
|
SoundsIndexClass,
|
|
108
108
|
SulfurCubeArchetypeClass,
|
|
@@ -140,9 +140,11 @@ import type {
|
|
|
140
140
|
} from 'sandstone/variables'
|
|
141
141
|
import {
|
|
142
142
|
coordinatesParser,
|
|
143
|
-
|
|
143
|
+
DataArrayType,
|
|
144
|
+
DataArrayInternal,
|
|
144
145
|
DataClass,
|
|
145
|
-
|
|
146
|
+
DataIndexMapType,
|
|
147
|
+
DataIndexMapInternal,
|
|
146
148
|
DataPointClass,
|
|
147
149
|
ItemPredicateClass,
|
|
148
150
|
LabelClass,
|
|
@@ -316,11 +318,11 @@ export class SandstonePack {
|
|
|
316
318
|
}
|
|
317
319
|
return {
|
|
318
320
|
datapack: {
|
|
319
|
-
packFormat:
|
|
321
|
+
packFormat: 112,
|
|
320
322
|
description: 'A Sandstone datapack',
|
|
321
323
|
},
|
|
322
324
|
resourcepack: {
|
|
323
|
-
packFormat:
|
|
325
|
+
packFormat: 93,
|
|
324
326
|
description: 'A Sandstone resource pack',
|
|
325
327
|
},
|
|
326
328
|
}
|
|
@@ -446,7 +448,7 @@ export class SandstonePack {
|
|
|
446
448
|
let pack = this.packTypes.get('datapack') as DataPack
|
|
447
449
|
|
|
448
450
|
if (!pack) {
|
|
449
|
-
const options = this.packOptions.datapack ?? { packFormat:
|
|
451
|
+
const options = this.packOptions.datapack ?? { packFormat: 112, description: 'A Sandstone datapack' }
|
|
450
452
|
pack = this.packTypes.set('datapack', new DataPack(false, options)).get('datapack') as DataPack
|
|
451
453
|
}
|
|
452
454
|
|
|
@@ -457,7 +459,7 @@ export class SandstonePack {
|
|
|
457
459
|
let pack = this.packTypes.get('resourcepack') as ResourcePack
|
|
458
460
|
|
|
459
461
|
if (!pack) {
|
|
460
|
-
const options = this.packOptions.resourcepack ?? { packFormat:
|
|
462
|
+
const options = this.packOptions.resourcepack ?? { packFormat: 93, description: 'A Sandstone resource pack' }
|
|
461
463
|
pack = this.packTypes
|
|
462
464
|
.set('resourcepack', new ResourcePack(options))
|
|
463
465
|
.get('resourcepack') as ResourcePack
|
|
@@ -832,14 +834,14 @@ export class SandstonePack {
|
|
|
832
834
|
initialize: INITIAL,
|
|
833
835
|
dataPoint?: DataPointClass<'storage'>,
|
|
834
836
|
) {
|
|
835
|
-
return
|
|
837
|
+
return DataIndexMapInternal(this, initialize, dataPoint) as DataIndexMapType<INITIAL>
|
|
836
838
|
}
|
|
837
839
|
|
|
838
840
|
DataArray<INITIAL extends readonly NBTObject[] | readonly [string, DataPointClass | DataPointPickClass]>(
|
|
839
841
|
initialize: INITIAL,
|
|
840
842
|
dataPoint?: DataPointClass<'storage'>,
|
|
841
843
|
) {
|
|
842
|
-
return
|
|
844
|
+
return DataArrayInternal(this, initialize, dataPoint) as DataArrayType<INITIAL>
|
|
843
845
|
}
|
|
844
846
|
|
|
845
847
|
getTempStorage = (name: string) => {
|
|
@@ -1123,14 +1125,14 @@ export class SandstonePack {
|
|
|
1123
1125
|
...options,
|
|
1124
1126
|
})
|
|
1125
1127
|
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1128
|
+
DecoratedPotPattern = (name: string, decoratedPotPattern: DecoratedPotPatternClassArguments['json'], options?: Omit<Partial<DecoratedPotPatternClassArguments>, 'json'>) =>
|
|
1129
|
+
new DecoratedPotPatternClass(this.core, name, {
|
|
1130
|
+
json: decoratedPotPattern,
|
|
1131
|
+
creator: 'user',
|
|
1132
|
+
addToSandstoneCore: true,
|
|
1133
|
+
onConflict: conflictDefaults('decorated_pot_pattern') as DecoratedPotPatternClassArguments['onConflict'],
|
|
1134
|
+
...options,
|
|
1135
|
+
})
|
|
1134
1136
|
|
|
1135
1137
|
ItemModifier = (name: string, itemModifier: ItemModifierClassArguments['json'], options?: Omit<Partial<ItemModifierClassArguments>, 'json'>) =>
|
|
1136
1138
|
new ItemModifierClass(this.core, name, {
|
|
@@ -1172,14 +1174,14 @@ export class SandstonePack {
|
|
|
1172
1174
|
...options,
|
|
1173
1175
|
})
|
|
1174
1176
|
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1177
|
+
SlotSource = (name: string, slotSource: SlotSourceClassArguments['json'], options?: Omit<Partial<SlotSourceClassArguments>, 'json'>) =>
|
|
1178
|
+
new SlotSourceClass(this.core, name, {
|
|
1179
|
+
json: slotSource,
|
|
1180
|
+
creator: 'user',
|
|
1181
|
+
addToSandstoneCore: true,
|
|
1182
|
+
onConflict: conflictDefaults('slot_source') as SlotSourceClassArguments['onConflict'],
|
|
1183
|
+
...options,
|
|
1184
|
+
})
|
|
1183
1185
|
|
|
1184
1186
|
SulfurCubeArchetype = (name: string, sulfurCubeArchetype: SulfurCubeArchetypeClassArguments['json'], options?: Omit<Partial<SulfurCubeArchetypeClassArguments>, 'json'>) =>
|
|
1185
1187
|
new SulfurCubeArchetypeClass(this.core, name, {
|
|
@@ -1366,16 +1368,16 @@ export class SandstonePack {
|
|
|
1366
1368
|
...options,
|
|
1367
1369
|
})
|
|
1368
1370
|
|
|
1369
|
-
|
|
1371
|
+
BlockStateDefinition<JSON extends BlockStateDefinitionJSON>(
|
|
1370
1372
|
name: string,
|
|
1371
1373
|
json: JSON,
|
|
1372
|
-
options?: Omit<Partial<
|
|
1374
|
+
options?: Omit<Partial<BlockStateDefinitionArguments<JSON>>, 'json'>,
|
|
1373
1375
|
) {
|
|
1374
|
-
return new
|
|
1376
|
+
return new BlockStateDefinitionClass(this.core, name, {
|
|
1375
1377
|
json,
|
|
1376
1378
|
creator: 'user',
|
|
1377
1379
|
addToSandstoneCore: true,
|
|
1378
|
-
onConflict: conflictDefaults('blockstate') as
|
|
1380
|
+
onConflict: conflictDefaults('blockstate') as BlockStateDefinitionArguments<JSON>['onConflict'],
|
|
1379
1381
|
...options,
|
|
1380
1382
|
})
|
|
1381
1383
|
}
|