sandstone 1.0.0 → 1.1.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 (295) hide show
  1. package/README.md +1 -1
  2. package/dist/_internal/index.d.ts +91 -16
  3. package/dist/_internal/index.js +1961 -306
  4. package/dist/_internal/index.js.map +1 -1
  5. package/dist/_internal/types/arguments/generated/_builtin/block_state_keys.d.ts +85 -1
  6. package/dist/_internal/types/arguments/generated/_builtin/block_states.d.ts +181 -1
  7. package/dist/_internal/types/arguments/generated/_dispatcher/block.d.ts +57 -21
  8. package/dist/_internal/types/arguments/generated/_dispatcher/block_entity.d.ts +5 -1
  9. package/dist/_internal/types/arguments/generated/_dispatcher/data_component_existence_predicate.d.ts +19 -0
  10. package/dist/_internal/types/arguments/generated/_dispatcher/resource.d.ts +24 -1
  11. package/dist/_internal/types/arguments/generated/_registry/advancements.d.ts +1 -1
  12. package/dist/_internal/types/arguments/generated/_registry/atlases.d.ts +1 -1
  13. package/dist/_internal/types/arguments/generated/_registry/attributes.d.ts +1 -1
  14. package/dist/_internal/types/arguments/generated/_registry/block_definitions.d.ts +1 -1
  15. package/dist/_internal/types/arguments/generated/_registry/block_entity_types.d.ts +1 -1
  16. package/dist/_internal/types/arguments/generated/_registry/block_predicate_types.d.ts +1 -1
  17. package/dist/_internal/types/arguments/generated/_registry/block_types.d.ts +1 -1
  18. package/dist/_internal/types/arguments/generated/_registry/blocks.d.ts +1 -1
  19. package/dist/_internal/types/arguments/generated/_registry/cat_sound_variants.d.ts +4 -0
  20. package/dist/_internal/types/arguments/generated/_registry/chicken_sound_variants.d.ts +4 -0
  21. package/dist/_internal/types/arguments/generated/_registry/chunk_statuses.d.ts +1 -1
  22. package/dist/_internal/types/arguments/generated/_registry/command_argument_types.d.ts +1 -1
  23. package/dist/_internal/types/arguments/generated/_registry/cow_sound_variants.d.ts +4 -0
  24. package/dist/_internal/types/arguments/generated/_registry/damage_types.d.ts +1 -1
  25. package/dist/_internal/types/arguments/generated/_registry/data_component_types.d.ts +1 -1
  26. package/dist/_internal/types/arguments/generated/_registry/entity_sub_predicate_types.d.ts +1 -1
  27. package/dist/_internal/types/arguments/generated/_registry/entity_types.d.ts +1 -1
  28. package/dist/_internal/types/arguments/generated/_registry/game_events.d.ts +1 -1
  29. package/dist/_internal/types/arguments/generated/_registry/game_rules.d.ts +1 -1
  30. package/dist/_internal/types/arguments/generated/_registry/item_definitions.d.ts +1 -1
  31. package/dist/_internal/types/arguments/generated/_registry/items.d.ts +1 -1
  32. package/dist/_internal/types/arguments/generated/_registry/jukebox_songs.d.ts +1 -1
  33. package/dist/_internal/types/arguments/generated/_registry/langs.d.ts +1 -1
  34. package/dist/_internal/types/arguments/generated/_registry/loot_pool_entry_types.d.ts +1 -1
  35. package/dist/_internal/types/arguments/generated/_registry/loot_tables.d.ts +1 -1
  36. package/dist/_internal/types/arguments/generated/_registry/models.d.ts +1 -1
  37. package/dist/_internal/types/arguments/generated/_registry/particle_types.d.ts +1 -1
  38. package/dist/_internal/types/arguments/generated/_registry/pig_sound_variants.d.ts +4 -0
  39. package/dist/_internal/types/arguments/generated/_registry/recipes.d.ts +1 -1
  40. package/dist/_internal/types/arguments/generated/_registry/sound_events.d.ts +1 -1
  41. package/dist/_internal/types/arguments/generated/_registry/sounds.d.ts +1 -1
  42. package/dist/_internal/types/arguments/generated/_registry/structures.d.ts +1 -1
  43. package/dist/_internal/types/arguments/generated/_registry/sulfur_cube_archetypes.d.ts +4 -0
  44. package/dist/_internal/types/arguments/generated/_registry/tag_blocks.d.ts +1 -1
  45. package/dist/_internal/types/arguments/generated/_registry/tag_damage_types.d.ts +1 -1
  46. package/dist/_internal/types/arguments/generated/_registry/tag_entity_types.d.ts +1 -1
  47. package/dist/_internal/types/arguments/generated/_registry/tag_items.d.ts +1 -1
  48. package/dist/_internal/types/arguments/generated/_registry/test_environment_definition_types.d.ts +1 -1
  49. package/dist/_internal/types/arguments/generated/_registry/textures.d.ts +1 -1
  50. package/dist/_internal/types/arguments/generated/_registry/translation_keys.d.ts +1 -1
  51. package/dist/_internal/types/arguments/generated/_registry/trigger_types.d.ts +1 -1
  52. package/dist/_internal/types/arguments/generated/_registry/trim_patterns.d.ts +1 -1
  53. package/dist/_internal/types/arguments/generated/_registry/villager_trades.d.ts +1 -1
  54. package/dist/_internal/types/arguments/generated/_registry/wolf_sound_variants.d.ts +1 -1
  55. package/dist/_internal/types/arguments/generated/_registry/wolf_variants.d.ts +1 -1
  56. package/dist/_internal/types/arguments/generated/_registry/worldgen_biomes.d.ts +1 -1
  57. package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_carvers.d.ts +1 -1
  58. package/dist/_internal/types/arguments/generated/_registry/worldgen_configured_features.d.ts +1 -1
  59. package/dist/_internal/types/arguments/generated/_registry/worldgen_density_function_types.d.ts +1 -1
  60. package/dist/_internal/types/arguments/generated/_registry/worldgen_features.d.ts +1 -1
  61. package/dist/_internal/types/arguments/generated/_registry/worldgen_noises.d.ts +1 -1
  62. package/dist/_internal/types/arguments/generated/_registry/worldgen_placed_features.d.ts +1 -1
  63. package/dist/_internal/types/arguments/generated/_registry/worldgen_world_presets.d.ts +1 -1
  64. package/dist/_internal/types/arguments/generated/assets/atlas.d.ts +11 -2
  65. package/dist/_internal/types/arguments/generated/assets/block_state_definition.d.ts +25 -0
  66. package/dist/_internal/types/arguments/generated/assets/credits.d.ts +53 -0
  67. package/dist/_internal/types/arguments/generated/assets/equipment.d.ts +4 -5
  68. package/dist/_internal/types/arguments/generated/assets/item_definition.d.ts +29 -31
  69. package/dist/_internal/types/arguments/generated/assets/model.d.ts +126 -0
  70. package/dist/_internal/types/arguments/generated/assets/shader/program.d.ts +3 -0
  71. package/dist/_internal/types/arguments/generated/assets/sounds.d.ts +1 -1
  72. package/dist/_internal/types/arguments/generated/assets/texture_meta.d.ts +168 -28
  73. package/dist/_internal/types/arguments/generated/data/advancement/predicate.d.ts +170 -56
  74. package/dist/_internal/types/arguments/generated/data/advancement/trigger.d.ts +18 -0
  75. package/dist/_internal/types/arguments/generated/data/advancement.d.ts +7 -4
  76. package/dist/_internal/types/arguments/generated/data/chat_type.d.ts +7 -2
  77. package/dist/_internal/types/arguments/generated/data/decorated_pot_pattern.d.ts +8 -0
  78. package/dist/_internal/types/arguments/generated/data/dialog/input.d.ts +21 -0
  79. package/dist/_internal/types/arguments/generated/data/dialog.d.ts +5 -5
  80. package/dist/_internal/types/arguments/generated/data/enchantment/effect_component.d.ts +25 -25
  81. package/dist/_internal/types/arguments/generated/data/gametest/test_environment.d.ts +19 -1
  82. package/dist/_internal/types/arguments/generated/data/gametest.d.ts +1 -1
  83. package/dist/_internal/types/arguments/generated/data/item_modifier.d.ts +2 -1
  84. package/dist/_internal/types/arguments/generated/data/loot/condition.d.ts +84 -86
  85. package/dist/_internal/types/arguments/generated/data/loot/function.d.ts +261 -232
  86. package/dist/_internal/types/arguments/generated/data/loot.d.ts +10 -13
  87. package/dist/_internal/types/arguments/generated/data/predicate.d.ts +2 -1
  88. package/dist/_internal/types/arguments/generated/data/recipe.d.ts +58 -1
  89. package/dist/_internal/types/arguments/generated/data/slot_source.d.ts +91 -0
  90. package/dist/_internal/types/arguments/generated/data/structure.d.ts +59 -0
  91. package/dist/_internal/types/arguments/generated/data/sulfur_cube_archetype.d.ts +84 -0
  92. package/dist/_internal/types/arguments/generated/data/trim.d.ts +7 -1
  93. package/dist/_internal/types/arguments/generated/data/util.d.ts +7 -0
  94. package/dist/_internal/types/arguments/generated/data/variants/painting.d.ts +2 -2
  95. package/dist/_internal/types/arguments/generated/data/villager_trade.d.ts +4 -4
  96. package/dist/_internal/types/arguments/generated/data/worldgen/biome.d.ts +18 -0
  97. package/dist/_internal/types/arguments/generated/data/worldgen/carver.d.ts +24 -0
  98. package/dist/_internal/types/arguments/generated/data/worldgen/density_function.d.ts +28 -2
  99. package/dist/_internal/types/arguments/generated/data/worldgen/dimension/biome_source.d.ts +4 -0
  100. package/dist/_internal/types/arguments/generated/data/worldgen/dimension.d.ts +2 -2
  101. package/dist/_internal/types/arguments/generated/data/worldgen/feature/block_predicate.d.ts +7 -1
  102. package/dist/_internal/types/arguments/generated/data/worldgen/feature/tree.d.ts +54 -6
  103. package/dist/_internal/types/arguments/generated/data/worldgen/feature.d.ts +285 -115
  104. package/dist/_internal/types/arguments/generated/data/worldgen/material_condition.d.ts +93 -0
  105. package/dist/_internal/types/arguments/generated/data/worldgen/material_rule.d.ts +35 -0
  106. package/dist/_internal/types/arguments/generated/data/worldgen/noise_settings.d.ts +6 -2
  107. package/dist/_internal/types/arguments/generated/data/worldgen/processor_list.d.ts +18 -2
  108. package/dist/_internal/types/arguments/generated/data/worldgen/structure.d.ts +72 -2
  109. package/dist/_internal/types/arguments/generated/data/worldgen/structure_set.d.ts +4 -4
  110. package/dist/_internal/types/arguments/generated/dispatcher.d.ts +5 -3
  111. package/dist/_internal/types/arguments/generated/pack.d.ts +7 -0
  112. package/dist/_internal/types/arguments/generated/registry-sets.d.ts +9 -4
  113. package/dist/_internal/types/arguments/generated/registry.d.ts +15 -5
  114. package/dist/_internal/types/arguments/generated/resource-paths.d.ts +15 -0
  115. package/dist/_internal/types/arguments/generated/resources.d.ts +13 -1
  116. package/dist/_internal/types/arguments/generated/util/effect.d.ts +105 -3
  117. package/dist/_internal/types/arguments/generated/util/particle.d.ts +72 -1
  118. package/dist/_internal/types/arguments/generated/util/slot.d.ts +1 -84
  119. package/dist/_internal/types/arguments/generated/util/text.d.ts +191 -1
  120. package/dist/_internal/types/arguments/generated/util.d.ts +1 -0
  121. package/dist/_internal/types/arguments/generated/world/block/decorated_pot.d.ts +3 -5
  122. package/dist/_internal/types/arguments/generated/world/block/furnace.d.ts +3 -0
  123. package/dist/_internal/types/arguments/generated/world/block/potent_sulfur.d.ts +10 -0
  124. package/dist/_internal/types/arguments/generated/world/block/test_instance_block.d.ts +46 -1
  125. package/dist/_internal/types/arguments/generated/world/block/vault.d.ts +59 -0
  126. package/dist/_internal/types/arguments/generated/world/component/block.d.ts +6 -0
  127. package/dist/_internal/types/arguments/generated/world/component/item.d.ts +21 -6
  128. package/dist/_internal/types/arguments/generated/world/component/predicate.d.ts +4 -1
  129. package/dist/_internal/types/arguments/generated/world/component.d.ts +2 -1
  130. package/dist/_internal/types/arguments/generated/world/entity/boat.d.ts +15 -2
  131. package/dist/_internal/types/arguments/generated/world/entity/display.d.ts +34 -0
  132. package/dist/_internal/types/arguments/generated/world/entity/mob/breedable/chicken.d.ts +1 -1
  133. package/dist/_internal/types/arguments/generated/world/entity/mob/breedable/cow.d.ts +1 -1
  134. package/dist/_internal/types/arguments/generated/world/entity/mob/breedable/saddled.d.ts +1 -1
  135. package/dist/_internal/types/arguments/generated/world/entity/mob/breedable/tamable.d.ts +1 -1
  136. package/dist/_internal/types/arguments/generated/world/entity/mob/copper_golem.d.ts +3 -3
  137. package/dist/_internal/types/arguments/generated/world/entity/mob/happy_ghast.d.ts +5 -0
  138. package/dist/_internal/types/arguments/generated/world/entity/mob/player.d.ts +21 -0
  139. package/dist/_internal/types/arguments/generated/world/entity/mob/shulker.d.ts +2 -2
  140. package/dist/_internal/types/arguments/generated/world/entity/mob/slime.d.ts +20 -2
  141. package/dist/_internal/types/arguments/generated/world/entity/mob.d.ts +50 -7
  142. package/dist/_internal/types/arguments/generated/world/item/map.d.ts +12 -0
  143. package/dist/_internal/types/arguments/generated/world/item/shield.d.ts +26 -0
  144. package/dist/_internal/types/core/resources/datapack/decoratedPotPattern.d.ts +24 -0
  145. package/dist/_internal/types/core/resources/datapack/index.d.ts +3 -0
  146. package/dist/_internal/types/core/resources/datapack/slotSource.d.ts +24 -0
  147. package/dist/_internal/types/core/resources/datapack/sulfurCubeArchetype.d.ts +24 -0
  148. package/dist/_internal/types/pack/pack.d.ts +5 -2
  149. package/dist/_internal/types/variables/ResolveNBT.d.ts +1 -1
  150. package/dist/browser/sandstone.esm.js +1961 -306
  151. package/dist/browser/sandstone.esm.js.map +1 -1
  152. package/dist/exports/arguments/index.d.ts +1 -1
  153. package/dist/exports/arguments/index.js +1 -1
  154. package/dist/exports/core/index.d.ts +1 -1
  155. package/dist/exports/core/index.js +1 -1
  156. package/dist/exports/index.d.ts +1 -1
  157. package/dist/exports/index.js +1 -1
  158. package/package.json +2 -2
  159. package/src/arguments/generated/_builtin/block_state_keys.ts +112 -0
  160. package/src/arguments/generated/_builtin/block_states.ts +208 -0
  161. package/src/arguments/generated/_dispatcher/block.ts +68 -20
  162. package/src/arguments/generated/_dispatcher/block_entity.ts +5 -0
  163. package/src/arguments/generated/_dispatcher/data_component_existence_predicate.ts +34 -0
  164. package/src/arguments/generated/_dispatcher/resource.ts +29 -0
  165. package/src/arguments/generated/_registry/advancements.ts +71 -0
  166. package/src/arguments/generated/_registry/atlases.ts +0 -2
  167. package/src/arguments/generated/_registry/attributes.ts +5 -0
  168. package/src/arguments/generated/_registry/block_definitions.ts +28 -0
  169. package/src/arguments/generated/_registry/block_entity_types.ts +1 -1
  170. package/src/arguments/generated/_registry/block_predicate_types.ts +1 -0
  171. package/src/arguments/generated/_registry/block_types.ts +3 -1
  172. package/src/arguments/generated/_registry/blocks.ts +28 -0
  173. package/src/arguments/generated/_registry/cat_sound_variants.ts +11 -0
  174. package/src/arguments/generated/_registry/chicken_sound_variants.ts +11 -0
  175. package/src/arguments/generated/_registry/command_argument_types.ts +1 -1
  176. package/src/arguments/generated/_registry/cow_sound_variants.ts +11 -0
  177. package/src/arguments/generated/_registry/damage_types.ts +1 -0
  178. package/src/arguments/generated/_registry/data_component_types.ts +1 -0
  179. package/src/arguments/generated/_registry/entity_sub_predicate_types.ts +25 -6
  180. package/src/arguments/generated/_registry/entity_types.ts +1 -0
  181. package/src/arguments/generated/_registry/game_events.ts +1 -0
  182. package/src/arguments/generated/_registry/item_definitions.ts +31 -0
  183. package/src/arguments/generated/_registry/items.ts +31 -0
  184. package/src/arguments/generated/_registry/jukebox_songs.ts +1 -0
  185. package/src/arguments/generated/_registry/langs.ts +5 -0
  186. package/src/arguments/generated/_registry/loot_tables.ts +29 -0
  187. package/src/arguments/generated/_registry/models.ts +294 -42
  188. package/src/arguments/generated/_registry/particle_types.ts +8 -0
  189. package/src/arguments/generated/_registry/pig_sound_variants.ts +12 -0
  190. package/src/arguments/generated/_registry/recipes.ts +70 -0
  191. package/src/arguments/generated/_registry/sound_events.ts +66 -0
  192. package/src/arguments/generated/_registry/sounds.ts +307 -0
  193. package/src/arguments/generated/_registry/structures.ts +10 -0
  194. package/src/arguments/generated/_registry/sulfur_cube_archetypes.ts +21 -0
  195. package/src/arguments/generated/_registry/tag_blocks.ts +18 -1
  196. package/src/arguments/generated/_registry/tag_damage_types.ts +1 -0
  197. package/src/arguments/generated/_registry/tag_entity_types.ts +1 -0
  198. package/src/arguments/generated/_registry/tag_items.ts +17 -0
  199. package/src/arguments/generated/_registry/test_environment_definition_types.ts +1 -0
  200. package/src/arguments/generated/_registry/textures.ts +233 -42
  201. package/src/arguments/generated/_registry/translation_keys.ts +316 -72
  202. package/src/arguments/generated/_registry/villager_trades.ts +1 -0
  203. package/src/arguments/generated/_registry/worldgen_biomes.ts +1 -0
  204. package/src/arguments/generated/_registry/worldgen_configured_features.ts +5 -0
  205. package/src/arguments/generated/_registry/worldgen_density_function_types.ts +1 -1
  206. package/src/arguments/generated/_registry/worldgen_features.ts +5 -2
  207. package/src/arguments/generated/_registry/worldgen_noises.ts +1 -0
  208. package/src/arguments/generated/_registry/worldgen_placed_features.ts +4 -0
  209. package/src/arguments/generated/_registry/worldgen_world_presets.ts +1 -0
  210. package/src/arguments/generated/assets/atlas.ts +14 -2
  211. package/src/arguments/generated/assets/block_state_definition.ts +30 -0
  212. package/src/arguments/generated/assets/credits.ts +56 -0
  213. package/src/arguments/generated/assets/equipment.ts +4 -5
  214. package/src/arguments/generated/assets/item_definition.ts +31 -31
  215. package/src/arguments/generated/assets/model.ts +133 -0
  216. package/src/arguments/generated/assets/shader/program.ts +4 -0
  217. package/src/arguments/generated/assets/sounds.ts +1 -1
  218. package/src/arguments/generated/assets/texture_meta.ts +174 -28
  219. package/src/arguments/generated/data/advancement/predicate.ts +218 -58
  220. package/src/arguments/generated/data/advancement/trigger.ts +20 -0
  221. package/src/arguments/generated/data/advancement.ts +8 -4
  222. package/src/arguments/generated/data/chat_type.ts +8 -2
  223. package/src/arguments/generated/data/decorated_pot_pattern.ts +8 -0
  224. package/src/arguments/generated/data/dialog/input.ts +22 -0
  225. package/src/arguments/generated/data/dialog.ts +5 -5
  226. package/src/arguments/generated/data/enchantment/effect_component.ts +25 -25
  227. package/src/arguments/generated/data/gametest/test_environment.ts +24 -0
  228. package/src/arguments/generated/data/gametest.ts +1 -2
  229. package/src/arguments/generated/data/item_modifier.ts +3 -1
  230. package/src/arguments/generated/data/loot/condition.ts +129 -112
  231. package/src/arguments/generated/data/loot/function.ts +362 -280
  232. package/src/arguments/generated/data/loot.ts +14 -13
  233. package/src/arguments/generated/data/predicate.ts +3 -1
  234. package/src/arguments/generated/data/recipe.ts +66 -1
  235. package/src/arguments/generated/data/slot_source.ts +119 -0
  236. package/src/arguments/generated/data/structure.ts +63 -0
  237. package/src/arguments/generated/data/sulfur_cube_archetype.ts +92 -0
  238. package/src/arguments/generated/data/trim.ts +9 -1
  239. package/src/arguments/generated/data/util.ts +8 -0
  240. package/src/arguments/generated/data/variants/painting.ts +2 -2
  241. package/src/arguments/generated/data/villager_trade.ts +4 -4
  242. package/src/arguments/generated/data/worldgen/biome.ts +24 -0
  243. package/src/arguments/generated/data/worldgen/carver.ts +28 -0
  244. package/src/arguments/generated/data/worldgen/density_function.ts +29 -1
  245. package/src/arguments/generated/data/worldgen/dimension/biome_source.ts +5 -0
  246. package/src/arguments/generated/data/worldgen/dimension.ts +4 -2
  247. package/src/arguments/generated/data/worldgen/feature/block_predicate.ts +8 -0
  248. package/src/arguments/generated/data/worldgen/feature/tree.ts +58 -4
  249. package/src/arguments/generated/data/worldgen/feature.ts +320 -124
  250. package/src/arguments/generated/data/worldgen/material_condition.ts +119 -0
  251. package/src/arguments/generated/data/worldgen/material_rule.ts +52 -0
  252. package/src/arguments/generated/data/worldgen/noise_settings.ts +7 -2
  253. package/src/arguments/generated/data/worldgen/processor_list.ts +24 -1
  254. package/src/arguments/generated/data/worldgen/structure.ts +79 -2
  255. package/src/arguments/generated/data/worldgen/structure_set.ts +13 -4
  256. package/src/arguments/generated/dispatcher.ts +11 -4
  257. package/src/arguments/generated/pack.ts +8 -0
  258. package/src/arguments/generated/registry-sets.ts +18 -8
  259. package/src/arguments/generated/registry.ts +27 -4
  260. package/src/arguments/generated/resource-paths.ts +3 -0
  261. package/src/arguments/generated/resources.ts +6 -0
  262. package/src/arguments/generated/util/effect.ts +107 -3
  263. package/src/arguments/generated/util/particle.ts +80 -0
  264. package/src/arguments/generated/util/slot.ts +1 -103
  265. package/src/arguments/generated/util/text.ts +207 -0
  266. package/src/arguments/generated/util.ts +2 -0
  267. package/src/arguments/generated/world/block/decorated_pot.ts +3 -5
  268. package/src/arguments/generated/world/block/furnace.ts +4 -0
  269. package/src/arguments/generated/world/block/potent_sulfur.ts +11 -0
  270. package/src/arguments/generated/world/block/test_instance_block.ts +48 -1
  271. package/src/arguments/generated/world/block/vault.ts +62 -0
  272. package/src/arguments/generated/world/component/block.ts +7 -0
  273. package/src/arguments/generated/world/component/item.ts +28 -5
  274. package/src/arguments/generated/world/component/predicate.ts +6 -0
  275. package/src/arguments/generated/world/component.ts +4 -1
  276. package/src/arguments/generated/world/entity/boat.ts +18 -1
  277. package/src/arguments/generated/world/entity/display.ts +35 -0
  278. package/src/arguments/generated/world/entity/mob/breedable/chicken.ts +1 -1
  279. package/src/arguments/generated/world/entity/mob/breedable/cow.ts +1 -1
  280. package/src/arguments/generated/world/entity/mob/breedable/saddled.ts +1 -1
  281. package/src/arguments/generated/world/entity/mob/breedable/tamable.ts +1 -1
  282. package/src/arguments/generated/world/entity/mob/copper_golem.ts +3 -3
  283. package/src/arguments/generated/world/entity/mob/happy_ghast.ts +6 -0
  284. package/src/arguments/generated/world/entity/mob/player.ts +21 -0
  285. package/src/arguments/generated/world/entity/mob/shulker.ts +2 -2
  286. package/src/arguments/generated/world/entity/mob/slime.ts +22 -2
  287. package/src/arguments/generated/world/entity/mob.ts +53 -7
  288. package/src/arguments/generated/world/item/map.ts +14 -0
  289. package/src/arguments/generated/world/item/shield.ts +27 -0
  290. package/src/core/resources/datapack/decoratedPotPattern.ts +47 -0
  291. package/src/core/resources/datapack/index.ts +3 -0
  292. package/src/core/resources/datapack/slotSource.ts +47 -0
  293. package/src/core/resources/datapack/sulfurCubeArchetype.ts +47 -0
  294. package/src/pack/pack.ts +33 -0
  295. package/src/sandstone.ts +24 -0
@@ -26,6 +26,7 @@ import type { ENTITY_SLOTS } from 'sandstone/arguments'
26
26
  import type { RootNBT } from 'sandstone/arguments/nbt.ts'
27
27
  import type {
28
28
  EnchantmentClass,
29
+ LabelClass,
29
30
  LiteralUnion,
30
31
  NBTClass,
31
32
  NBTDouble,
@@ -52,9 +53,7 @@ export type BlockPredicate<S = undefined> = {
52
53
  blocks?: ((
53
54
  | Registry['minecraft:block'] | `#${Registry['minecraft:tag/block']}` | TagClass<'block'>)
54
55
  | Array<Registry['minecraft:block']>),
55
- state?: (S extends undefined
56
- ? SymbolMcdocBlockStates<'%none'> :
57
- (S extends keyof SymbolMcdocBlockStates ? SymbolMcdocBlockStates[S] : SymbolMcdocBlockStates<'%unknown'>)),
56
+ state?: BlockPredicateState,
58
57
  nbt?: ((`${any}${string}` | NBTClass) | (S extends keyof SymbolBlock ? SymbolBlock[S] : RootNBT)),
59
58
  /**
60
59
  * Match exact data component values on the block entity.
@@ -66,6 +65,8 @@ export type BlockPredicate<S = undefined> = {
66
65
  predicates?: DataComponentPredicate,
67
66
  }
68
67
 
68
+ export type BlockPredicateState = SymbolMcdocBlockStates<'%unknown'>
69
+
69
70
  export type BoatPredicate = {
70
71
  /**
71
72
  * Value:
@@ -106,12 +107,20 @@ export type DamagePredicate = {
106
107
  * Source of the damage (eg: a skeleton shooting an arrow or player igniting tnt).
107
108
  */
108
109
  source_entity?: EntityPredicate,
109
- /**
110
- * The type of the damage source.
111
- */
112
110
  type?: DamageSourcePredicate,
113
111
  }
114
112
 
113
+ export type DamageSourceFlags = {
114
+ is_explosion?: boolean,
115
+ is_fire?: boolean,
116
+ is_magic?: boolean,
117
+ is_projectile?: boolean,
118
+ is_lightning?: boolean,
119
+ bypasses_armor?: boolean,
120
+ bypasses_invulnerability?: boolean,
121
+ bypasses_magic?: boolean,
122
+ }
123
+
115
124
  export type DamageSourcePredicate = {
116
125
  /**
117
126
  * Damage type tags that the damage type is in.
@@ -132,9 +141,6 @@ export type DamageSourcePredicate = {
132
141
  }
133
142
 
134
143
  export type DamageTagPredicate = {
135
- /**
136
- * The damage type tag to check.
137
- */
138
144
  id: (Registry['minecraft:tag/damage_type']),
139
145
  /**
140
146
  * Whether the damage is expected to have or not have the tag.
@@ -160,6 +166,14 @@ export type EnchantmentPredicate = {
160
166
  levels?: MinMaxBounds<NBTInt>,
161
167
  }
162
168
 
169
+ export type EntityEffectsPredicate = ({
170
+ [Key in Extract<Registry['minecraft:mob_effect'], string>]?: MobEffectPredicate
171
+ })
172
+
173
+ export type EntityEquipmentPredicate = ({
174
+ [Key in Extract<EquipmentSlot, string>]?: ItemPredicate
175
+ })
176
+
163
177
  export type EntityFlagsPredicate = {
164
178
  is_on_fire?: boolean,
165
179
  is_sneaking?: boolean,
@@ -172,61 +186,42 @@ export type EntityFlagsPredicate = {
172
186
  is_fall_flying?: boolean,
173
187
  }
174
188
 
175
- export type EntityPredicate<S = undefined> = {
176
- type?: ((
177
- | Registry['minecraft:entity_type'] | `#${Registry['minecraft:tag/entity_type']}` | TagClass<'entity_type'>)
178
- | Array<Registry['minecraft:entity_type']>),
179
- type_specific?: EntitySubPredicate,
180
- team?: `${any}${string}`,
181
- nbt?: ((`${any}${string}` | NBTClass) | (S extends keyof SymbolEntity ? SymbolEntity[S] : RootNBT)),
182
- location?: LocationPredicate,
183
- distance?: DistancePredicate,
184
- flags?: EntityFlagsPredicate,
185
- equipment?: ({
186
- [Key in Extract<EquipmentSlot, string>]?: ItemPredicate
187
- }),
188
- vehicle?: EntityPredicate,
189
- passenger?: EntityPredicate,
190
- stepping_on?: LocationPredicate,
191
- /**
192
- * The entity that a mob's AI/aggro is targeting.
193
- */
194
- targeted_entity?: EntityPredicate,
195
- effects?: ({
196
- [Key in Extract<Registry['minecraft:mob_effect'], string>]?: MobEffectPredicate
197
- }),
198
- slots?: ({
199
- [Key in Extract<LiteralUnion<ENTITY_SLOTS>, string>]?: ItemPredicate
200
- }),
201
- movement?: MovementPredicate,
202
- /**
203
- * True every `n` ticks of an entity's lifetime.
204
- *
205
- * Value:
206
- * Range: 1..
207
- */
208
- periodic_tick?: NBTInt<{
209
- min: 1,
210
- }>,
189
+ export type EntityPredicate = EntitySubPredicateMap
190
+
191
+ export type EntitySlotsPredicate = ({
192
+ [Key in Extract<LiteralUnion<ENTITY_SLOTS>, string>]?: ItemPredicate
193
+ })
194
+
195
+ export type EntitySubPredicate = NonNullable<({
196
+ [S in Extract<Registry['minecraft:entity_sub_predicate_type'], string>]?: ({
197
+ type: S,
198
+ } & (S extends keyof SymbolEntitySubPredicate ? SymbolEntitySubPredicate[S] : RootNBT))
199
+ }[Registry['minecraft:entity_sub_predicate_type']])>
200
+
201
+ export type EntitySubPredicateMap = ({
202
+ [Key in Extract<Registry['minecraft:entity_sub_predicate_type'], string>]?: (Key extends keyof SymbolEntitySubPredicate
203
+ ? SymbolEntitySubPredicate[Key]
204
+ : RootNBT)
205
+ })
206
+
207
+ export type EntityTagPredicate = {
211
208
  /**
212
- * Whether the block at most 0.5 blocks below the entity is present which can affect its movement.
209
+ * Must have at least one of the listed tags.
213
210
  */
214
- movement_affected_by?: LocationPredicate,
211
+ any_of?: Array<`${any}${string}` | LabelClass>,
215
212
  /**
216
- * Match exact data component values on the entity.
213
+ * Must have all the listed tags.
217
214
  */
218
- components?: DataComponentExactPredicate,
215
+ all_of?: Array<`${any}${string}` | LabelClass>,
219
216
  /**
220
- * Test data component values on the entity.
217
+ * Must have none of the listed tags.
221
218
  */
222
- predicates?: DataComponentPredicate,
219
+ none_of?: Array<`${any}${string}` | LabelClass>,
223
220
  }
224
221
 
225
- export type EntitySubPredicate = NonNullable<({
226
- [S in Extract<Registry['minecraft:entity_sub_predicate_type'], string>]?: ({
227
- type: S,
228
- } & (S extends keyof SymbolEntitySubPredicate ? SymbolEntitySubPredicate[S] : RootNBT))
229
- }[Registry['minecraft:entity_sub_predicate_type']])>
222
+ export type EntityTypePredicate = ((
223
+ | Registry['minecraft:entity_type'] | `#${Registry['minecraft:tag/entity_type']}` | TagClass<'entity_type'>)
224
+ | Array<Registry['minecraft:entity_type']>)
230
225
 
231
226
  export type FishingHookPredicate = {
232
227
  in_open_water?: boolean,
@@ -241,6 +236,15 @@ export type FluidPredicate = {
241
236
  }),
242
237
  }
243
238
 
239
+ export type FluidPredicateState = ({
240
+ [Key in `${any}${string}`]?: (MinMaxBounds<NBTInt> | boolean | string)
241
+ })
242
+
243
+ export type FoodPredicate = {
244
+ level?: MinMaxBounds<NBTInt>,
245
+ saturation?: MinMaxBounds<(NBTDouble | number)>,
246
+ }
247
+
244
248
  export type FoxPredicate = {
245
249
  /**
246
250
  * Value:
@@ -274,6 +278,16 @@ export type HorsePredicate = {
274
278
  variant: HorseVariant,
275
279
  }
276
280
 
281
+ export type InputPredicate = {
282
+ forward?: boolean,
283
+ backward?: boolean,
284
+ left?: boolean,
285
+ right?: boolean,
286
+ jump?: boolean,
287
+ sneak?: boolean,
288
+ sprint?: boolean,
289
+ }
290
+
277
291
  export type ItemPredicate = {
278
292
  items?: ((
279
293
  | Registry['minecraft:item'] | `#${Registry['minecraft:tag/item']}` | TagClass<'item'>)
@@ -338,6 +352,19 @@ export type LocationPredicate = {
338
352
  can_see_sky?: boolean,
339
353
  }
340
354
 
355
+ export type LocationPredicateLight = {
356
+ light?: MinMaxBounds<NBTInt<{
357
+ min: 0,
358
+ max: 15,
359
+ }>>,
360
+ }
361
+
362
+ export type LocationPredicatePosition = {
363
+ x?: MinMaxBounds<NBTFloat>,
364
+ y?: MinMaxBounds<NBTFloat>,
365
+ z?: MinMaxBounds<NBTFloat>,
366
+ }
367
+
341
368
  export type MobEffectPredicate = {
342
369
  amplifier?: MinMaxBounds<NBTInt>,
343
370
  duration?: MinMaxBounds<NBTInt>,
@@ -387,6 +414,16 @@ export type ParrotPredicate = {
387
414
  variant: ParrotVariant,
388
415
  }
389
416
 
417
+ export type PlayerAdvancementCriteria = ({
418
+ [Key in `${any}${string}`]?: boolean
419
+ })
420
+
421
+ export type PlayerAdvancements = ({
422
+ [Key in Extract<Registry['minecraft:advancement'], string>]?: (boolean | ({
423
+ [Key in `${any}${string}`]?: boolean
424
+ }))
425
+ })
426
+
390
427
  export type PlayerPredicate = {
391
428
  advancements?: ({
392
429
  [Key in Extract<Registry['minecraft:advancement'], string>]?: (boolean | ({
@@ -421,6 +458,29 @@ export type PlayerPredicate = {
421
458
  },
422
459
  }
423
460
 
461
+ export type PlayerRecipes = ({
462
+ [Key in Extract<Registry['minecraft:recipe'], string>]?: boolean
463
+ })
464
+
465
+ export type PostComponentsItemPredicate = {
466
+ items?: ((
467
+ | Registry['minecraft:item'] | `#${Registry['minecraft:tag/item']}` | TagClass<'item'>)
468
+ | Array<Registry['minecraft:item']>),
469
+ count?: MinMaxBounds<NBTInt>,
470
+ components?: DataComponentExactPredicate,
471
+ predicates?: DataComponentPredicate,
472
+ }
473
+
474
+ export type PreComponentsItemPredicate = {
475
+ items?: Array<Registry['minecraft:item']>,
476
+ tag?: (Registry['minecraft:tag/item']),
477
+ durability?: MinMaxBounds<NBTInt>,
478
+ potion?: Registry['minecraft:potion'],
479
+ enchantments?: Array<EnchantmentPredicate>,
480
+ stored_enchantments?: Array<EnchantmentPredicate>,
481
+ nbt?: `${any}${string}` | NBTClass,
482
+ }
483
+
424
484
  export type RabbitPredicate = {
425
485
  /**
426
486
  * Value:
@@ -492,8 +552,6 @@ export type StatisticPredicate = NonNullable<({
492
552
 
493
553
  export type TropicalFishPredicate = {
494
554
  /**
495
- * The pattern of the tropical fish.
496
- *
497
555
  * Value:
498
556
  *
499
557
  * - Kob(`kob`)
@@ -528,8 +586,22 @@ type EntitySubPredicateDispatcherMap = {
528
586
  'minecraft:boat': EntitySubPredicateBoat,
529
587
  'cat': EntitySubPredicateCat,
530
588
  'minecraft:cat': EntitySubPredicateCat,
589
+ 'components': EntitySubPredicateComponents,
590
+ 'minecraft:components': EntitySubPredicateComponents,
591
+ 'distance': EntitySubPredicateDistance,
592
+ 'minecraft:distance': EntitySubPredicateDistance,
593
+ 'effects': EntitySubPredicateEffects,
594
+ 'minecraft:effects': EntitySubPredicateEffects,
595
+ 'entity_tags': EntitySubPredicateEntityTags,
596
+ 'minecraft:entity_tags': EntitySubPredicateEntityTags,
597
+ 'entity_type': EntitySubPredicateEntityType,
598
+ 'minecraft:entity_type': EntitySubPredicateEntityType,
599
+ 'equipment': EntitySubPredicateEquipment,
600
+ 'minecraft:equipment': EntitySubPredicateEquipment,
531
601
  'fishing_hook': EntitySubPredicateFishingHook,
532
602
  'minecraft:fishing_hook': EntitySubPredicateFishingHook,
603
+ 'flags': EntitySubPredicateFlags,
604
+ 'minecraft:flags': EntitySubPredicateFlags,
533
605
  'fox': EntitySubPredicateFox,
534
606
  'minecraft:fox': EntitySubPredicateFox,
535
607
  'frog': EntitySubPredicateFrog,
@@ -540,14 +612,28 @@ type EntitySubPredicateDispatcherMap = {
540
612
  'minecraft:lightning': EntitySubPredicateLightning,
541
613
  'llama': EntitySubPredicateLlama,
542
614
  'minecraft:llama': EntitySubPredicateLlama,
615
+ 'location': EntitySubPredicateLocation,
616
+ 'minecraft:location': EntitySubPredicateLocation,
543
617
  'mooshroom': EntitySubPredicateMooshroom,
544
618
  'minecraft:mooshroom': EntitySubPredicateMooshroom,
619
+ 'movement': EntitySubPredicateMovement,
620
+ 'minecraft:movement': EntitySubPredicateMovement,
621
+ 'movement_affected_by': EntitySubPredicateMovementAffectedBy,
622
+ 'minecraft:movement_affected_by': EntitySubPredicateMovementAffectedBy,
623
+ 'nbt': EntitySubPredicateNbt,
624
+ 'minecraft:nbt': EntitySubPredicateNbt,
545
625
  'painting': EntitySubPredicatePainting,
546
626
  'minecraft:painting': EntitySubPredicatePainting,
547
627
  'parrot': EntitySubPredicateParrot,
548
628
  'minecraft:parrot': EntitySubPredicateParrot,
629
+ 'passenger': EntitySubPredicatePassenger,
630
+ 'minecraft:passenger': EntitySubPredicatePassenger,
631
+ 'periodic_tick': EntitySubPredicatePeriodicTick,
632
+ 'minecraft:periodic_tick': EntitySubPredicatePeriodicTick,
549
633
  'player': EntitySubPredicatePlayer,
550
634
  'minecraft:player': EntitySubPredicatePlayer,
635
+ 'predicates': EntitySubPredicatePredicates,
636
+ 'minecraft:predicates': EntitySubPredicatePredicates,
551
637
  'rabbit': EntitySubPredicateRabbit,
552
638
  'minecraft:rabbit': EntitySubPredicateRabbit,
553
639
  'raider': EntitySubPredicateRaider,
@@ -558,8 +644,30 @@ type EntitySubPredicateDispatcherMap = {
558
644
  'minecraft:sheep': EntitySubPredicateSheep,
559
645
  'slime': EntitySubPredicateSlime,
560
646
  'minecraft:slime': EntitySubPredicateSlime,
647
+ 'slots': EntitySubPredicateSlots,
648
+ 'minecraft:slots': EntitySubPredicateSlots,
649
+ 'stepping_on': EntitySubPredicateSteppingOn,
650
+ 'minecraft:stepping_on': EntitySubPredicateSteppingOn,
651
+ 'targeted_entity': EntitySubPredicateTargetedEntity,
652
+ 'minecraft:targeted_entity': EntitySubPredicateTargetedEntity,
653
+ 'team': EntitySubPredicateTeam,
654
+ 'minecraft:team': EntitySubPredicateTeam,
561
655
  'tropical_fish': EntitySubPredicateTropicalFish,
562
656
  'minecraft:tropical_fish': EntitySubPredicateTropicalFish,
657
+ 'type_specific/cube_mob': EntitySubPredicateTypeSpecificCubeMob,
658
+ 'minecraft:type_specific/cube_mob': EntitySubPredicateTypeSpecificCubeMob,
659
+ 'type_specific/fishing_hook': EntitySubPredicateTypeSpecificFishingHook,
660
+ 'minecraft:type_specific/fishing_hook': EntitySubPredicateTypeSpecificFishingHook,
661
+ 'type_specific/lightning': EntitySubPredicateTypeSpecificLightning,
662
+ 'minecraft:type_specific/lightning': EntitySubPredicateTypeSpecificLightning,
663
+ 'type_specific/player': EntitySubPredicateTypeSpecificPlayer,
664
+ 'minecraft:type_specific/player': EntitySubPredicateTypeSpecificPlayer,
665
+ 'type_specific/raider': EntitySubPredicateTypeSpecificRaider,
666
+ 'minecraft:type_specific/raider': EntitySubPredicateTypeSpecificRaider,
667
+ 'type_specific/sheep': EntitySubPredicateTypeSpecificSheep,
668
+ 'minecraft:type_specific/sheep': EntitySubPredicateTypeSpecificSheep,
669
+ 'vehicle': EntitySubPredicateVehicle,
670
+ 'minecraft:vehicle': EntitySubPredicateVehicle,
563
671
  'villager': EntitySubPredicateVillager,
564
672
  'minecraft:villager': EntitySubPredicateVillager,
565
673
  'wolf': EntitySubPredicateWolf,
@@ -570,43 +678,95 @@ type EntitySubPredicateFallback = (
570
678
  | EntitySubPredicateAxolotl
571
679
  | EntitySubPredicateBoat
572
680
  | EntitySubPredicateCat
681
+ | EntitySubPredicateComponents
682
+ | EntitySubPredicateDistance
683
+ | EntitySubPredicateEffects
684
+ | EntitySubPredicateEntityTags
685
+ | EntitySubPredicateEntityType
686
+ | EntitySubPredicateEquipment
573
687
  | EntitySubPredicateFishingHook
688
+ | EntitySubPredicateFlags
574
689
  | EntitySubPredicateFox
575
690
  | EntitySubPredicateFrog
576
691
  | EntitySubPredicateHorse
577
692
  | EntitySubPredicateLightning
578
693
  | EntitySubPredicateLlama
694
+ | EntitySubPredicateLocation
579
695
  | EntitySubPredicateMooshroom
696
+ | EntitySubPredicateMovement
697
+ | EntitySubPredicateMovementAffectedBy
698
+ | EntitySubPredicateNbt
580
699
  | EntitySubPredicatePainting
581
700
  | EntitySubPredicateParrot
701
+ | EntitySubPredicatePassenger
702
+ | EntitySubPredicatePeriodicTick
582
703
  | EntitySubPredicatePlayer
704
+ | EntitySubPredicatePredicates
583
705
  | EntitySubPredicateRabbit
584
706
  | EntitySubPredicateRaider
585
707
  | EntitySubPredicateSalmon
586
708
  | EntitySubPredicateSheep
587
709
  | EntitySubPredicateSlime
710
+ | EntitySubPredicateSlots
711
+ | EntitySubPredicateSteppingOn
712
+ | EntitySubPredicateTargetedEntity
713
+ | EntitySubPredicateTeam
588
714
  | EntitySubPredicateTropicalFish
715
+ | EntitySubPredicateTypeSpecificCubeMob
716
+ | EntitySubPredicateTypeSpecificFishingHook
717
+ | EntitySubPredicateTypeSpecificLightning
718
+ | EntitySubPredicateTypeSpecificPlayer
719
+ | EntitySubPredicateTypeSpecificRaider
720
+ | EntitySubPredicateTypeSpecificSheep
721
+ | EntitySubPredicateVehicle
589
722
  | EntitySubPredicateVillager
590
723
  | EntitySubPredicateWolf)
591
724
  type EntitySubPredicateAxolotl = AxolotlPredicate
592
725
  type EntitySubPredicateBoat = BoatPredicate
593
726
  type EntitySubPredicateCat = CatPredicate
727
+ type EntitySubPredicateComponents = DataComponentExactPredicate
728
+ type EntitySubPredicateDistance = DistancePredicate
729
+ type EntitySubPredicateEffects = EntityEffectsPredicate
730
+ type EntitySubPredicateEntityTags = EntityTagPredicate
731
+ type EntitySubPredicateEntityType = EntityTypePredicate
732
+ type EntitySubPredicateEquipment = EntityEquipmentPredicate
594
733
  type EntitySubPredicateFishingHook = FishingHookPredicate
734
+ type EntitySubPredicateFlags = EntityFlagsPredicate
595
735
  type EntitySubPredicateFox = FoxPredicate
596
736
  type EntitySubPredicateFrog = FrogPredicate
597
737
  type EntitySubPredicateHorse = HorsePredicate
598
738
  type EntitySubPredicateLightning = LightningBoltPredicate
599
739
  type EntitySubPredicateLlama = LlamaPredicate
740
+ type EntitySubPredicateLocation = LocationPredicate
600
741
  type EntitySubPredicateMooshroom = MooshroomPredicate
742
+ type EntitySubPredicateMovement = MovementPredicate
743
+ type EntitySubPredicateMovementAffectedBy = LocationPredicate
744
+ type EntitySubPredicateNbt = ((`${any}${string}` | NBTClass) | SymbolEntity<'%fallback'>)
601
745
  type EntitySubPredicatePainting = PaintingPredicate
602
746
  type EntitySubPredicateParrot = ParrotPredicate
747
+ type EntitySubPredicatePassenger = EntityPredicate
748
+ type EntitySubPredicatePeriodicTick = NBTInt<{
749
+ min: 1,
750
+ }>
603
751
  type EntitySubPredicatePlayer = PlayerPredicate
752
+ type EntitySubPredicatePredicates = DataComponentPredicate
604
753
  type EntitySubPredicateRabbit = RabbitPredicate
605
754
  type EntitySubPredicateRaider = RaiderPredicate
606
755
  type EntitySubPredicateSalmon = SalmonPredicate
607
756
  type EntitySubPredicateSheep = SheepPredicate
608
757
  type EntitySubPredicateSlime = SlimePredicate
758
+ type EntitySubPredicateSlots = EntitySlotsPredicate
759
+ type EntitySubPredicateSteppingOn = LocationPredicate
760
+ type EntitySubPredicateTargetedEntity = EntityPredicate
761
+ type EntitySubPredicateTeam = `${any}${string}`
609
762
  type EntitySubPredicateTropicalFish = TropicalFishPredicate
763
+ type EntitySubPredicateTypeSpecificCubeMob = SlimePredicate
764
+ type EntitySubPredicateTypeSpecificFishingHook = FishingHookPredicate
765
+ type EntitySubPredicateTypeSpecificLightning = LightningBoltPredicate
766
+ type EntitySubPredicateTypeSpecificPlayer = PlayerPredicate
767
+ type EntitySubPredicateTypeSpecificRaider = RaiderPredicate
768
+ type EntitySubPredicateTypeSpecificSheep = SheepPredicate
769
+ type EntitySubPredicateVehicle = EntityPredicate
610
770
  type EntitySubPredicateVillager = VillagerPredicate
611
771
  type EntitySubPredicateWolf = WolfPredicate
612
772
  export type SymbolEntitySubPredicate<CASE extends
@@ -142,6 +142,11 @@ export type FishingRodHooked = (TriggerBase & {
142
142
  rod?: ItemPredicate,
143
143
  })
144
144
 
145
+ export type HoneyHarvestedBlock = {
146
+ block?: Registry['minecraft:block'],
147
+ tag?: (Registry['minecraft:tag/block']),
148
+ }
149
+
145
150
  export type InventoryChanged = (TriggerBase & {
146
151
  slots?: {
147
152
  /**
@@ -160,6 +165,21 @@ export type InventoryChanged = (TriggerBase & {
160
165
  items?: Array<ItemPredicate>,
161
166
  })
162
167
 
168
+ export type InventoryChangedSlots = {
169
+ /**
170
+ * Amount of empty slots.
171
+ */
172
+ empty?: MinMaxBounds<NBTInt>,
173
+ /**
174
+ * Amount of occupied slots.
175
+ */
176
+ occupied?: MinMaxBounds<NBTInt>,
177
+ /**
178
+ * Amount of slots that are a full stack.
179
+ */
180
+ full?: MinMaxBounds<NBTInt>,
181
+ }
182
+
163
183
  export type ItemDurabilityChanged = (TriggerBase & {
164
184
  /**
165
185
  * Change in durability (negative numbers are used to indicate a decrease in durability).
@@ -57,6 +57,10 @@ export type Advancement = {
57
57
  sends_telemetry_event?: boolean,
58
58
  }
59
59
 
60
+ export type AdvancementCriteriaMap = ({
61
+ [Key in `${any}${string}`]?: AdvancementCriterion
62
+ })
63
+
60
64
  export type AdvancementCriterion = NonNullable<({
61
65
  [S in Extract<Registry['minecraft:trigger_type'], string>]?: ({
62
66
  /**
@@ -110,9 +114,9 @@ export type AdvancementIcon = {
110
114
 
111
115
  export type AdvancementRewards = {
112
116
  /**
113
- * Function to run as the player (not at). Function group tags are not allowed.
117
+ * XP to add.
114
118
  */
115
- function?: (`${string}:${string}` | MCFunctionClass),
119
+ experience?: NBTInt,
116
120
  /**
117
121
  * Loot tables to give.
118
122
  */
@@ -122,9 +126,9 @@ export type AdvancementRewards = {
122
126
  */
123
127
  recipes?: Array<(Registry['minecraft:recipe'] | RecipeClass)>,
124
128
  /**
125
- * XP to add.
129
+ * Function to run as and at the player. Function tags are not allowed.
126
130
  */
127
- experience?: NBTInt,
131
+ function?: (`${string}:${string}` | MCFunctionClass),
128
132
  }
129
133
 
130
134
  export type Trigger = (
@@ -10,8 +10,8 @@ export type ChatDecoration = ({
10
10
  export type ChatDecorationParameter = ('sender' | 'content' | 'team_name' | 'target')
11
11
 
12
12
  export type ChatType = {
13
- chat?: ChatDecoration,
14
- narration?: ChatDecoration,
13
+ chat: ChatDecoration,
14
+ narration: ChatDecoration,
15
15
  }
16
16
 
17
17
  export type Narration = {
@@ -27,6 +27,12 @@ export type Narration = {
27
27
 
28
28
  export type NarrationPriority = ('chat' | 'system')
29
29
 
30
+ export type OldChatType = {
31
+ chat?: TextDisplay,
32
+ overlay?: TextDisplay,
33
+ narration?: Narration,
34
+ }
35
+
30
36
  export type TextDisplay = {
31
37
  decoration?: ChatDecoration,
32
38
  }
@@ -0,0 +1,8 @@
1
+ export type DecoratedPotPattern = {
2
+ /**
3
+ * Value:
4
+ *
5
+ * Value: A texture ID within a path root of `(namespace)/textures/entity/decorated_pot/`
6
+ */
7
+ asset_id: `${string}:${string}`,
8
+ }
@@ -45,6 +45,28 @@ export type InputControl = NonNullable<({
45
45
  } & (S extends keyof SymbolInputControl ? SymbolInputControl[S] : RootNBT))
46
46
  }[Registry['minecraft:input_control_type']])>
47
47
 
48
+ export type MultiLine = {
49
+ /**
50
+ * Value:
51
+ * Range: 1..
52
+ */
53
+ max_lines?: NBTInt<{
54
+ min: 1,
55
+ }>,
56
+ /**
57
+ * Height of the input.
58
+ * If this field is not present:
59
+ * - If `max_lines` is present, the height will be chosen to fit the maximum number of lines. The chosen height is capped at 512.
60
+ * - If `max_lines` is also not present, the height will be chosen to fit 4 lines.
61
+ *
62
+ * Value:
63
+ * Range: 1..512
64
+ */
65
+ height?: NBTInt<{
66
+ min: 1,
67
+ }>,
68
+ }
69
+
48
70
  export type NumberRangeInput = {
49
71
  /**
50
72
  * Defaults to 200.
@@ -5,7 +5,7 @@ import type { SymbolMcdocDialogAfterAction } from 'sandstone/arguments/generated
5
5
  import type { Registry } from 'sandstone/arguments/generated/registry.ts'
6
6
  import type { Text } from 'sandstone/arguments/generated/util/text.ts'
7
7
  import type { RootNBT } from 'sandstone/arguments/nbt.ts'
8
- import type { DialogClass, NamespacedLiteralUnion, NBTInt, NBTList, TagClass } from 'sandstone'
8
+ import type { DialogClass, NBTInt, NBTList, TagClass } from 'sandstone'
9
9
 
10
10
  export type AfterAction = ('close' | 'none' | 'wait_for_response')
11
11
 
@@ -50,13 +50,13 @@ export type ConfirmationDialog = (DialogBase & {
50
50
  })
51
51
 
52
52
  export type Dialog = NonNullable<({
53
- [S in NamespacedLiteralUnion<keyof SymbolDialog>]?: ({
53
+ [S in Extract<Registry['minecraft:dialog_type'], string>]?: ({
54
54
  type: S,
55
55
  } & (S extends keyof SymbolDialog ? SymbolDialog[S] : RootNBT))
56
- }[NamespacedLiteralUnion<keyof SymbolDialog>])>
56
+ }[Registry['minecraft:dialog_type']])>
57
57
 
58
58
  export type DialogBase = NonNullable<({
59
- [S in NamespacedLiteralUnion<keyof SymbolMcdocDialogAfterAction>]?: ({
59
+ [S in Extract<AfterAction, string>]?: ({
60
60
  title: Text,
61
61
  /**
62
62
  * Name to be used for a button leading to this dialog.
@@ -91,7 +91,7 @@ export type DialogBase = NonNullable<({
91
91
  } & (S extends undefined
92
92
  ? SymbolMcdocDialogAfterAction<'%none'> :
93
93
  (S extends keyof SymbolMcdocDialogAfterAction ? SymbolMcdocDialogAfterAction[S] : RootNBT)))
94
- }[NamespacedLiteralUnion<keyof SymbolMcdocDialogAfterAction>])>
94
+ }[AfterAction])>
95
95
 
96
96
  export type ListDialogBase = (DialogBase & {
97
97
  /**