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.
Files changed (445) hide show
  1. package/dist/_internal/index.d.ts +30 -234
  2. package/dist/_internal/index.d.ts.map +1 -1
  3. package/dist/_internal/index.js +2273 -552
  4. package/dist/_internal/index.js.map +1 -1
  5. package/dist/_internal/types/arguments/generated/_builtin/block_state_keys.d.ts +175 -1
  6. package/dist/_internal/types/arguments/generated/_builtin/block_state_keys.d.ts.map +1 -1
  7. package/dist/_internal/types/arguments/generated/_builtin/block_states.d.ts +387 -1
  8. package/dist/_internal/types/arguments/generated/_builtin/block_states.d.ts.map +1 -1
  9. package/dist/_internal/types/arguments/generated/_dispatcher/block.d.ts +16 -4
  10. package/dist/_internal/types/arguments/generated/_dispatcher/block.d.ts.map +1 -1
  11. package/dist/_internal/types/arguments/generated/_dispatcher/resource.d.ts +27 -1
  12. package/dist/_internal/types/arguments/generated/_dispatcher/resource.d.ts.map +1 -1
  13. package/dist/_internal/types/arguments/generated/_registry/advancements.d.ts +1 -1
  14. package/dist/_internal/types/arguments/generated/_registry/advancements.d.ts.map +1 -1
  15. package/dist/_internal/types/arguments/generated/_registry/atlases.d.ts +1 -1
  16. package/dist/_internal/types/arguments/generated/_registry/atlases.d.ts.map +1 -1
  17. package/dist/_internal/types/arguments/generated/_registry/attribute_types.d.ts +1 -1
  18. package/dist/_internal/types/arguments/generated/_registry/attribute_types.d.ts.map +1 -1
  19. package/dist/_internal/types/arguments/generated/_registry/block_definitions.d.ts +1 -1
  20. package/dist/_internal/types/arguments/generated/_registry/block_definitions.d.ts.map +1 -1
  21. package/dist/_internal/types/arguments/generated/_registry/block_predicate_types.d.ts +1 -1
  22. package/dist/_internal/types/arguments/generated/_registry/block_predicate_types.d.ts.map +1 -1
  23. package/dist/_internal/types/arguments/generated/_registry/block_types.d.ts +1 -1
  24. package/dist/_internal/types/arguments/generated/_registry/blocks.d.ts +1 -1
  25. package/dist/_internal/types/arguments/generated/_registry/blocks.d.ts.map +1 -1
  26. package/dist/_internal/types/arguments/generated/_registry/command_argument_types.d.ts +1 -1
  27. package/dist/_internal/types/arguments/generated/_registry/command_argument_types.d.ts.map +1 -1
  28. package/dist/_internal/types/arguments/generated/_registry/custom_stats.d.ts +1 -1
  29. package/dist/_internal/types/arguments/generated/_registry/custom_stats.d.ts.map +1 -1
  30. package/dist/_internal/types/arguments/generated/_registry/data_component_types.d.ts +1 -1
  31. package/dist/_internal/types/arguments/generated/_registry/data_component_types.d.ts.map +1 -1
  32. package/dist/_internal/types/arguments/generated/_registry/decorated_pot_patterns.d.ts +1 -1
  33. package/dist/_internal/types/arguments/generated/_registry/decorated_pot_patterns.d.ts.map +1 -1
  34. package/dist/_internal/types/arguments/generated/_registry/entity_sub_predicate_types.d.ts +1 -1
  35. package/dist/_internal/types/arguments/generated/_registry/entity_types.d.ts +1 -1
  36. package/dist/_internal/types/arguments/generated/_registry/entity_types.d.ts.map +1 -1
  37. package/dist/_internal/types/arguments/generated/_registry/environment_attributes.d.ts +1 -1
  38. package/dist/_internal/types/arguments/generated/_registry/environment_attributes.d.ts.map +1 -1
  39. package/dist/_internal/types/arguments/generated/_registry/fluids.d.ts +1 -1
  40. package/dist/_internal/types/arguments/generated/_registry/int_provider_types.d.ts +1 -1
  41. package/dist/_internal/types/arguments/generated/_registry/int_provider_types.d.ts.map +1 -1
  42. package/dist/_internal/types/arguments/generated/_registry/item_definitions.d.ts +1 -1
  43. package/dist/_internal/types/arguments/generated/_registry/item_definitions.d.ts.map +1 -1
  44. package/dist/_internal/types/arguments/generated/_registry/items.d.ts +1 -1
  45. package/dist/_internal/types/arguments/generated/_registry/items.d.ts.map +1 -1
  46. package/dist/_internal/types/arguments/generated/_registry/langs.d.ts +1 -1
  47. package/dist/_internal/types/arguments/generated/_registry/langs.d.ts.map +1 -1
  48. package/dist/_internal/types/arguments/generated/_registry/loot_condition_types.d.ts +1 -1
  49. package/dist/_internal/types/arguments/generated/_registry/loot_condition_types.d.ts.map +1 -1
  50. package/dist/_internal/types/arguments/generated/_registry/loot_function_types.d.ts +1 -1
  51. package/dist/_internal/types/arguments/generated/_registry/loot_function_types.d.ts.map +1 -1
  52. package/dist/_internal/types/arguments/generated/_registry/loot_number_provider_types.d.ts +1 -1
  53. package/dist/_internal/types/arguments/generated/_registry/loot_number_provider_types.d.ts.map +1 -1
  54. package/dist/_internal/types/arguments/generated/_registry/loot_pool_entry_types.d.ts +1 -1
  55. package/dist/_internal/types/arguments/generated/_registry/loot_tables.d.ts +1 -1
  56. package/dist/_internal/types/arguments/generated/_registry/loot_tables.d.ts.map +1 -1
  57. package/dist/_internal/types/arguments/generated/_registry/mob_effects.d.ts +1 -1
  58. package/dist/_internal/types/arguments/generated/_registry/models.d.ts +1 -1
  59. package/dist/_internal/types/arguments/generated/_registry/models.d.ts.map +1 -1
  60. package/dist/_internal/types/arguments/generated/_registry/number_format_types.d.ts +1 -1
  61. package/dist/_internal/types/arguments/generated/_registry/number_providers.d.ts +5 -0
  62. package/dist/_internal/types/arguments/generated/_registry/number_providers.d.ts.map +1 -0
  63. package/dist/_internal/types/arguments/generated/_registry/outgoing_rpc_methods.d.ts +1 -1
  64. package/dist/_internal/types/arguments/generated/_registry/outgoing_rpc_methods.d.ts.map +1 -1
  65. package/dist/_internal/types/arguments/generated/_registry/particle_types.d.ts +1 -1
  66. package/dist/_internal/types/arguments/generated/_registry/particle_types.d.ts.map +1 -1
  67. package/dist/_internal/types/arguments/generated/_registry/point_of_interest_types.d.ts +1 -1
  68. package/dist/_internal/types/arguments/generated/_registry/post_effects.d.ts +1 -1
  69. package/dist/_internal/types/arguments/generated/_registry/post_effects.d.ts.map +1 -1
  70. package/dist/_internal/types/arguments/generated/_registry/potions.d.ts +1 -1
  71. package/dist/_internal/types/arguments/generated/_registry/predicates.d.ts +5 -0
  72. package/dist/_internal/types/arguments/generated/_registry/predicates.d.ts.map +1 -0
  73. package/dist/_internal/types/arguments/generated/_registry/recipe_serializers.d.ts +1 -1
  74. package/dist/_internal/types/arguments/generated/_registry/recipe_serializers.d.ts.map +1 -1
  75. package/dist/_internal/types/arguments/generated/_registry/recipe_types.d.ts +1 -1
  76. package/dist/_internal/types/arguments/generated/_registry/recipe_types.d.ts.map +1 -1
  77. package/dist/_internal/types/arguments/generated/_registry/recipes.d.ts +1 -1
  78. package/dist/_internal/types/arguments/generated/_registry/recipes.d.ts.map +1 -1
  79. package/dist/_internal/types/arguments/generated/_registry/rule_tests.d.ts +1 -1
  80. package/dist/_internal/types/arguments/generated/_registry/rule_tests.d.ts.map +1 -1
  81. package/dist/_internal/types/arguments/generated/_registry/sound_events.d.ts +1 -1
  82. package/dist/_internal/types/arguments/generated/_registry/sound_events.d.ts.map +1 -1
  83. package/dist/_internal/types/arguments/generated/_registry/sounds.d.ts +1 -1
  84. package/dist/_internal/types/arguments/generated/_registry/sounds.d.ts.map +1 -1
  85. package/dist/_internal/types/arguments/generated/_registry/spawn_condition_types.d.ts +1 -1
  86. package/dist/_internal/types/arguments/generated/_registry/structures.d.ts +1 -1
  87. package/dist/_internal/types/arguments/generated/_registry/structures.d.ts.map +1 -1
  88. package/dist/_internal/types/arguments/generated/_registry/tag_blocks.d.ts +1 -1
  89. package/dist/_internal/types/arguments/generated/_registry/tag_blocks.d.ts.map +1 -1
  90. package/dist/_internal/types/arguments/generated/_registry/tag_damage_types.d.ts +1 -1
  91. package/dist/_internal/types/arguments/generated/_registry/tag_damage_types.d.ts.map +1 -1
  92. package/dist/_internal/types/arguments/generated/_registry/tag_entity_types.d.ts +1 -1
  93. package/dist/_internal/types/arguments/generated/_registry/tag_entity_types.d.ts.map +1 -1
  94. package/dist/_internal/types/arguments/generated/_registry/tag_items.d.ts +1 -1
  95. package/dist/_internal/types/arguments/generated/_registry/tag_items.d.ts.map +1 -1
  96. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_biomes.d.ts +1 -1
  97. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_biomes.d.ts.map +1 -1
  98. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_features.d.ts +5 -0
  99. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_features.d.ts.map +1 -0
  100. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_structures.d.ts +1 -1
  101. package/dist/_internal/types/arguments/generated/_registry/tag_worldgen_structures.d.ts.map +1 -1
  102. package/dist/_internal/types/arguments/generated/_registry/textures.d.ts +1 -1
  103. package/dist/_internal/types/arguments/generated/_registry/textures.d.ts.map +1 -1
  104. package/dist/_internal/types/arguments/generated/_registry/trim_materials.d.ts +1 -1
  105. package/dist/_internal/types/arguments/generated/_registry/villager_trades.d.ts +1 -1
  106. package/dist/_internal/types/arguments/generated/_registry/villager_trades.d.ts.map +1 -1
  107. package/dist/_internal/types/arguments/generated/_registry/worldgen_biomes.d.ts +1 -1
  108. package/dist/_internal/types/arguments/generated/_registry/worldgen_biomes.d.ts.map +1 -1
  109. package/dist/_internal/types/arguments/generated/_registry/worldgen_block_state_provider_types.d.ts +1 -1
  110. package/dist/_internal/types/arguments/generated/_registry/worldgen_block_state_provider_types.d.ts.map +1 -1
  111. package/dist/_internal/types/arguments/generated/_registry/worldgen_carver_types.d.ts +5 -0
  112. package/dist/_internal/types/arguments/generated/_registry/worldgen_carver_types.d.ts.map +1 -0
  113. package/dist/_internal/types/arguments/generated/_registry/worldgen_carvers.d.ts +1 -1
  114. package/dist/_internal/types/arguments/generated/_registry/worldgen_carvers.d.ts.map +1 -1
  115. package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_carvers.d.ts +1 -1
  116. package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_features.d.ts +1 -1
  117. package/dist/_internal/types/arguments/generated/_registry/worldgen_density_function_types.d.ts +1 -1
  118. package/dist/_internal/types/arguments/generated/_registry/worldgen_density_function_types.d.ts.map +1 -1
  119. package/dist/_internal/types/arguments/generated/_registry/worldgen_density_functions.d.ts +1 -1
  120. package/dist/_internal/types/arguments/generated/_registry/worldgen_density_functions.d.ts.map +1 -1
  121. package/dist/_internal/types/arguments/generated/_registry/worldgen_feature_types.d.ts +5 -0
  122. package/dist/_internal/types/arguments/generated/_registry/worldgen_feature_types.d.ts.map +1 -0
  123. package/dist/_internal/types/arguments/generated/_registry/worldgen_features.d.ts +1 -1
  124. package/dist/_internal/types/arguments/generated/_registry/worldgen_features.d.ts.map +1 -1
  125. package/dist/_internal/types/arguments/generated/_registry/worldgen_foliage_placer_types.d.ts +1 -1
  126. package/dist/_internal/types/arguments/generated/_registry/worldgen_foliage_placer_types.d.ts.map +1 -1
  127. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_condition_types.d.ts +5 -0
  128. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_condition_types.d.ts.map +1 -0
  129. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_conditions.d.ts +1 -1
  130. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_conditions.d.ts.map +1 -1
  131. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rule_types.d.ts +5 -0
  132. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rule_types.d.ts.map +1 -0
  133. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rules.d.ts +1 -1
  134. package/dist/_internal/types/arguments/generated/_registry/worldgen_material_rules.d.ts.map +1 -1
  135. package/dist/_internal/types/arguments/generated/_registry/worldgen_noise_settings.d.ts +1 -1
  136. package/dist/_internal/types/arguments/generated/_registry/worldgen_noises.d.ts +1 -1
  137. package/dist/_internal/types/arguments/generated/_registry/worldgen_noises.d.ts.map +1 -1
  138. package/dist/_internal/types/arguments/generated/_registry/worldgen_placed_features.d.ts +1 -1
  139. package/dist/_internal/types/arguments/generated/_registry/worldgen_placed_features.d.ts.map +1 -1
  140. package/dist/_internal/types/arguments/generated/_registry/worldgen_placement_modifier_types.d.ts +1 -1
  141. package/dist/_internal/types/arguments/generated/_registry/worldgen_placement_modifier_types.d.ts.map +1 -1
  142. package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_placements.d.ts +1 -1
  143. package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_placements.d.ts.map +1 -1
  144. package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_sets.d.ts +1 -1
  145. package/dist/_internal/types/arguments/generated/_registry/worldgen_structure_sets.d.ts.map +1 -1
  146. package/dist/_internal/types/arguments/generated/_registry/worldgen_structures.d.ts +1 -1
  147. package/dist/_internal/types/arguments/generated/_registry/worldgen_structures.d.ts.map +1 -1
  148. package/dist/_internal/types/arguments/generated/_registry/worldgen_template_pools.d.ts +1 -1
  149. package/dist/_internal/types/arguments/generated/_registry/worldgen_template_pools.d.ts.map +1 -1
  150. package/dist/_internal/types/arguments/generated/_registry/worldgen_tree_decorator_types.d.ts +1 -1
  151. package/dist/_internal/types/arguments/generated/_registry/worldgen_tree_decorator_types.d.ts.map +1 -1
  152. package/dist/_internal/types/arguments/generated/_registry/worldgen_trunk_placer_types.d.ts +1 -1
  153. package/dist/_internal/types/arguments/generated/_registry/worldgen_trunk_placer_types.d.ts.map +1 -1
  154. package/dist/_internal/types/arguments/generated/assets/atlas.d.ts +1 -1
  155. package/dist/_internal/types/arguments/generated/assets/atlas.d.ts.map +1 -1
  156. package/dist/_internal/types/arguments/generated/assets/equipment.d.ts +7 -0
  157. package/dist/_internal/types/arguments/generated/assets/equipment.d.ts.map +1 -1
  158. package/dist/_internal/types/arguments/generated/assets/item_definition.d.ts +1 -10
  159. package/dist/_internal/types/arguments/generated/assets/item_definition.d.ts.map +1 -1
  160. package/dist/_internal/types/arguments/generated/assets/model.d.ts +11 -0
  161. package/dist/_internal/types/arguments/generated/assets/model.d.ts.map +1 -1
  162. package/dist/_internal/types/arguments/generated/assets/texture_meta.d.ts +6 -0
  163. package/dist/_internal/types/arguments/generated/assets/texture_meta.d.ts.map +1 -1
  164. package/dist/_internal/types/arguments/generated/data/advancement/predicate.d.ts +4 -22
  165. package/dist/_internal/types/arguments/generated/data/advancement/predicate.d.ts.map +1 -1
  166. package/dist/_internal/types/arguments/generated/data/advancement/trigger.d.ts +27 -13
  167. package/dist/_internal/types/arguments/generated/data/advancement/trigger.d.ts.map +1 -1
  168. package/dist/_internal/types/arguments/generated/data/advancement.d.ts +2 -1
  169. package/dist/_internal/types/arguments/generated/data/advancement.d.ts.map +1 -1
  170. package/dist/_internal/types/arguments/generated/data/dialog.d.ts +1 -1
  171. package/dist/_internal/types/arguments/generated/data/dialog.d.ts.map +1 -1
  172. package/dist/_internal/types/arguments/generated/data/item_modifier.d.ts +2 -1
  173. package/dist/_internal/types/arguments/generated/data/item_modifier.d.ts.map +1 -1
  174. package/dist/_internal/types/arguments/generated/data/loot/condition.d.ts +8 -4
  175. package/dist/_internal/types/arguments/generated/data/loot/condition.d.ts.map +1 -1
  176. package/dist/_internal/types/arguments/generated/data/loot/function.d.ts +16 -4
  177. package/dist/_internal/types/arguments/generated/data/loot/function.d.ts.map +1 -1
  178. package/dist/_internal/types/arguments/generated/data/loot.d.ts +30 -6
  179. package/dist/_internal/types/arguments/generated/data/loot.d.ts.map +1 -1
  180. package/dist/_internal/types/arguments/generated/data/number_provider.d.ts +17 -4
  181. package/dist/_internal/types/arguments/generated/data/number_provider.d.ts.map +1 -1
  182. package/dist/_internal/types/arguments/generated/data/predicate.d.ts +4 -2
  183. package/dist/_internal/types/arguments/generated/data/predicate.d.ts.map +1 -1
  184. package/dist/_internal/types/arguments/generated/data/recipe.d.ts +4 -1
  185. package/dist/_internal/types/arguments/generated/data/recipe.d.ts.map +1 -1
  186. package/dist/_internal/types/arguments/generated/data/slot_source.d.ts +20 -2
  187. package/dist/_internal/types/arguments/generated/data/slot_source.d.ts.map +1 -1
  188. package/dist/_internal/types/arguments/generated/data/trim.d.ts +5 -0
  189. package/dist/_internal/types/arguments/generated/data/trim.d.ts.map +1 -1
  190. package/dist/_internal/types/arguments/generated/data/variants/instrument.d.ts +18 -3
  191. package/dist/_internal/types/arguments/generated/data/variants/instrument.d.ts.map +1 -1
  192. package/dist/_internal/types/arguments/generated/data/villager_trade.d.ts +9 -0
  193. package/dist/_internal/types/arguments/generated/data/villager_trade.d.ts.map +1 -1
  194. package/dist/_internal/types/arguments/generated/data/worldgen/attribute.d.ts +17 -2
  195. package/dist/_internal/types/arguments/generated/data/worldgen/attribute.d.ts.map +1 -1
  196. package/dist/_internal/types/arguments/generated/data/worldgen/biome.d.ts +3 -1
  197. package/dist/_internal/types/arguments/generated/data/worldgen/biome.d.ts.map +1 -1
  198. package/dist/_internal/types/arguments/generated/data/worldgen/carver.d.ts +24 -6
  199. package/dist/_internal/types/arguments/generated/data/worldgen/carver.d.ts.map +1 -1
  200. package/dist/_internal/types/arguments/generated/data/worldgen/density_function.d.ts +33 -4
  201. package/dist/_internal/types/arguments/generated/data/worldgen/density_function.d.ts.map +1 -1
  202. package/dist/_internal/types/arguments/generated/data/worldgen/dimension.d.ts +1 -1
  203. package/dist/_internal/types/arguments/generated/data/worldgen/dimension.d.ts.map +1 -1
  204. package/dist/_internal/types/arguments/generated/data/worldgen/feature/block_state_provider.d.ts +20 -2
  205. package/dist/_internal/types/arguments/generated/data/worldgen/feature/block_state_provider.d.ts.map +1 -1
  206. package/dist/_internal/types/arguments/generated/data/worldgen/feature/placement.d.ts +11 -2
  207. package/dist/_internal/types/arguments/generated/data/worldgen/feature/placement.d.ts.map +1 -1
  208. package/dist/_internal/types/arguments/generated/data/worldgen/feature/tree.d.ts +12 -5
  209. package/dist/_internal/types/arguments/generated/data/worldgen/feature/tree.d.ts.map +1 -1
  210. package/dist/_internal/types/arguments/generated/data/worldgen/feature.d.ts +50 -60
  211. package/dist/_internal/types/arguments/generated/data/worldgen/feature.d.ts.map +1 -1
  212. package/dist/_internal/types/arguments/generated/data/worldgen/material_condition.d.ts +3 -3
  213. package/dist/_internal/types/arguments/generated/data/worldgen/material_condition.d.ts.map +1 -1
  214. package/dist/_internal/types/arguments/generated/data/worldgen/material_rule.d.ts +3 -3
  215. package/dist/_internal/types/arguments/generated/data/worldgen/material_rule.d.ts.map +1 -1
  216. package/dist/_internal/types/arguments/generated/data/worldgen/noise_settings.d.ts +4 -1
  217. package/dist/_internal/types/arguments/generated/data/worldgen/noise_settings.d.ts.map +1 -1
  218. package/dist/_internal/types/arguments/generated/data/worldgen/processor_list.d.ts +14 -2
  219. package/dist/_internal/types/arguments/generated/data/worldgen/processor_list.d.ts.map +1 -1
  220. package/dist/_internal/types/arguments/generated/data/worldgen.d.ts +6 -1
  221. package/dist/_internal/types/arguments/generated/data/worldgen.d.ts.map +1 -1
  222. package/dist/_internal/types/arguments/generated/dispatcher.d.ts +3 -3
  223. package/dist/_internal/types/arguments/generated/dispatcher.d.ts.map +1 -1
  224. package/dist/_internal/types/arguments/generated/registry-sets.d.ts +8 -5
  225. package/dist/_internal/types/arguments/generated/registry-sets.d.ts.map +1 -1
  226. package/dist/_internal/types/arguments/generated/registry.d.ts +16 -10
  227. package/dist/_internal/types/arguments/generated/registry.d.ts.map +1 -1
  228. package/dist/_internal/types/arguments/generated/resource-paths.d.ts +15 -0
  229. package/dist/_internal/types/arguments/generated/resource-paths.d.ts.map +1 -1
  230. package/dist/_internal/types/arguments/generated/resources.d.ts +2 -2
  231. package/dist/_internal/types/arguments/generated/resources.d.ts.map +1 -1
  232. package/dist/_internal/types/arguments/generated/world/block/brewing_stand.d.ts +15 -3
  233. package/dist/_internal/types/arguments/generated/world/block/brewing_stand.d.ts.map +1 -1
  234. package/dist/_internal/types/arguments/generated/world/block/decorated_pot.d.ts +7 -0
  235. package/dist/_internal/types/arguments/generated/world/block/decorated_pot.d.ts.map +1 -1
  236. package/dist/_internal/types/arguments/generated/world/block/furnace.d.ts +9 -5
  237. package/dist/_internal/types/arguments/generated/world/block/furnace.d.ts.map +1 -1
  238. package/dist/_internal/types/arguments/generated/world/block/sign.d.ts +8 -0
  239. package/dist/_internal/types/arguments/generated/world/block/sign.d.ts.map +1 -1
  240. package/dist/_internal/types/arguments/generated/world/component/item.d.ts +43 -10
  241. package/dist/_internal/types/arguments/generated/world/component/item.d.ts.map +1 -1
  242. package/dist/_internal/types/arguments/generated/world/component/predicate.d.ts +1 -1
  243. package/dist/_internal/types/arguments/generated/world/component/predicate.d.ts.map +1 -1
  244. package/dist/_internal/types/arguments/generated/world/entity/boat.d.ts +11 -1
  245. package/dist/_internal/types/arguments/generated/world/entity/boat.d.ts.map +1 -1
  246. package/dist/_internal/types/arguments/generated/world/entity/mob/player.d.ts +2 -1
  247. package/dist/_internal/types/arguments/generated/world/entity/mob/player.d.ts.map +1 -1
  248. package/dist/_internal/types/arguments/generated/world/entity/mob.d.ts +0 -4
  249. package/dist/_internal/types/arguments/generated/world/entity/mob.d.ts.map +1 -1
  250. package/dist/_internal/types/arguments/generated/world/entity/projectile.d.ts +2 -0
  251. package/dist/_internal/types/arguments/generated/world/entity/projectile.d.ts.map +1 -1
  252. package/dist/_internal/types/arguments/generated/world/entity.d.ts +4 -0
  253. package/dist/_internal/types/arguments/generated/world/entity.d.ts.map +1 -1
  254. package/dist/_internal/types/commands/commands.d.ts +2 -1
  255. package/dist/_internal/types/commands/commands.d.ts.map +1 -1
  256. package/dist/_internal/types/commands/implementations/block/place.d.ts +1 -1
  257. package/dist/_internal/types/commands/implementations/block/place.d.ts.map +1 -1
  258. package/dist/_internal/types/commands/implementations/entity/execute.d.ts +53 -5
  259. package/dist/_internal/types/commands/implementations/entity/execute.d.ts.map +1 -1
  260. package/dist/_internal/types/commands/implementations/index.d.ts +1 -0
  261. package/dist/_internal/types/commands/implementations/index.d.ts.map +1 -1
  262. package/dist/_internal/types/commands/implementations/player/posteffect.d.ts +61 -0
  263. package/dist/_internal/types/commands/implementations/player/posteffect.d.ts.map +1 -0
  264. package/dist/_internal/types/commands/implementations/server/schedule.d.ts +1 -1
  265. package/dist/_internal/types/commands/implementations/world/item.d.ts +73 -11
  266. package/dist/_internal/types/commands/implementations/world/item.d.ts.map +1 -1
  267. package/dist/_internal/types/core/resources/datapack/decoratedPotPattern.d.ts +25 -0
  268. package/dist/_internal/types/core/resources/datapack/decoratedPotPattern.d.ts.map +1 -0
  269. package/dist/_internal/types/core/resources/datapack/index.d.ts +2 -0
  270. package/dist/_internal/types/core/resources/datapack/index.d.ts.map +1 -1
  271. package/dist/_internal/types/core/resources/datapack/slotSource.d.ts +27 -0
  272. package/dist/_internal/types/core/resources/datapack/slotSource.d.ts.map +1 -0
  273. package/dist/_internal/types/core/resources/index.d.ts +1 -1
  274. package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts +13 -13
  275. package/dist/_internal/types/core/resources/resourcepack/blockstate.d.ts.map +1 -1
  276. package/dist/_internal/types/flow/Flow.d.ts +58 -18
  277. package/dist/_internal/types/flow/Flow.d.ts.map +1 -1
  278. package/dist/_internal/types/flow/conditions/index.d.ts +3 -0
  279. package/dist/_internal/types/flow/conditions/index.d.ts.map +1 -1
  280. package/dist/_internal/types/flow/conditions/resources/index.d.ts +1 -0
  281. package/dist/_internal/types/flow/conditions/resources/index.d.ts.map +1 -1
  282. package/dist/_internal/types/flow/conditions/resources/slotSource.d.ts +14 -0
  283. package/dist/_internal/types/flow/conditions/resources/slotSource.d.ts.map +1 -0
  284. package/dist/_internal/types/flow/conditions/variables/items.d.ts +40 -7
  285. package/dist/_internal/types/flow/conditions/variables/items.d.ts.map +1 -1
  286. package/dist/_internal/types/flow/loop.d.ts +1 -1
  287. package/dist/_internal/types/pack/index.d.ts +1 -1
  288. package/dist/_internal/types/pack/pack.d.ts +13 -8
  289. package/dist/_internal/types/pack/pack.d.ts.map +1 -1
  290. package/dist/_internal/types/variables/Data.d.ts +1 -1
  291. package/dist/_internal/types/variables/DataSets.d.ts +4 -4
  292. package/dist/_internal/types/variables/DataSets.d.ts.map +1 -1
  293. package/dist/_internal/types/variables/ResolveNBT.d.ts +2 -2
  294. package/dist/browser/sandstone.esm.js +2273 -552
  295. package/dist/browser/sandstone.esm.js.map +1 -1
  296. package/dist/exports/arguments/index.d.ts +1 -1
  297. package/dist/exports/arguments/index.js +1 -1
  298. package/dist/exports/commands/index.d.ts +1 -1
  299. package/dist/exports/commands/index.js +1 -1
  300. package/dist/exports/core/index.d.ts +1 -1
  301. package/dist/exports/core/index.js +1 -1
  302. package/dist/exports/flow/index.d.ts +1 -1
  303. package/dist/exports/flow/index.js +1 -1
  304. package/dist/exports/index.d.ts +1 -1
  305. package/dist/exports/index.js +1 -1
  306. package/dist/exports/variables/index.d.ts +1 -1
  307. package/dist/exports/variables/index.js +1 -1
  308. package/package.json +3 -3
  309. package/src/arguments/generated/_builtin/block_state_keys.ts +232 -0
  310. package/src/arguments/generated/_builtin/block_states.ts +444 -0
  311. package/src/arguments/generated/_dispatcher/block.ts +20 -4
  312. package/src/arguments/generated/_dispatcher/resource.ts +33 -0
  313. package/src/arguments/generated/_registry/advancements.ts +114 -0
  314. package/src/arguments/generated/_registry/atlases.ts +0 -1
  315. package/src/arguments/generated/_registry/attribute_types.ts +1 -0
  316. package/src/arguments/generated/_registry/block_definitions.ts +58 -0
  317. package/src/arguments/generated/_registry/block_predicate_types.ts +1 -0
  318. package/src/arguments/generated/_registry/blocks.ts +58 -0
  319. package/src/arguments/generated/_registry/command_argument_types.ts +2 -0
  320. package/src/arguments/generated/_registry/custom_stats.ts +1 -0
  321. package/src/arguments/generated/_registry/data_component_types.ts +11 -0
  322. package/src/arguments/generated/_registry/decorated_pot_patterns.ts +0 -1
  323. package/src/arguments/generated/_registry/entity_types.ts +3 -0
  324. package/src/arguments/generated/_registry/environment_attributes.ts +3 -0
  325. package/src/arguments/generated/_registry/int_provider_types.ts +1 -0
  326. package/src/arguments/generated/_registry/item_definitions.ts +73 -0
  327. package/src/arguments/generated/_registry/items.ts +73 -0
  328. package/src/arguments/generated/_registry/langs.ts +1 -0
  329. package/src/arguments/generated/_registry/loot_condition_types.ts +1 -2
  330. package/src/arguments/generated/_registry/loot_function_types.ts +0 -1
  331. package/src/arguments/generated/_registry/loot_number_provider_types.ts +3 -0
  332. package/src/arguments/generated/_registry/loot_tables.ts +60 -0
  333. package/src/arguments/generated/_registry/models.ts +170 -2
  334. package/src/arguments/generated/_registry/number_providers.ts +35 -0
  335. package/src/arguments/generated/_registry/outgoing_rpc_methods.ts +4 -0
  336. package/src/arguments/generated/_registry/particle_types.ts +3 -0
  337. package/src/arguments/generated/_registry/post_effects.ts +0 -1
  338. package/src/arguments/generated/_registry/predicates.ts +12 -0
  339. package/src/arguments/generated/_registry/recipe_serializers.ts +1 -0
  340. package/src/arguments/generated/_registry/recipe_types.ts +1 -0
  341. package/src/arguments/generated/_registry/recipes.ts +393 -0
  342. package/src/arguments/generated/_registry/rule_tests.ts +4 -0
  343. package/src/arguments/generated/_registry/sound_events.ts +23 -0
  344. package/src/arguments/generated/_registry/sounds.ts +98 -8
  345. package/src/arguments/generated/_registry/structures.ts +279 -0
  346. package/src/arguments/generated/_registry/tag_blocks.ts +29 -3
  347. package/src/arguments/generated/_registry/tag_damage_types.ts +1 -0
  348. package/src/arguments/generated/_registry/tag_entity_types.ts +1 -0
  349. package/src/arguments/generated/_registry/tag_items.ts +7 -1
  350. package/src/arguments/generated/_registry/tag_worldgen_biomes.ts +18 -0
  351. package/src/arguments/generated/_registry/tag_worldgen_features.ts +10 -0
  352. package/src/arguments/generated/_registry/tag_worldgen_structures.ts +1 -0
  353. package/src/arguments/generated/_registry/textures.ts +101 -18
  354. package/src/arguments/generated/_registry/villager_trades.ts +3 -0
  355. package/src/arguments/generated/_registry/worldgen_biomes.ts +1 -0
  356. package/src/arguments/generated/_registry/worldgen_block_state_provider_types.ts +2 -0
  357. package/src/arguments/generated/_registry/worldgen_carver_types.ts +11 -0
  358. package/src/arguments/generated/_registry/worldgen_carvers.ts +1 -0
  359. package/src/arguments/generated/_registry/worldgen_density_function_types.ts +9 -1
  360. package/src/arguments/generated/_registry/worldgen_density_functions.ts +16 -0
  361. package/src/arguments/generated/_registry/worldgen_feature_types.ts +68 -0
  362. package/src/arguments/generated/_registry/worldgen_features.ts +220 -43
  363. package/src/arguments/generated/_registry/worldgen_foliage_placer_types.ts +1 -0
  364. package/src/arguments/generated/_registry/worldgen_material_condition_types.ts +20 -0
  365. package/src/arguments/generated/_registry/worldgen_material_conditions.ts +8 -11
  366. package/src/arguments/generated/_registry/worldgen_material_rule_types.ts +13 -0
  367. package/src/arguments/generated/_registry/worldgen_material_rules.ts +40 -4
  368. package/src/arguments/generated/_registry/worldgen_noises.ts +1 -0
  369. package/src/arguments/generated/_registry/worldgen_placed_features.ts +11 -0
  370. package/src/arguments/generated/_registry/worldgen_placement_modifier_types.ts +3 -1
  371. package/src/arguments/generated/_registry/worldgen_structure_placements.ts +1 -0
  372. package/src/arguments/generated/_registry/worldgen_structure_sets.ts +1 -0
  373. package/src/arguments/generated/_registry/worldgen_structures.ts +18 -0
  374. package/src/arguments/generated/_registry/worldgen_template_pools.ts +57 -0
  375. package/src/arguments/generated/_registry/worldgen_tree_decorator_types.ts +1 -0
  376. package/src/arguments/generated/_registry/worldgen_trunk_placer_types.ts +1 -0
  377. package/src/arguments/generated/assets/atlas.ts +1 -1
  378. package/src/arguments/generated/assets/equipment.ts +7 -0
  379. package/src/arguments/generated/assets/item_definition.ts +0 -12
  380. package/src/arguments/generated/assets/model.ts +11 -0
  381. package/src/arguments/generated/assets/texture_meta.ts +6 -0
  382. package/src/arguments/generated/data/advancement/predicate.ts +9 -26
  383. package/src/arguments/generated/data/advancement/trigger.ts +29 -13
  384. package/src/arguments/generated/data/advancement.ts +2 -1
  385. package/src/arguments/generated/data/dialog.ts +1 -1
  386. package/src/arguments/generated/data/item_modifier.ts +7 -1
  387. package/src/arguments/generated/data/loot/condition.ts +10 -2
  388. package/src/arguments/generated/data/loot/function.ts +22 -4
  389. package/src/arguments/generated/data/loot.ts +34 -6
  390. package/src/arguments/generated/data/number_provider.ts +26 -4
  391. package/src/arguments/generated/data/predicate.ts +8 -2
  392. package/src/arguments/generated/data/recipe.ts +4 -0
  393. package/src/arguments/generated/data/slot_source.ts +23 -2
  394. package/src/arguments/generated/data/trim.ts +5 -0
  395. package/src/arguments/generated/data/variants/instrument.ts +18 -3
  396. package/src/arguments/generated/data/villager_trade.ts +9 -0
  397. package/src/arguments/generated/data/worldgen/attribute.ts +24 -1
  398. package/src/arguments/generated/data/worldgen/biome.ts +3 -1
  399. package/src/arguments/generated/data/worldgen/carver.ts +34 -7
  400. package/src/arguments/generated/data/worldgen/density_function.ts +41 -4
  401. package/src/arguments/generated/data/worldgen/dimension.ts +1 -2
  402. package/src/arguments/generated/data/worldgen/feature/block_state_provider.ts +21 -1
  403. package/src/arguments/generated/data/worldgen/feature/placement.ts +13 -1
  404. package/src/arguments/generated/data/worldgen/feature/tree.ts +13 -3
  405. package/src/arguments/generated/data/worldgen/feature.ts +59 -65
  406. package/src/arguments/generated/data/worldgen/material_condition.ts +7 -3
  407. package/src/arguments/generated/data/worldgen/material_rule.ts +7 -3
  408. package/src/arguments/generated/data/worldgen/noise_settings.ts +4 -1
  409. package/src/arguments/generated/data/worldgen/processor_list.ts +17 -2
  410. package/src/arguments/generated/data/worldgen.ts +7 -0
  411. package/src/arguments/generated/dispatcher.ts +8 -8
  412. package/src/arguments/generated/registry-sets.ts +14 -8
  413. package/src/arguments/generated/registry.ts +22 -15
  414. package/src/arguments/generated/resource-paths.ts +3 -0
  415. package/src/arguments/generated/resources.ts +6 -2
  416. package/src/arguments/generated/world/block/brewing_stand.ts +15 -3
  417. package/src/arguments/generated/world/block/decorated_pot.ts +7 -0
  418. package/src/arguments/generated/world/block/furnace.ts +9 -5
  419. package/src/arguments/generated/world/block/sign.ts +8 -0
  420. package/src/arguments/generated/world/component/item.ts +58 -8
  421. package/src/arguments/generated/world/component/predicate.ts +1 -1
  422. package/src/arguments/generated/world/entity/boat.ts +13 -0
  423. package/src/arguments/generated/world/entity/mob/player.ts +12 -1
  424. package/src/arguments/generated/world/entity/mob.ts +0 -4
  425. package/src/arguments/generated/world/entity/projectile.ts +2 -0
  426. package/src/arguments/generated/world/entity.ts +4 -0
  427. package/src/commands/commands.ts +5 -0
  428. package/src/commands/implementations/block/place.ts +1 -1
  429. package/src/commands/implementations/entity/execute.ts +65 -8
  430. package/src/commands/implementations/index.ts +1 -0
  431. package/src/commands/implementations/player/posteffect.ts +75 -0
  432. package/src/commands/implementations/world/item.ts +96 -19
  433. package/src/core/resources/datapack/{decoratedPotPattern.ts.disable → decoratedPotPattern.ts} +3 -3
  434. package/src/core/resources/datapack/index.ts +2 -2
  435. package/src/core/resources/datapack/itemModifier.ts +2 -2
  436. package/src/core/resources/datapack/{slotSource.ts.disable → slotSource.ts} +15 -4
  437. package/src/core/resources/resourcepack/blockstate.ts +32 -32
  438. package/src/flow/Flow.ts +67 -15
  439. package/src/flow/conditions/index.ts +3 -0
  440. package/src/flow/conditions/resources/index.ts +1 -0
  441. package/src/flow/conditions/resources/slotSource.ts +21 -0
  442. package/src/flow/conditions/variables/items.ts +53 -5
  443. package/src/pack/pack.ts +37 -35
  444. package/src/sandstone.ts +52 -15
  445. package/src/variables/DataSets.ts +4 -4
@@ -4,7 +4,17 @@ import type { SlottedItem } from 'sandstone/arguments/generated/util/slot.ts'
4
4
  import type { AnyEntity } from 'sandstone/arguments/generated/world/entity.ts'
5
5
  import type { LivingEntity } from 'sandstone/arguments/generated/world/entity/mob.ts'
6
6
  import type { ItemStack } from 'sandstone/arguments/generated/world/item.ts'
7
- import type { NBTByte, NBTDouble, NBTFloat, NBTInt, NBTIntArray, NBTList, NBTShort, RecipeClass } from 'sandstone'
7
+ import type {
8
+ NBTByte,
9
+ NBTDouble,
10
+ NBTFloat,
11
+ NBTInt,
12
+ NBTIntArray,
13
+ NBTList,
14
+ NBTShort,
15
+ PostEffectClass,
16
+ RecipeClass,
17
+ } from 'sandstone'
8
18
 
9
19
  export type Abilities = {
10
20
  /**
@@ -235,6 +245,7 @@ export type Player = (LivingEntity & {
235
245
  * Ender pearls thrown by this player.
236
246
  */
237
247
  ender_pearls?: Array<EnderPearl>,
248
+ post_effects?: Array<(Registry['minecraft:post_effect'] | PostEffectClass)>,
238
249
  /**
239
250
  * Value:
240
251
  * List length range: 3
@@ -141,10 +141,6 @@ export type LivingEntity = (EntityBase & {
141
141
  * Timer since it has been damaged. Counts down to zero.
142
142
  */
143
143
  HurtTime?: NBTShort,
144
- /**
145
- * Ticks since it was last damaged, from its creation.
146
- */
147
- HurtByTimestamp?: NBTInt,
148
144
  /**
149
145
  * Timer since it was marked as dead. Counts down to zero.
150
146
  */
@@ -1,3 +1,4 @@
1
+ import type { AdventureModePredicate } from 'sandstone/arguments/generated/world/component/item.ts'
1
2
  import type { EntityBase } from 'sandstone/arguments/generated/world/entity.ts'
2
3
  import type { NBTIntArray, NBTLong } from 'sandstone'
3
4
 
@@ -35,4 +36,5 @@ export type ProjectileBase = (EntityBase & {
35
36
  * Whether it has left its owner.
36
37
  */
37
38
  LeftOwner?: boolean,
39
+ can_break?: AdventureModePredicate,
38
40
  })
@@ -123,6 +123,10 @@ export type EntityBase = {
123
123
  * Labelling tags on the entity.
124
124
  */
125
125
  Tags?: Array<`${any}${string}` | LabelClass>,
126
+ /**
127
+ * Team to join when it is spawned.
128
+ */
129
+ Team?: `${any}${string}`,
126
130
  /**
127
131
  * Any stored data
128
132
  */
@@ -36,6 +36,7 @@ import {
36
36
  PerfCommand,
37
37
  PlaceCommand,
38
38
  PlaySoundCommand,
39
+ PostEffectCommand,
39
40
  RandomCommand,
40
41
  RawCommand,
41
42
  RecipeCommand,
@@ -235,6 +236,10 @@ export class SandstoneCommands<MACRO extends boolean = false> {
235
236
  return bind(this.sandstonePack, PlaySoundCommand, 'playsound') as PlaySoundCommand<MACRO>['playsound']
236
237
  }
237
238
 
239
+ get posteffect() {
240
+ return new PostEffectCommand<MACRO>(this.sandstonePack)
241
+ }
242
+
238
243
  get random() {
239
244
  return new RandomCommand<MACRO>(this.sandstonePack)
240
245
  }
@@ -26,7 +26,7 @@ export class PlaceCommand<MACRO extends boolean> extends CommandArguments {
26
26
  * @param pos Optional. Where the placement should be tried.
27
27
  */
28
28
  feature = (
29
- feature: Macroable<Registry['minecraft:worldgen/configured_feature'], MACRO>,
29
+ feature: Macroable<Registry['minecraft:worldgen/feature'], MACRO>,
30
30
  pos: Macroable<Coordinates<MACRO>, MACRO> = '~ ~ ~' as Coordinates<MACRO>,
31
31
  ) => this.finalCommand(['feature', feature, coordinatesParser(pos)])
32
32
 
@@ -3,9 +3,7 @@ import type {
3
3
  AXES,
4
4
  Registry,
5
5
  COMPARISON_OPERATORS,
6
- ContainerSlotSelector,
7
6
  Coordinates,
8
- EntitySlotSelector,
9
7
  MultipleEntitiesArgument,
10
8
  NBTObject,
11
9
  ObjectiveArgument,
@@ -16,6 +14,7 @@ import type {
16
14
  SymbolMcdocBlockStates,
17
15
  RootNBT,
18
16
  } from 'sandstone/arguments'
17
+ import type { ItemSlotSource } from '../world/item'
19
18
  import { blockStateStringifier } from '../block/setblock'
20
19
  import type { SandstoneCommands } from 'sandstone/commands'
21
20
  import {
@@ -454,7 +453,7 @@ export class ExecuteItemsCommand<MACRO extends boolean> extends ExecuteCommandPa
454
453
  *
455
454
  * @param sourcePos Position of the block entity to test.
456
455
  *
457
- * @param slots Slots to test (e.g., `'container.*'`, `'container.0'`).
456
+ * @param slotSource Slot source (e.g., `'container.*'`, `'container.0'`, inline slot source, or a slot source reference).
458
457
  *
459
458
  * @param itemPredicate Item predicate to match against.
460
459
  *
@@ -474,16 +473,16 @@ export class ExecuteItemsCommand<MACRO extends boolean> extends ExecuteCommandPa
474
473
  */
475
474
  block = (
476
475
  sourcePos: Macroable<Coordinates<MACRO>, MACRO>,
477
- slots: Macroable<ContainerSlotSelector, MACRO>,
476
+ slotSource: Macroable<ItemSlotSource, MACRO>,
478
477
  itemPredicate: Macroable<ItemPredicate, MACRO>,
479
- ) => this.nestedExecute(['items', 'block', coordinatesParser(sourcePos), slots, `${itemPredicate}`], true)
478
+ ) => this.nestedExecute(['items', 'block', coordinatesParser(sourcePos), slotSource, `${itemPredicate}`], true)
480
479
 
481
480
  /**
482
481
  * Test for items in an entity's inventory slots.
483
482
  *
484
483
  * @param source Entity to test.
485
484
  *
486
- * @param slots Slots to test (e.g., `'inventory.*'`, `'hotbar.0'`, `'armor.chest'`).
485
+ * @param slotSource Slot source (e.g., `'inventory.*'`, `'hotbar.0'`, inline slot source, or a slot source reference).
487
486
  *
488
487
  * @param itemPredicate Item predicate to match against.
489
488
  *
@@ -508,9 +507,55 @@ export class ExecuteItemsCommand<MACRO extends boolean> extends ExecuteCommandPa
508
507
  */
509
508
  entity = (
510
509
  source: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
511
- slots: Macroable<EntitySlotSelector, MACRO>,
510
+ slotSource: Macroable<ItemSlotSource, MACRO>,
512
511
  itemPredicate: Macroable<ItemPredicate, MACRO>,
513
- ) => this.nestedExecute(['items', 'entity', targetParser(source), slots, `${itemPredicate}`], true)
512
+ ) => this.nestedExecute(['items', 'entity', targetParser(source), slotSource, `${itemPredicate}`], true)
513
+ }
514
+
515
+ /**
516
+ * Command for the `execute if|unless slots` condition sub-command.
517
+ *
518
+ * Counts the number of slots from the slot source that are present on the targeted block or entity.
519
+ * Slot sources are evaluated with the `minecraft:command_slot_source` loot type.
520
+ */
521
+ export class ExecuteSlotsCommand<MACRO extends boolean> extends ExecuteCommandPart<MACRO> {
522
+ /**
523
+ * Count slots from a slot source that are present in a block entity.
524
+ *
525
+ * @param sourcePos Position of the block entity to test.
526
+ *
527
+ * @param slotSource Slot source (e.g., `'container.*'`, inline slot source, or a slot source reference).
528
+ *
529
+ * @example
530
+ * ```ts
531
+ * // Count slots in a chest matching a slot source
532
+ * execute.if.slots.block(abs(0, 64, 0), 'container.*')
533
+ * execute.if.slots.block(abs(0, 64, 0), { type: 'minecraft:slot_range', slots: 'armor.chest' })
534
+ * ```
535
+ */
536
+ block = (
537
+ sourcePos: Macroable<Coordinates<MACRO>, MACRO>,
538
+ slotSource: Macroable<ItemSlotSource, MACRO>,
539
+ ) => this.nestedExecute(['slots', 'block', coordinatesParser(sourcePos), slotSource], true)
540
+
541
+ /**
542
+ * Count slots from a slot source that are present in an entity.
543
+ *
544
+ * @param source Entity to test.
545
+ *
546
+ * @param slotSource Slot source (e.g., `'inventory.*'`, inline slot source, or a slot source reference).
547
+ *
548
+ * @example
549
+ * ```ts
550
+ * // Count slots on a player matching a slot source
551
+ * execute.if.slots.entity('@p', 'inventory.*')
552
+ * execute.if.slots.entity('@p', { type: 'minecraft:slot_range', slots: 'weapon.mainhand' })
553
+ * ```
554
+ */
555
+ entity = (
556
+ source: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
557
+ slotSource: Macroable<ItemSlotSource, MACRO>,
558
+ ) => this.nestedExecute(['slots', 'entity', targetParser(source), slotSource], true)
514
559
  }
515
560
 
516
561
  export class ExecuteIfUnlessCommand<MACRO extends boolean> extends ExecuteCommandPart<MACRO> {
@@ -696,6 +741,18 @@ export class ExecuteIfUnlessCommand<MACRO extends boolean> extends ExecuteComman
696
741
  return new ExecuteItemsCommand<MACRO>(this.sandstonePack, this.previousNode)
697
742
  }
698
743
 
744
+ /**
745
+ * Counts slots from a slot source that are present in a block entity or entity.
746
+ *
747
+ * @example
748
+ * ```ts
749
+ * execute.if.slots.entity('@p', 'inventory.*')
750
+ * ```
751
+ */
752
+ get slots() {
753
+ return new ExecuteSlotsCommand<MACRO>(this.sandstonePack, this.previousNode)
754
+ }
755
+
699
756
  function(func: Macroable<_RawMCFunctionClass<[], []> | (() => any) | string, MACRO>) {
700
757
  if (typeof func === 'object' && Object.hasOwn(func, 'addToTag')) {
701
758
  return this.nestedExecute(['function', (func as _RawMCFunctionClass<[], []>).name])
@@ -28,6 +28,7 @@ export * from './player/gamemode'
28
28
  export * from './player/give'
29
29
  export * from './player/particle'
30
30
  export * from './player/playsound'
31
+ export * from './player/posteffect'
31
32
  export * from './player/recipe'
32
33
  export * from './player/spawnpoint'
33
34
  export * from './player/spectate'
@@ -0,0 +1,75 @@
1
+ import type { MultiplePlayersArgument, SingleEntityArgument } from 'sandstone/arguments'
2
+ import { CommandNode } from 'sandstone/core/nodes'
3
+ import type { Macroable } from 'sandstone/core'
4
+ import { targetParser } from 'sandstone/variables/parsers'
5
+ import type { FinalCommandOutput } from '../../helpers'
6
+ import { CommandArguments } from '../../helpers'
7
+
8
+ /**
9
+ * A node representing the `posteffect` command.
10
+ */
11
+ export class PostEffectCommandNode extends CommandNode {
12
+ command = 'posteffect' as const
13
+ }
14
+
15
+ export class PostEffectCommand<MACRO extends boolean> extends CommandArguments {
16
+ protected NodeType = PostEffectCommandNode
17
+
18
+ /**
19
+ * Add a post effect to a player.
20
+ *
21
+ * @param player The player to add the post effect to.
22
+ * @param postEffect The namespaced ID of the post effect to add.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * posteffect.add('@p', 'minecraft:dark')
27
+ * ```
28
+ */
29
+ add = (
30
+ player: Macroable<MultiplePlayersArgument<MACRO>, MACRO>,
31
+ postEffect: Macroable<`${string}:${string}`, MACRO>,
32
+ ): FinalCommandOutput => this.finalCommand(['add', targetParser(player), postEffect])
33
+
34
+ /**
35
+ * Remove all post effects from a player.
36
+ *
37
+ * @param player The player to clear all post effects from.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * posteffect.clear('@p')
42
+ * ```
43
+ */
44
+ clear = (player: Macroable<MultiplePlayersArgument<MACRO>, MACRO>): FinalCommandOutput =>
45
+ this.finalCommand(['clear', targetParser(player)])
46
+
47
+ /**
48
+ * List all post effects applied to a target.
49
+ *
50
+ * @param target The target to list post effects for.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * posteffect.list('@p')
55
+ * ```
56
+ */
57
+ list = (target: Macroable<SingleEntityArgument<MACRO>, MACRO>): FinalCommandOutput =>
58
+ this.finalCommand(['list', targetParser(target)])
59
+
60
+ /**
61
+ * Remove a post effect from a player.
62
+ *
63
+ * @param player The player to remove the post effect from.
64
+ * @param postEffect The namespaced ID of the post effect to remove.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * posteffect.remove('@p', 'minecraft:dark')
69
+ * ```
70
+ */
71
+ remove = (
72
+ player: Macroable<MultiplePlayersArgument<MACRO>, MACRO>,
73
+ postEffect: Macroable<`${string}:${string}`, MACRO>,
74
+ ): FinalCommandOutput => this.finalCommand(['remove', targetParser(player), postEffect])
75
+ }
@@ -2,26 +2,41 @@ import type {
2
2
  Coordinates,
3
3
  Registry,
4
4
  MultipleEntitiesArgument,
5
- RootNBT,
6
- EntitySlotSelector,
7
5
  ContainerSlotSelector,
6
+ EntitySlotSelector,
8
7
  MCDocToJSON,
9
8
  SymbolDataComponent,
10
- NBTObject,
11
9
  } from 'sandstone/arguments'
12
- import type { ItemModifierClass, Macroable } from 'sandstone/core'
10
+ import type { ItemModifierClass, Macroable, SlotSourceClass } from 'sandstone/core'
13
11
  import { CommandNode } from 'sandstone/core/nodes'
14
12
  import type { LiteralUnion, MemberModifiers } from 'sandstone/utils'
15
- import { nbtResolver } from 'sandstone/variables'
16
13
  import { coordinatesParser, targetParser } from 'sandstone/variables/parsers'
17
14
  import type { FinalCommandOutput } from '../../helpers'
18
15
  import { CommandArguments } from '../../helpers'
19
- import { componentPatchStringifier } from '../player/give';
16
+ import { componentPatchStringifier } from '../player/give'
20
17
 
21
18
  export class ItemCommandNode extends CommandNode {
22
19
  command = 'item' as const
23
20
  }
24
21
 
22
+ /**
23
+ * A slot source for the `/item` and `/execute if items/slots` commands.
24
+ *
25
+ * Accepts:
26
+ * - String shorthand slot ranges (e.g. `armor.chest`, `container.*`).
27
+ * - A reference to a registered slot source resource (`namespace:path`).
28
+ * - A `SlotSourceClass` instance.
29
+ * - A `#namespace:path` slot source tag reference.
30
+ *
31
+ * Inline slot source JSON is not supported — use a `SlotSourceClass` instead.
32
+ */
33
+ export type ItemSlotSource =
34
+ | ContainerSlotSelector
35
+ | EntitySlotSelector
36
+ | `${string}:${string}`
37
+ | SlotSourceClass
38
+ | `#${string}:${string}`
39
+
25
40
  export class ItemSourceCommand<MACRO extends boolean> extends CommandArguments {
26
41
  /**
27
42
  * Replace the slot with a specific item.
@@ -56,25 +71,25 @@ export class ItemSourceCommand<MACRO extends boolean> extends CommandArguments {
56
71
  from = {
57
72
  /**
58
73
  * @param pos The coordinates of the container to copy items from.
59
- * @param slot The slot to copy the items from.
74
+ * @param slotSource The slot source to copy the items from.
60
75
  * @param [modifier] An optional modifier to apply.
61
76
  */
62
77
  block: (
63
78
  pos: Macroable<Coordinates<MACRO>, MACRO>,
64
- slot: Macroable<LiteralUnion<ContainerSlotSelector>, MACRO>,
79
+ slotSource: Macroable<ItemSlotSource, MACRO>,
65
80
  modifier?: Macroable<`${any}${string}` | ItemModifierClass, MACRO>,
66
- ) => this.finalCommand(['from', 'block', pos, slot, modifier]),
81
+ ) => this.finalCommand(['from', 'block', pos, slotSource, modifier]),
67
82
 
68
83
  /**
69
- * @param targets The entity to copy items from.
70
- * @param slot The slot to copy the items from.
84
+ * @param targets The entity/entities to copy items from. May target multiple entities; their slots are concatenated.
85
+ * @param slotSource The slot source to copy the items from.
71
86
  * @param [modifier] An optional modifier to apply.
72
87
  */
73
88
  entity: (
74
89
  targets: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
75
- slot: Macroable<LiteralUnion<EntitySlotSelector>, MACRO>,
90
+ slotSource: Macroable<ItemSlotSource, MACRO>,
76
91
  modifier?: Macroable<`${any}${string}` | ItemModifierClass, MACRO>,
77
- ) => this.finalCommand(['from', 'entity', targetParser(targets), slot, modifier]),
92
+ ) => this.finalCommand(['from', 'entity', targetParser(targets), slotSource, modifier]),
78
93
  }
79
94
  }
80
95
 
@@ -117,6 +132,10 @@ export class ItemCommand<MACRO extends boolean> extends CommandArguments {
117
132
  /**
118
133
  * Replace items in inventory slots.
119
134
  *
135
+ * Slot contents are replaced one-by-one in the order provided by the slot source:
136
+ * when there are more destination slots than source items, remaining slots are ignored;
137
+ * when there are fewer destination slots than source items, remaining items are ignored.
138
+ *
120
139
  * @example
121
140
  * ```ts
122
141
  * item.replace.block(abs(100, 70, 200), 'container.0').with('minecraft:diamond', 5)
@@ -126,18 +145,76 @@ export class ItemCommand<MACRO extends boolean> extends CommandArguments {
126
145
  replace = {
127
146
  /**
128
147
  * @param pos Container block coordinates.
129
- * @param slot Container slot to replace.
148
+ * @param slotSource Slot source whose slots to replace.
130
149
  */
131
- block: (pos: Macroable<Coordinates<MACRO>, MACRO>, slot: Macroable<LiteralUnion<ContainerSlotSelector>, MACRO>) =>
132
- this.subCommand(['replace', 'block', pos, slot], ItemSourceCommand<MACRO>, false),
150
+ block: (pos: Macroable<Coordinates<MACRO>, MACRO>, slotSource: Macroable<ItemSlotSource, MACRO>) =>
151
+ this.subCommand(['replace', 'block', pos, slotSource], ItemSourceCommand<MACRO>, false),
133
152
 
134
153
  /**
135
154
  * @param targets Entity selector for targets.
136
- * @param slot Entity slot to replace.
155
+ * @param slotSource Slot source whose slots to replace.
137
156
  */
138
157
  entity: (
139
158
  targets: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
140
- slot: Macroable<LiteralUnion<EntitySlotSelector>, MACRO>,
141
- ) => this.subCommand(['replace', 'entity', targetParser(targets), slot], ItemSourceCommand<MACRO>, false),
159
+ slotSource: Macroable<ItemSlotSource, MACRO>,
160
+ ) => this.subCommand(['replace', 'entity', targetParser(targets), slotSource], ItemSourceCommand<MACRO>, false),
161
+ }
162
+
163
+ /**
164
+ * Fill items in inventory slots.
165
+ *
166
+ * Each destination slot is filled with a source item. When there are more destination slots
167
+ * than source items, items repeat cyclically until every slot is filled.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * item.fill.block(abs(100, 70, 200), 'container.*').with('minecraft:diamond')
172
+ * ```
173
+ */
174
+ fill = {
175
+ /**
176
+ * @param pos Container block coordinates.
177
+ * @param slotSource Slot source whose slots to fill.
178
+ */
179
+ block: (pos: Macroable<Coordinates<MACRO>, MACRO>, slotSource: Macroable<ItemSlotSource, MACRO>) =>
180
+ this.subCommand(['fill', 'block', pos, slotSource], ItemSourceCommand<MACRO>, false),
181
+
182
+ /**
183
+ * @param targets Entity selector for targets.
184
+ * @param slotSource Slot source whose slots to fill.
185
+ */
186
+ entity: (
187
+ targets: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
188
+ slotSource: Macroable<ItemSlotSource, MACRO>,
189
+ ) => this.subCommand(['fill', 'entity', targetParser(targets), slotSource], ItemSourceCommand<MACRO>, false),
190
+ }
191
+
192
+ /**
193
+ * Override items in inventory slots.
194
+ *
195
+ * Each destination slot is overridden with the corresponding source item. When there are more
196
+ * destination slots than source items, remaining slots are cleared.
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * item.override.entity('@p', 'inventory.*').with('minecraft:dirt')
201
+ * ```
202
+ */
203
+ override = {
204
+ /**
205
+ * @param pos Container block coordinates.
206
+ * @param slotSource Slot source whose slots to override.
207
+ */
208
+ block: (pos: Macroable<Coordinates<MACRO>, MACRO>, slotSource: Macroable<ItemSlotSource, MACRO>) =>
209
+ this.subCommand(['override', 'block', pos, slotSource], ItemSourceCommand<MACRO>, false),
210
+
211
+ /**
212
+ * @param targets Entity selector for targets.
213
+ * @param slotSource Slot source whose slots to override.
214
+ */
215
+ entity: (
216
+ targets: Macroable<MultipleEntitiesArgument<MACRO>, MACRO>,
217
+ slotSource: Macroable<ItemSlotSource, MACRO>,
218
+ ) => this.subCommand(['override', 'entity', targetParser(targets), slotSource], ItemSourceCommand<MACRO>, false),
142
219
  }
143
220
  }
@@ -1,4 +1,4 @@
1
- import { RESOURCE_PATHS, type SymbolResource } from 'sandstone/arguments'
1
+ import { RESOURCE_PATHS, type MCDocToJSON, type SymbolResource } from 'sandstone/arguments'
2
2
  import { ContainerNode } from '../../nodes'
3
3
  import type { SandstoneCore } from '../../sandstoneCore'
4
4
  import type { ResourceClassArguments, ResourceNode } from '../resource'
@@ -22,13 +22,13 @@ export type DecoratedPotPatternClassArguments = {
22
22
  /**
23
23
  * The decorated pot pattern's JSON.
24
24
  */
25
- json: SymbolResource[(typeof DecoratedPotPatternClass)['resourceType']]
25
+ json: MCDocToJSON<SymbolResource[(typeof DecoratedPotPatternClass)['resourceType']]>
26
26
  } & ResourceClassArguments<'default'>
27
27
 
28
28
  export class DecoratedPotPatternClass extends ResourceClass<DecoratedPotPatternNode> {
29
29
  static readonly resourceType = 'decorated_pot_pattern' as const
30
30
 
31
- public decoratedPotPatternJSON: NonNullable<DecoratedPotPatternClassArguments['json']>
31
+ public decoratedPotPatternJSON: DecoratedPotPatternClassArguments['json']
32
32
 
33
33
  constructor(sandstoneCore: SandstoneCore, name: string, args: DecoratedPotPatternClassArguments) {
34
34
  super(
@@ -2,7 +2,7 @@ export * from './advancement'
2
2
  export * from './bannerPattern'
3
3
  export * from './chatType'
4
4
  export * from './damageType'
5
- // export * from './decoratedPotPattern'
5
+ export * from './decoratedPotPattern'
6
6
  export * from './dialog'
7
7
  export * from './enchantment'
8
8
  export * from './gametest'
@@ -13,7 +13,7 @@ export * from './lootTable'
13
13
  export * from './mcfunction'
14
14
  export * from './predicate'
15
15
  export * from './recipe'
16
- // export * from './slotSource'
16
+ export * from './slotSource'
17
17
  export * from './structure'
18
18
  export * from './sulfurCubeArchetype'
19
19
  export * from './tag'
@@ -63,7 +63,7 @@ export class ItemModifierClass extends ResourceClass<ItemModifierNode> implement
63
63
  }
64
64
 
65
65
  for (const modifier of modifiers) {
66
- let modifierJSON: ItemModifierJSON
66
+ let modifierJSON: any
67
67
  if (modifier instanceof ItemModifierClass) {
68
68
  modifierJSON = modifier.itemModifierJSON
69
69
  } else {
@@ -83,7 +83,7 @@ export class ItemModifierClass extends ResourceClass<ItemModifierNode> implement
83
83
  }
84
84
 
85
85
  for (const modifier of modifiers) {
86
- let modifierJSON: ItemModifierJSON
86
+ let modifierJSON: any
87
87
  if (modifier instanceof ItemModifierClass) {
88
88
  modifierJSON = modifier.itemModifierJSON
89
89
  } else {
@@ -1,4 +1,5 @@
1
- import { RESOURCE_PATHS, type SymbolResource } from 'sandstone/arguments'
1
+ import { RESOURCE_PATHS, type MCDocToJSON, type SymbolResource } from 'sandstone/arguments'
2
+ import type { ConditionClass } from 'sandstone/variables'
2
3
  import { ContainerNode } from '../../nodes'
3
4
  import type { SandstoneCore } from '../../sandstoneCore'
4
5
  import type { ResourceClassArguments, ResourceNode } from '../resource'
@@ -22,13 +23,15 @@ export type SlotSourceClassArguments = {
22
23
  /**
23
24
  * The slot source's JSON.
24
25
  */
25
- json: NonNullable<SymbolResource[(typeof SlotSourceClass)['resourceType']]>
26
+ json: MCDocToJSON<SymbolResource[(typeof SlotSourceClass)['resourceType']]>
26
27
  } & ResourceClassArguments<'default'>
27
28
 
28
- export class SlotSourceClass extends ResourceClass<SlotSourceNode> {
29
+ export class SlotSourceClass extends ResourceClass<SlotSourceNode> implements ConditionClass {
30
+ declare readonly __conditionClassBrand: true
31
+
29
32
  static readonly resourceType = 'slot_source' as const
30
33
 
31
- public slotSourceJSON: NonNullable<SlotSourceClassArguments['json']>
34
+ public slotSourceJSON: SlotSourceClassArguments['json']
32
35
 
33
36
  constructor(sandstoneCore: SandstoneCore, name: string, args: SlotSourceClassArguments) {
34
37
  super(
@@ -44,4 +47,12 @@ export class SlotSourceClass extends ResourceClass<SlotSourceNode> {
44
47
 
45
48
  this.handleConflicts()
46
49
  }
50
+
51
+ /** @internal */
52
+ _toMinecraftCondition = () => new this.pack.conditions.SlotSource(this.core, this.name)
53
+
54
+ /** @internal */
55
+ toJSON() {
56
+ return this.slotSourceJSON
57
+ }
47
58
  }