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
@@ -3,6 +3,7 @@ import type { SymbolMcdocCustomEvent } from 'sandstone/arguments/generated/dispa
3
3
  import type { Registry } from 'sandstone/arguments/generated/registry.ts'
4
4
  import type { Profile } from 'sandstone/arguments/generated/util/avatar.ts'
5
5
  import type { RGBA } from 'sandstone/arguments/generated/util/color.ts'
6
+ import type { DataComponentPatch } from 'sandstone/arguments/generated/world/component.ts'
6
7
  import type { ItemStack } from 'sandstone/arguments/generated/world/item.ts'
7
8
  import type { Coordinates, MultipleEntitiesArgument } from 'sandstone/arguments'
8
9
  import type { RootNBT } from 'sandstone/arguments/nbt.ts'
@@ -18,6 +19,13 @@ import type {
18
19
  TextureClass,
19
20
  } from 'sandstone'
20
21
 
22
+ export type BlockNbtText = ({
23
+ block: Coordinates,
24
+ nbt: `${any}${string}` | DataPointClass,
25
+ source?: 'block',
26
+ type?: 'nbt',
27
+ } & TextNbtBase)
28
+
21
29
  export type ChangePage = {
22
30
  /**
23
31
  * The page number to go to.
@@ -76,6 +84,61 @@ export type CustomAction = NonNullable<({
76
84
  }
77
85
  }[`${string}:${string}`])>
78
86
 
87
+ export type EntityHoverContent = {
88
+ type: Registry['minecraft:entity_type'],
89
+ /**
90
+ * Value:
91
+ * *either*
92
+ *
93
+ * List length range: 4
94
+ *
95
+ * *or*
96
+ *
97
+ * *item 1*
98
+ */
99
+ id: (NBTList<NBTInt, {
100
+ leftExclusive: false,
101
+ rightExclusive: false,
102
+ min: 4,
103
+ max: 4,
104
+ }> | string),
105
+ name?: Text,
106
+ }
107
+
108
+ export type EntityHoverValue = {
109
+ name?: string,
110
+ type?: string,
111
+ id?: string,
112
+ }
113
+
114
+ export type EntityNbtText = ({
115
+ entity: MultipleEntitiesArgument,
116
+ nbt: `${any}${string}` | DataPointClass,
117
+ source?: 'entity',
118
+ type?: 'nbt',
119
+ } & TextNbtBase)
120
+
121
+ export type EntityTooltipInfo = {
122
+ id: Registry['minecraft:entity_type'],
123
+ /**
124
+ * Value:
125
+ * *either*
126
+ *
127
+ * List length range: 4
128
+ *
129
+ * *or*
130
+ *
131
+ * *item 1*
132
+ */
133
+ uuid: (NBTList<NBTInt, {
134
+ leftExclusive: false,
135
+ rightExclusive: false,
136
+ min: 4,
137
+ max: 4,
138
+ }> | string),
139
+ name?: Text,
140
+ }
141
+
79
142
  export type HoverEvent = NonNullable<({
80
143
  [S in Extract<HoverEventAction, string>]?: ({
81
144
  /**
@@ -91,6 +154,12 @@ export type HoverEvent = NonNullable<({
91
154
 
92
155
  export type HoverEventAction = ('show_text' | 'show_item' | 'show_entity')
93
156
 
157
+ export type ItemHoverContent = {
158
+ id: Registry['minecraft:item'],
159
+ count?: NBTInt,
160
+ components?: DataComponentPatch,
161
+ }
162
+
94
163
  export type Keybind = (
95
164
  | 'key.advancements'
96
165
  | 'key.attack'
@@ -121,6 +190,7 @@ export type Keybind = (
121
190
  | 'key.debug.switchGameMode'
122
191
  | 'key.drop'
123
192
  | 'key.forward'
193
+ | 'key.friends'
124
194
  | 'key.fullscreen'
125
195
  | 'key.hotbar.1'
126
196
  | 'key.hotbar.2'
@@ -152,6 +222,80 @@ export type Keybind = (
152
222
  | 'key.toggleSpectatorShaderEffects'
153
223
  | 'key.use')
154
224
 
225
+ export type KeybindText = ({
226
+ /**
227
+ * Value:
228
+ *
229
+ * - Advancements(`key.advancements`)
230
+ * - Attack(`key.attack`)
231
+ * - Back(`key.back`)
232
+ * - Chat(`key.chat`)
233
+ * - Command(`key.command`)
234
+ * - DebugClearChat(`key.debug.clearChat`)
235
+ * - DebugCopyLocation(`key.debug.copyLocation`)
236
+ * - DebugCopyRecreateCommand(`key.debug.copyRecreateCommand`)
237
+ * - DebugCrash(`key.debug.crash`)
238
+ * - DebugOptionsMenu(`key.debug.debugOptions`)
239
+ * - DebugDumpDynamicTextures(`key.debug.dumpDynamicTextures`)
240
+ * - DebugDumpVersion(`key.debug.dumpVersion`)
241
+ * - DebugFocusPause(`key.debug.focusPause`)
242
+ * - DebugFpsCharts(`key.debug.fpsCharts`)
243
+ * - DebugLightmapTexture(`key.debug.lightmapTexture`)
244
+ * - DebugModifier(`key.debug.modifier`)
245
+ * - DebugNetworkCharts(`key.debug.networkCharts`)
246
+ * - DebugOverlay(`key.debug.overlay`)
247
+ * - DebugProfiling(`key.debug.profiling`)
248
+ * - DebugProfilingChart(`key.debug.profilingChart`)
249
+ * - DebugReloadChunk(`key.debug.reloadChunk`)
250
+ * - DebugReloadResourcePacks(`key.debug.reloadResourcePacks`)
251
+ * - DebugShowAdvancedTooltips(`key.debug.showAdvancedTooltips`)
252
+ * - DebugShowChunkBorders(`key.debug.showChunkBorders`)
253
+ * - DebugShowHitboxes(`key.debug.showHitboxes`)
254
+ * - DebugSpectate(`key.debug.spectate`)
255
+ * - DebugSwitchGameMode(`key.debug.switchGameMode`)
256
+ * - Drop(`key.drop`)
257
+ * - Forward(`key.forward`)
258
+ * - Friends(`key.friends`)
259
+ * - Fullscreen(`key.fullscreen`)
260
+ * - Hotbar1(`key.hotbar.1`)
261
+ * - Hotbar2(`key.hotbar.2`)
262
+ * - Hotbar3(`key.hotbar.3`)
263
+ * - Hotbar4(`key.hotbar.4`)
264
+ * - Hotbar5(`key.hotbar.5`)
265
+ * - Hotbar6(`key.hotbar.6`)
266
+ * - Hotbar7(`key.hotbar.7`)
267
+ * - Hotbar8(`key.hotbar.8`)
268
+ * - Hotbar9(`key.hotbar.9`)
269
+ * - Inventory(`key.inventory`)
270
+ * - Jump(`key.jump`)
271
+ * - Left(`key.left`)
272
+ * - LoadToolbarActivator(`key.loadToolbarActivator`)
273
+ * - PickItem(`key.pickItem`)
274
+ * - Playerlist(`key.playerlist`)
275
+ * - QuickActions(`key.quickActions`)
276
+ * - Right(`key.right`)
277
+ * - SaveToolbarActivator(`key.saveToolbarActivator`)
278
+ * - Screenshot(`key.screenshot`)
279
+ * - SmoothCamera(`key.smoothCamera`)
280
+ * - Sneak(`key.sneak`)
281
+ * - SpectatorHotbar(`key.spectatorHotbar`)
282
+ * - SpectatorOutlines(`key.spectatorOutlines`)
283
+ * - Sprint(`key.sprint`)
284
+ * - SwapOffhand(`key.swapOffhand`)
285
+ * - ToggleGui(`key.toggleGui`)
286
+ * - TogglePerspective(`key.togglePerspective`)
287
+ * - ToggleSpectatorShaderEffects(`key.toggleSpectatorShaderEffects`)
288
+ * - Use(`key.use`)
289
+ */
290
+ keybind: Keybind,
291
+ type?: 'keybind',
292
+ } & TextBase)
293
+
294
+ export type NormalText = ({
295
+ text: string,
296
+ type?: 'text',
297
+ } & TextBase)
298
+
155
299
  export type ObjectTextConfig = {
156
300
  /**
157
301
  * Used in places where object component cannot be displayed (for example, server log or narration).
@@ -163,10 +307,39 @@ export type OpenUrl = {
163
307
  url: `${any}${string}` | URL,
164
308
  }
165
309
 
310
+ export type PlayerHeadText = ({
311
+ player: Profile,
312
+ /**
313
+ * Whether the head layer is rendered. Defaults to `true`.
314
+ */
315
+ hat?: boolean,
316
+ object?: 'player',
317
+ type?: 'object',
318
+ } & ObjectTextConfig & TextBase)
319
+
166
320
  export type RunCommand = {
167
321
  command: `${any}${string}`,
168
322
  }
169
323
 
324
+ export type ScoreHolder = {
325
+ objective: `${any}${string}` | ObjectiveClass,
326
+ name: `${any}${string}` | Score,
327
+ }
328
+
329
+ export type ScoreText = ({
330
+ score: {
331
+ objective: `${any}${string}` | ObjectiveClass,
332
+ name: `${any}${string}` | Score,
333
+ },
334
+ type?: 'score',
335
+ } & TextBase)
336
+
337
+ export type SelectorText = ({
338
+ selector: MultipleEntitiesArgument,
339
+ separator?: Text,
340
+ type?: 'selector',
341
+ } & TextBase)
342
+
170
343
  export type ShowDialog = {
171
344
  dialog: ((Registry['minecraft:dialog'] | DialogClass) | Dialog),
172
345
  }
@@ -219,6 +392,23 @@ export type ShowText = {
219
392
  value: Text,
220
393
  }
221
394
 
395
+ export type SpriteText = ({
396
+ /**
397
+ * Defaults to `minecraft:blocks`.
398
+ */
399
+ atlas?: (Registry['minecraft:atlas'] | AtlasClass),
400
+ sprite: (Registry['minecraft:texture'] | TextureClass),
401
+ object?: 'atlas',
402
+ type?: 'object',
403
+ } & ObjectTextConfig & TextBase)
404
+
405
+ export type StorageNbtText = ({
406
+ storage: `${string}:${string}`,
407
+ nbt: `${any}${string}` | DataPointClass,
408
+ source?: 'storage',
409
+ type?: 'nbt',
410
+ } & TextNbtBase)
411
+
222
412
  export type SuggestCommand = {
223
413
  command: `${any}${string}`,
224
414
  }
@@ -257,6 +447,8 @@ export type TextColor = (
257
447
  | 'yellow'
258
448
  | 'white')
259
449
 
450
+ export type TextFormat = ('obfuscated' | 'bold' | 'strikethrough' | 'underline' | 'italic' | 'reset')
451
+
260
452
  export type TextNbtBase = ({
261
453
  interpret?: boolean,
262
454
  /**
@@ -326,6 +518,7 @@ export type TextObject = (({
326
518
  * - DebugSwitchGameMode(`key.debug.switchGameMode`)
327
519
  * - Drop(`key.drop`)
328
520
  * - Forward(`key.forward`)
521
+ * - Friends(`key.friends`)
329
522
  * - Fullscreen(`key.fullscreen`)
330
523
  * - Hotbar1(`key.hotbar.1`)
331
524
  * - Hotbar2(`key.hotbar.2`)
@@ -419,6 +612,20 @@ export type TextStyle = {
419
612
  click_event?: ClickEvent,
420
613
  hover_event?: HoverEvent,
421
614
  }
615
+
616
+ export type TranslatedText = ({
617
+ translate: Registry['minecraft:translation_key'],
618
+ fallback?: string,
619
+ /**
620
+ * Value:
621
+ * List length range: 1..
622
+ */
623
+ with?: NBTList<Text, {
624
+ leftExclusive: false,
625
+ min: 1,
626
+ }>,
627
+ type?: 'translatable',
628
+ } & TextBase)
422
629
  type ClickEventDispatcherMap = {
423
630
  'change_page': ClickEventChangePage,
424
631
  'minecraft:change_page': ClickEventChangePage,
@@ -44,6 +44,8 @@ export type NonEmptyWeightedList<T extends NBTObject> = NBTList<WeightedEntry<T>
44
44
  min: 1,
45
45
  }>
46
46
 
47
+ export type Rotation = ('none' | 'clockwise_90' | '180' | 'counterclockwise_90')
48
+
47
49
  export type WeightedEntry<T extends NBTObject> = {
48
50
  /**
49
51
  * Value:
@@ -6,18 +6,16 @@ import type { LootTableClass, NBTList, NBTLong } from 'sandstone'
6
6
  export type DecoratedPot = (BlockEntity & {
7
7
  /**
8
8
  * Item ID of what was used for each side of the pot. \
9
- * Only vanilla pottery sherds have hardcoded decoration textures.
9
+ * Only vanilla pottery sherds have hardcoded decoration textures. \
10
10
  * Other items are treated like brick.
11
11
  *
12
12
  * Value:
13
- * List length range: 4
13
+ * List length range: ..4
14
14
  */
15
15
  sherds?: NBTList<Registry['minecraft:item'], {
16
- leftExclusive: false,
17
16
  rightExclusive: false,
18
- min: 4,
19
- max: 4,
20
17
  }>,
18
+ } & {
21
19
  /**
22
20
  * Loot table that will populate this container.
23
21
  */
@@ -46,3 +46,7 @@ export type Furnace = (BlockEntity & Nameable & Lockable & {
46
46
  */
47
47
  lit_total_time?: NBTShort,
48
48
  })
49
+
50
+ export type RecipesUsed = ({
51
+ [Key in Extract<Registry['minecraft:recipe'], string>]?: NBTInt
52
+ })
@@ -0,0 +1,11 @@
1
+ import type { BlockEntity } from 'sandstone/arguments/generated/world/block.ts'
2
+ import type { NBTInt } from 'sandstone'
3
+
4
+ export type PotentSulfur = (BlockEntity & {
5
+ /**
6
+ * Time in seconds until the next state switch (between dormant and erupting). \
7
+ * The timer only counts down when the potent sulfur creates a valid geyser. \
8
+ * Negative values will be replaced with a new duration of the current state.
9
+ */
10
+ countdown?: NBTInt,
11
+ })
@@ -1,9 +1,23 @@
1
- import type { Rotation } from 'sandstone/arguments/generated/data/gametest.ts'
2
1
  import type { Registry } from 'sandstone/arguments/generated/registry.ts'
2
+ import type { Rotation } from 'sandstone/arguments/generated/util.ts'
3
3
  import type { Text } from 'sandstone/arguments/generated/util/text.ts'
4
4
  import type { BlockEntity } from 'sandstone/arguments/generated/world/block.ts'
5
5
  import type { NBTIntArray, TestInstanceClass } from 'sandstone'
6
6
 
7
+ export type ErrorMarker = {
8
+ /**
9
+ * Value:
10
+ * Array length range: 3
11
+ */
12
+ pos: NBTIntArray<{
13
+ leftExclusive: false,
14
+ rightExclusive: false,
15
+ min: 3,
16
+ max: 3,
17
+ }>,
18
+ text: Text,
19
+ }
20
+
7
21
  export type TestInstanceBlock = (BlockEntity & {
8
22
  data?: {
9
23
  test?: (Registry['minecraft:test_instance'] | TestInstanceClass),
@@ -52,4 +66,37 @@ export type TestInstanceBlock = (BlockEntity & {
52
66
  }>,
53
67
  })
54
68
 
69
+ export type TestInstanceBlockData = {
70
+ test?: (Registry['minecraft:test_instance'] | TestInstanceClass),
71
+ /**
72
+ * Value:
73
+ * Array length range: 3
74
+ */
75
+ size: NBTIntArray<{
76
+ leftExclusive: false,
77
+ rightExclusive: false,
78
+ min: 3,
79
+ max: 3,
80
+ }>,
81
+ /**
82
+ * Value:
83
+ *
84
+ * - None(`none`)
85
+ * - Clockwise90(`clockwise_90`)
86
+ * - Clockwise180(`180`)
87
+ * - CounterClockwise90(`counterclockwise_90`)
88
+ */
89
+ rotation: Rotation,
90
+ ignore_entities: boolean,
91
+ /**
92
+ * Value:
93
+ *
94
+ * - Cleared(`cleared`)
95
+ * - Running(`running`)
96
+ * - Finished(`finished`)
97
+ */
98
+ status: TestInstanceBlockStatus,
99
+ error_message?: Text,
100
+ }
101
+
55
102
  export type TestInstanceBlockStatus = ('cleared' | 'running' | 'finished')
@@ -2,6 +2,68 @@ import type { Registry } from 'sandstone/arguments/generated/registry.ts'
2
2
  import type { ItemStack } from 'sandstone/arguments/generated/world/item.ts'
3
3
  import type { LootTableClass, NBTDouble, NBTInt, NBTIntArray, NBTLong } from 'sandstone'
4
4
 
5
+ export type Config = {
6
+ /**
7
+ * Item required to open the vault.
8
+ */
9
+ key_item?: ItemStack,
10
+ /**
11
+ * Defaults to "minecraft:chests/trial_chambers/reward".
12
+ */
13
+ loot_table?: (Registry['minecraft:loot_table'] | LootTableClass),
14
+ /**
15
+ * The loot table to display items in the vault.
16
+ * Defaults to use the value in `loot_table` field.
17
+ */
18
+ override_loot_table_to_display?: (Registry['minecraft:loot_table'] | LootTableClass),
19
+ /**
20
+ * The range when the vault should activate.
21
+ */
22
+ activation_range?: (NBTDouble | number),
23
+ /**
24
+ * The range when the vault should deactivate.
25
+ */
26
+ deactivation_range?: (NBTDouble | number),
27
+ }
28
+
29
+ export type ServerData = {
30
+ /**
31
+ * Ticks until the loot table is ran again to update the display item.
32
+ */
33
+ state_updating_resumes_at?: NBTLong,
34
+ /**
35
+ * When a player is in this list they can no longer open the vault, but other players can.
36
+ */
37
+ rewarded_players?: Array<NBTIntArray<{
38
+ leftExclusive: false,
39
+ rightExclusive: false,
40
+ min: 4,
41
+ max: 4,
42
+ }>>,
43
+ /**
44
+ * Items that are being ejected from the vault when it is opened. As each item is ejected, it is removed from this list, before ejection, it is previewed as the `display_item`.
45
+ */
46
+ items_to_eject?: Array<ItemStack>,
47
+ /**
48
+ * Number of items that the loot table started off the opening with, does not change while items are ejected.
49
+ */
50
+ total_ejections_needed?: NBTInt,
51
+ }
52
+
53
+ export type SharedData = {
54
+ /**
55
+ * Item that is displayed to players when they are in range of the vault.
56
+ */
57
+ display_item?: ItemStack,
58
+ connected_players?: Array<NBTIntArray<{
59
+ leftExclusive: false,
60
+ rightExclusive: false,
61
+ min: 4,
62
+ max: 4,
63
+ }>>,
64
+ connected_particles_range?: (NBTDouble | number),
65
+ }
66
+
5
67
  export type Vault = {
6
68
  server_data?: {
7
69
  /**
@@ -29,3 +29,10 @@ export type Occupant = {
29
29
  min_ticks_in_hive: NBTInt,
30
30
  ticks_in_hive: NBTInt,
31
31
  }
32
+
33
+ export type PotDecorations = {
34
+ back?: ItemStackTemplate,
35
+ left?: ItemStackTemplate,
36
+ right?: ItemStackTemplate,
37
+ front?: ItemStackTemplate,
38
+ }
@@ -36,6 +36,7 @@ import type { RootNBT } from 'sandstone/arguments/nbt.ts'
36
36
  import type {
37
37
  BannerPatternClass,
38
38
  DamageTypeClass,
39
+ DecoratedPotPatternClass,
39
40
  EquipmentClass,
40
41
  InstrumentClass,
41
42
  ItemModelDefinitionClass,
@@ -1095,6 +1096,8 @@ type DataComponentDispatcherMap = {
1095
1096
  'minecraft:cow/sound_variant': DataComponentCowSoundVariant,
1096
1097
  'cow/variant': DataComponentCowVariant,
1097
1098
  'minecraft:cow/variant': DataComponentCowVariant,
1099
+ 'creative_slot_lock': DataComponentCreativeSlotLock,
1100
+ 'minecraft:creative_slot_lock': DataComponentCreativeSlotLock,
1098
1101
  'custom_data': DataComponentCustomData,
1099
1102
  'minecraft:custom_data': DataComponentCustomData,
1100
1103
  'custom_model_data': DataComponentCustomModelData,
@@ -1171,6 +1174,8 @@ type DataComponentDispatcherMap = {
1171
1174
  'minecraft:map_decorations': DataComponentMapDecorations,
1172
1175
  'map_id': DataComponentMapId,
1173
1176
  'minecraft:map_id': DataComponentMapId,
1177
+ 'map_post_processing': DataComponentMapPostProcessing,
1178
+ 'minecraft:map_post_processing': DataComponentMapPostProcessing,
1174
1179
  'max_damage': DataComponentMaxDamage,
1175
1180
  'minecraft:max_damage': DataComponentMaxDamage,
1176
1181
  'max_stack_size': DataComponentMaxStackSize,
@@ -1203,6 +1208,8 @@ type DataComponentDispatcherMap = {
1203
1208
  'minecraft:profile': DataComponentProfile,
1204
1209
  'provides_banner_patterns': DataComponentProvidesBannerPatterns,
1205
1210
  'minecraft:provides_banner_patterns': DataComponentProvidesBannerPatterns,
1211
+ 'provides_pottery_pattern': DataComponentProvidesPotteryPattern,
1212
+ 'minecraft:provides_pottery_pattern': DataComponentProvidesPotteryPattern,
1206
1213
  'provides_trim_material': DataComponentProvidesTrimMaterial,
1207
1214
  'minecraft:provides_trim_material': DataComponentProvidesTrimMaterial,
1208
1215
  'rabbit/variant': DataComponentRabbitVariant,
@@ -1223,6 +1230,8 @@ type DataComponentDispatcherMap = {
1223
1230
  'minecraft:shulker/color': DataComponentShulkerColor,
1224
1231
  'stored_enchantments': DataComponentStoredEnchantments,
1225
1232
  'minecraft:stored_enchantments': DataComponentStoredEnchantments,
1233
+ 'sulfur_cube_content': DataComponentSulfurCubeContent,
1234
+ 'minecraft:sulfur_cube_content': DataComponentSulfurCubeContent,
1226
1235
  'suspicious_stew_effects': DataComponentSuspiciousStewEffects,
1227
1236
  'minecraft:suspicious_stew_effects': DataComponentSuspiciousStewEffects,
1228
1237
  'swing_animation': DataComponentSwingAnimation,
@@ -1263,6 +1272,8 @@ type DataComponentDispatcherMap = {
1263
1272
  'minecraft:writable_book_content': DataComponentWritableBookContent,
1264
1273
  'written_book_content': DataComponentWrittenBookContent,
1265
1274
  'minecraft:written_book_content': DataComponentWrittenBookContent,
1275
+ 'zombie_nautilus/variant': DataComponentZombieNautilusVariant,
1276
+ 'minecraft:zombie_nautilus/variant': DataComponentZombieNautilusVariant,
1266
1277
  }
1267
1278
  type DataComponentKeys = keyof DataComponentDispatcherMap
1268
1279
  type DataComponentFallback = (
@@ -1292,6 +1303,7 @@ type DataComponentFallback = (
1292
1303
  | DataComponentContainerLoot
1293
1304
  | DataComponentCowSoundVariant
1294
1305
  | DataComponentCowVariant
1306
+ | DataComponentCreativeSlotLock
1295
1307
  | DataComponentCustomData
1296
1308
  | DataComponentCustomModelData
1297
1309
  | DataComponentCustomName
@@ -1330,6 +1342,7 @@ type DataComponentFallback = (
1330
1342
  | DataComponentMapColor
1331
1343
  | DataComponentMapDecorations
1332
1344
  | DataComponentMapId
1345
+ | DataComponentMapPostProcessing
1333
1346
  | DataComponentMaxDamage
1334
1347
  | DataComponentMaxStackSize
1335
1348
  | DataComponentMinimumAttackCharge
@@ -1346,6 +1359,7 @@ type DataComponentFallback = (
1346
1359
  | DataComponentPotionDurationScale
1347
1360
  | DataComponentProfile
1348
1361
  | DataComponentProvidesBannerPatterns
1362
+ | DataComponentProvidesPotteryPattern
1349
1363
  | DataComponentProvidesTrimMaterial
1350
1364
  | DataComponentRabbitVariant
1351
1365
  | DataComponentRarity
@@ -1356,6 +1370,7 @@ type DataComponentFallback = (
1356
1370
  | DataComponentSheepColor
1357
1371
  | DataComponentShulkerColor
1358
1372
  | DataComponentStoredEnchantments
1373
+ | DataComponentSulfurCubeContent
1359
1374
  | DataComponentSuspiciousStewEffects
1360
1375
  | DataComponentSwingAnimation
1361
1376
  | DataComponentTool
@@ -1375,7 +1390,8 @@ type DataComponentFallback = (
1375
1390
  | DataComponentWolfSoundVariant
1376
1391
  | DataComponentWolfVariant
1377
1392
  | DataComponentWritableBookContent
1378
- | DataComponentWrittenBookContent)
1393
+ | DataComponentWrittenBookContent
1394
+ | DataComponentZombieNautilusVariant)
1379
1395
  type DataComponentAdditionalTradeCost = NBTInt
1380
1396
  type DataComponentAttackRange = AttackRange
1381
1397
  type DataComponentAttributeModifiers = Array<AttributeModifier>
@@ -1392,18 +1408,19 @@ type DataComponentBundleContents = Array<ItemStackTemplate>
1392
1408
  type DataComponentCanBreak = AdventureModePredicate
1393
1409
  type DataComponentCanPlaceOn = AdventureModePredicate
1394
1410
  type DataComponentCatCollar = DyeColor
1395
- type DataComponentCatSoundVariant = (`${string}:${string}` | VariantClass<'cat_sound'>)
1411
+ type DataComponentCatSoundVariant = (Registry['minecraft:cat_sound_variant'] | VariantClass<'cat_sound'>)
1396
1412
  type DataComponentCatVariant = (Registry['minecraft:cat_variant'] | VariantClass<'cat'>)
1397
1413
  type DataComponentChargedProjectiles = Array<ItemStackTemplate>
1398
- type DataComponentChickenSoundVariant = (`${string}:${string}` | VariantClass<'chicken_sound'>)
1414
+ type DataComponentChickenSoundVariant = (Registry['minecraft:chicken_sound_variant'] | VariantClass<'chicken_sound'>)
1399
1415
  type DataComponentChickenVariant = (Registry['minecraft:chicken_variant'] | VariantClass<'chicken'>)
1400
1416
  type DataComponentConsumable = Consumable
1401
1417
  type DataComponentContainer = NBTList<ContainerSlot, {
1402
1418
  rightExclusive: false,
1403
1419
  }>
1404
1420
  type DataComponentContainerLoot = ContainerLoot
1405
- type DataComponentCowSoundVariant = (`${string}:${string}` | VariantClass<'cow_sound'>)
1421
+ type DataComponentCowSoundVariant = (Registry['minecraft:cow_sound_variant'] | VariantClass<'cow_sound'>)
1406
1422
  type DataComponentCowVariant = (Registry['minecraft:cow_variant'] | VariantClass<'cow'>)
1423
+ type DataComponentCreativeSlotLock = Record<string, never>
1407
1424
  type DataComponentCustomData = CustomData
1408
1425
  type DataComponentCustomModelData = CustomModelData
1409
1426
  type DataComponentCustomName = Text
@@ -1444,6 +1461,7 @@ type DataComponentLore = Array<Text>
1444
1461
  type DataComponentMapColor = NBTInt
1445
1462
  type DataComponentMapDecorations = MapDecorations
1446
1463
  type DataComponentMapId = NBTInt
1464
+ type DataComponentMapPostProcessing = Record<string, never>
1447
1465
  type DataComponentMaxDamage = NBTInt<{
1448
1466
  min: 1,
1449
1467
  }>
@@ -1466,7 +1484,7 @@ type DataComponentOminousBottleAmplifier = NBTInt<{
1466
1484
  type DataComponentPaintingVariant = (Registry['minecraft:painting_variant'] | VariantClass<'painting'>)
1467
1485
  type DataComponentParrotVariant = ParrotVariant
1468
1486
  type DataComponentPiercingWeapon = PiercingWeapon
1469
- type DataComponentPigSoundVariant = (`${string}:${string}` | VariantClass<'pig_sound'>)
1487
+ type DataComponentPigSoundVariant = (Registry['minecraft:pig_sound_variant'] | VariantClass<'pig_sound'>)
1470
1488
  type DataComponentPigVariant = (Registry['minecraft:pig_variant'] | VariantClass<'pig'>)
1471
1489
  type DataComponentPotDecorations = NBTList<Registry['minecraft:item'], {
1472
1490
  rightExclusive: false,
@@ -1483,6 +1501,7 @@ type DataComponentProvidesBannerPatterns = ((
1483
1501
  | TagClass<'banner_pattern'>
1484
1502
  | BannerPatternClass)
1485
1503
  | Array<(Registry['minecraft:banner_pattern'] | BannerPatternClass)>)
1504
+ type DataComponentProvidesPotteryPattern = (Registry['minecraft:decorated_pot_pattern'] | DecoratedPotPatternClass)
1486
1505
  type DataComponentProvidesTrimMaterial = (Registry['minecraft:trim_material'] | TrimMaterialClass)
1487
1506
  type DataComponentRabbitVariant = RabbitVariant
1488
1507
  type DataComponentRarity = Rarity
@@ -1495,6 +1514,7 @@ type DataComponentSalmonSize = SalmonType
1495
1514
  type DataComponentSheepColor = DyeColor
1496
1515
  type DataComponentShulkerColor = DyeColor
1497
1516
  type DataComponentStoredEnchantments = EnchantmentLevels
1517
+ type DataComponentSulfurCubeContent = ItemStackTemplate
1498
1518
  type DataComponentSuspiciousStewEffects = Array<SuspiciousStewEffect>
1499
1519
  type DataComponentSwingAnimation = SwingAnimation
1500
1520
  type DataComponentTool = Tool
@@ -1515,6 +1535,9 @@ type DataComponentWolfSoundVariant = (Registry['minecraft:wolf_sound_variant'] |
1515
1535
  type DataComponentWolfVariant = (Registry['minecraft:wolf_variant'] | VariantClass<'wolf'>)
1516
1536
  type DataComponentWritableBookContent = WritableBookContent
1517
1537
  type DataComponentWrittenBookContent = WrittenBookContent
1538
+ type DataComponentZombieNautilusVariant = (
1539
+ | Registry['minecraft:zombie_nautilus_variant']
1540
+ | VariantClass<'zombie_nautilus'>)
1518
1541
  export type SymbolDataComponent<CASE extends
1519
1542
  | 'map'
1520
1543
  | 'keys'
@@ -160,6 +160,8 @@ type DataComponentPredicateDispatcherMap = {
160
160
  'minecraft:stored_enchantments': DataComponentPredicateStoredEnchantments,
161
161
  'trim': DataComponentPredicateTrim,
162
162
  'minecraft:trim': DataComponentPredicateTrim,
163
+ 'villager/variant': DataComponentPredicateVillagerVariant,
164
+ 'minecraft:villager/variant': DataComponentPredicateVillagerVariant,
163
165
  'writable_book_content': DataComponentPredicateWritableBookContent,
164
166
  'minecraft:writable_book_content': DataComponentPredicateWritableBookContent,
165
167
  'written_book_content': DataComponentPredicateWrittenBookContent,
@@ -179,6 +181,7 @@ type DataComponentPredicateFallback = (
179
181
  | DataComponentPredicatePotionContents
180
182
  | DataComponentPredicateStoredEnchantments
181
183
  | DataComponentPredicateTrim
184
+ | DataComponentPredicateVillagerVariant
182
185
  | DataComponentPredicateWritableBookContent
183
186
  | DataComponentPredicateWrittenBookContent
184
187
  | DataComponentPredicateFallbackType)
@@ -197,6 +200,9 @@ type DataComponentPredicatePotionContents = ((
197
200
  | Array<Registry['minecraft:potion']>)
198
201
  type DataComponentPredicateStoredEnchantments = Array<EnchantmentPredicate>
199
202
  type DataComponentPredicateTrim = TrimPredicate
203
+ type DataComponentPredicateVillagerVariant = ((
204
+ | Registry['minecraft:villager_type'] | `#${string}:${string}` | TagClass<'villager_type'>)
205
+ | Array<Registry['minecraft:villager_type']>)
200
206
  type DataComponentPredicateWritableBookContent = WritableBookPredicate
201
207
  type DataComponentPredicateWrittenBookContent = WrittenBookPredicate
202
208
  export type SymbolDataComponentPredicate<CASE extends
@@ -1,5 +1,6 @@
1
1
  import type {
2
2
  SymbolDataComponent,
3
+ SymbolDataComponentExistencePredicate,
3
4
  SymbolDataComponentPredicate,
4
5
  SymbolMcdocCustomData,
5
6
  } from 'sandstone/arguments/generated/dispatcher.ts'
@@ -16,7 +17,7 @@ export type CustomDataMap = ({
16
17
  })
17
18
 
18
19
  export type DataComponentExactPredicate = ({
19
- [Key in Extract<Registry['minecraft:data_component_type'], string>]?: (Key extends keyof SymbolDataComponent
20
+ [Key in Extract<PersistentDataComponent, string>]?: (Key extends keyof SymbolDataComponent
20
21
  ? SymbolDataComponent[Key]
21
22
  : RootNBT)
22
23
  })
@@ -28,3 +29,5 @@ export type DataComponentPatch = (({
28
29
  }))
29
30
 
30
31
  export type DataComponentPredicate = Record<string, never>
32
+
33
+ export type PersistentDataComponent = Registry['minecraft:data_component_type']