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,10 +3,10 @@ import type {
3
3
  BlockEntityTarget,
4
4
  EntityTarget,
5
5
  ItemStackTarget,
6
- LootCondition,
7
6
  LootFunction,
8
7
  LootPoolEntry,
9
8
  } from 'sandstone/arguments/generated/data/loot.ts'
9
+ import type { LootConditionOf } from 'sandstone/arguments/generated/data/loot/condition.ts'
10
10
  import type { IntRange, NbtProvider, NumberProvider } from 'sandstone/arguments/generated/data/util.ts'
11
11
  import type { SymbolDataComponent, SymbolMcdocBlockStateKeys } from 'sandstone/arguments/generated/dispatcher.ts'
12
12
  import type { Registry } from 'sandstone/arguments/generated/registry.ts'
@@ -17,7 +17,7 @@ import type { EquipmentSlotGroup } from 'sandstone/arguments/generated/util/slot
17
17
  import type { Text } from 'sandstone/arguments/generated/util/text.ts'
18
18
  import type { CustomData, DataComponentPatch } from 'sandstone/arguments/generated/world/component.ts'
19
19
  import type { FireworkShape } from 'sandstone/arguments/generated/world/component/item.ts'
20
- import type { RootNBT } from 'sandstone/arguments/nbt.ts'
20
+ import type { NBTObject, RootNBT } from 'sandstone/arguments/nbt.ts'
21
21
  import type {
22
22
  BannerPatternClass,
23
23
  DataPointClass,
@@ -32,7 +32,7 @@ import type {
32
32
  TagClass,
33
33
  } from 'sandstone'
34
34
 
35
- export type ApplyBonus = NonNullable<({
35
+ export type ApplyBonus<F extends NBTObject, C extends NBTObject> = NonNullable<({
36
36
  [S in Extract<ApplyBonusFormula, string>]?: ({
37
37
  enchantment: (Registry['minecraft:enchantment'] | EnchantmentClass),
38
38
  /**
@@ -43,7 +43,7 @@ export type ApplyBonus = NonNullable<({
43
43
  * - BinomialWithBonusCount(`binomial_with_bonus_count`)
44
44
  */
45
45
  formula: (S | `minecraft:${S}`),
46
- } & (S extends keyof SymbolApplyBonusFormula ? SymbolApplyBonusFormula[S] : RootNBT) & Conditions)
46
+ } & (S extends keyof SymbolApplyBonusFormula ? SymbolApplyBonusFormula[S] : RootNBT) & Conditions<C>)
47
47
  }[ApplyBonusFormula])>
48
48
 
49
49
  export type ApplyBonusFormula = ('ore_drops' | 'uniform_bonus_count' | 'binomial_with_bonus_count')
@@ -172,13 +172,13 @@ export type BinomialWithBonusCountFormula = {
172
172
  },
173
173
  }
174
174
 
175
- export type Conditions = {
176
- conditions?: Array<LootCondition>,
175
+ export type Conditions<C extends NBTObject> = {
176
+ conditions?: Array<LootConditionOf<C>>,
177
177
  }
178
178
 
179
179
  export type ContainerComponents = ('container' | 'bundle_contents' | 'charged_projectiles')
180
180
 
181
- export type CopyComponents = ({
181
+ export type CopyComponents<F extends NBTObject, C extends NBTObject> = ({
182
182
  /**
183
183
  * Value:
184
184
  * *either*
@@ -202,9 +202,9 @@ export type CopyComponents = ({
202
202
  * Defaults to none.
203
203
  */
204
204
  exclude?: Array<Registry['minecraft:data_component_type']>,
205
- } & Conditions)
205
+ } & Conditions<C>)
206
206
 
207
- export type CopyName = ({
207
+ export type CopyName<F extends NBTObject, C extends NBTObject> = ({
208
208
  /**
209
209
  * Value:
210
210
  * *either*
@@ -216,7 +216,7 @@ export type CopyName = ({
216
216
  * *item 1*
217
217
  */
218
218
  source: (EntityTarget | BlockEntityTarget),
219
- } & Conditions)
219
+ } & Conditions<C>)
220
220
 
221
221
  export type CopyNameSource = (
222
222
  | 'this'
@@ -226,7 +226,7 @@ export type CopyNameSource = (
226
226
  | 'last_damage_player'
227
227
  | 'block_entity')
228
228
 
229
- export type CopyNbt = ({
229
+ export type CopyNbt<C extends NBTObject> = ({
230
230
  source: NbtProvider,
231
231
  ops: Array<{
232
232
  source: `${any}${string}` | DataPointClass,
@@ -240,11 +240,24 @@ export type CopyNbt = ({
240
240
  */
241
241
  op: CopyNbtStrategy,
242
242
  }>,
243
- } & Conditions)
243
+ } & Conditions<C>)
244
+
245
+ export type CopyNbtOperation = {
246
+ source: `${any}${string}` | DataPointClass,
247
+ target: `${any}${string}` | DataPointClass,
248
+ /**
249
+ * Value:
250
+ *
251
+ * - Replace(`replace`): Replace any existing contents of the target.
252
+ * - Append(`append`): Append to a list.
253
+ * - Merge(`merge`): Merge into a compound tag.
254
+ */
255
+ op: CopyNbtStrategy,
256
+ }
244
257
 
245
258
  export type CopyNbtStrategy = ('replace' | 'append' | 'merge')
246
259
 
247
- export type CopyState = NonNullable<({
260
+ export type CopyState<F extends NBTObject, C extends NBTObject> = NonNullable<({
248
261
  [S in Extract<Registry['minecraft:block'], string>]?: ({
249
262
  block: S,
250
263
  properties: Array<(S extends undefined
@@ -252,9 +265,25 @@ export type CopyState = NonNullable<({
252
265
  (S extends keyof SymbolMcdocBlockStateKeys
253
266
  ? SymbolMcdocBlockStateKeys[S]
254
267
  : SymbolMcdocBlockStateKeys<'%unknown'>))>,
255
- } & Conditions)
268
+ } & Conditions<C>)
256
269
  }[Registry['minecraft:block']])>
257
270
 
271
+ export type CustomModelDataColors = ({
272
+ values: Array<(NumberProvider | RGB)>,
273
+ } & ListOperation)
274
+
275
+ export type CustomModelDataFlags = ({
276
+ values: Array<boolean>,
277
+ } & ListOperation)
278
+
279
+ export type CustomModelDataFloats = ({
280
+ values: Array<NumberProvider>,
281
+ } & ListOperation)
282
+
283
+ export type CustomModelDataStrings = ({
284
+ values: Array<string>,
285
+ } & ListOperation)
286
+
258
287
  export type EnchantedCountBase = {
259
288
  /**
260
289
  * If the number is fractional the result is rounded *after* the number was multiplied by the looting level.
@@ -266,14 +295,14 @@ export type EnchantedCountBase = {
266
295
  limit?: NBTInt,
267
296
  }
268
297
 
269
- export type EnchantedCountIncrease = (EnchantedCountBase & {
298
+ export type EnchantedCountIncrease<F extends NBTObject, C extends NBTObject> = (EnchantedCountBase & {
270
299
  /**
271
300
  * Enchantment that increases yields.
272
301
  */
273
302
  enchantment: (Registry['minecraft:enchantment'] | EnchantmentClass),
274
- } & Conditions)
303
+ } & Conditions<C>)
275
304
 
276
- export type EnchantRandomly = ({
305
+ export type EnchantRandomly<F extends NBTObject, C extends NBTObject> = ({
277
306
  /**
278
307
  * The allowed enchantments. If omitted, all enchantments applicable to the item are possible.
279
308
  */
@@ -295,9 +324,9 @@ export type EnchantRandomly = ({
295
324
  * Defaults to `false`.
296
325
  */
297
326
  include_additional_cost_component?: boolean,
298
- } & Conditions)
327
+ } & Conditions<C>)
299
328
 
300
- export type EnchantWithLevels = ({
329
+ export type EnchantWithLevels<F extends NBTObject, C extends NBTObject> = ({
301
330
  /**
302
331
  * The levels to enchant this item with.
303
332
  */
@@ -317,9 +346,9 @@ export type EnchantWithLevels = ({
317
346
  * Defaults to `false`.
318
347
  */
319
348
  include_additional_cost_component?: boolean,
320
- } & Conditions)
349
+ } & Conditions<C>)
321
350
 
322
- export type ExplorationMap = ({
351
+ export type ExplorationMap<F extends NBTObject, C extends NBTObject> = ({
323
352
  /**
324
353
  * Generated structure to locate. Accepts any of the structure types used by the `/locate` command. Defaults to buried treasure.
325
354
  */
@@ -344,9 +373,9 @@ export type ExplorationMap = ({
344
373
  * Whether to not search in chunks that have already been generated. Defaults to `true`.
345
374
  */
346
375
  skip_existing_chunks?: boolean,
347
- } & Conditions)
376
+ } & Conditions<C>)
348
377
 
349
- export type FillPlayerHead = ({
378
+ export type FillPlayerHead<F extends NBTObject, C extends NBTObject> = ({
350
379
  /**
351
380
  * `this` to use the entity that died or the player that gained the advancement, opened the container, or broke the block.
352
381
  *
@@ -363,9 +392,9 @@ export type FillPlayerHead = ({
363
392
  * - InteractingEntity(`interacting_entity`)
364
393
  */
365
394
  entity: EntityTarget,
366
- } & Conditions)
395
+ } & Conditions<C>)
367
396
 
368
- export type Filtered = ({
397
+ export type Filtered<F extends NBTObject, C extends NBTObject> = ({
369
398
  /**
370
399
  * Item predicate to select items to modify.
371
400
  */
@@ -373,12 +402,16 @@ export type Filtered = ({
373
402
  /**
374
403
  * Loot function to apply to the item when `item_filter` passes.
375
404
  */
376
- on_pass?: (LootFunction | Array<LootFunction>),
405
+ on_pass?: (LootFunctionOf<F, C> | Array<LootFunctionOf<F, C>>),
377
406
  /**
378
407
  * Loot function to apply to the item when `item_filter` fails.
379
408
  */
380
- on_fail?: (LootFunction | Array<LootFunction>),
381
- } & Conditions)
409
+ on_fail?: (LootFunctionOf<F, C> | Array<LootFunctionOf<F, C>>),
410
+ } & Conditions<C>)
411
+
412
+ export type FireworkExplosions = ({
413
+ values: Array<SymbolDataComponent['firework_explosion']>,
414
+ } & ListOperation)
382
415
 
383
416
  export type InsertListOperation = {
384
417
  /**
@@ -392,12 +425,12 @@ export type InsertListOperation = {
392
425
  }>,
393
426
  }
394
427
 
395
- export type LimitCount = ({
428
+ export type LimitCount<F extends NBTObject, C extends NBTObject> = ({
396
429
  /**
397
430
  * Limits the count of the item to a range.
398
431
  */
399
432
  limit: IntRange,
400
- } & Conditions)
433
+ } & Conditions<C>)
401
434
 
402
435
  export type ListOperation = NonNullable<({
403
436
  [S in Extract<ListOperationMode, string>]?: ({
@@ -417,7 +450,10 @@ export type ListOperation = NonNullable<({
417
450
 
418
451
  export type ListOperationMode = ('append' | 'insert' | 'replace_all' | 'replace_section')
419
452
 
420
- export type LootingEnchant = (EnchantedCountBase & Conditions)
453
+ // TODO: Make this actually work properly
454
+ export type LootFunctionOf<F extends NBTObject, C extends NBTObject> = LootFunction[]
455
+
456
+ export type LootingEnchant<F extends NBTObject, C extends NBTObject> = (EnchantedCountBase & Conditions<C>)
421
457
 
422
458
  export type MapDecoration = (
423
459
  | 'mansion'
@@ -448,7 +484,7 @@ export type MapDecoration = (
448
484
  | 'banner_red'
449
485
  | 'banner_black')
450
486
 
451
- export type ModifyContents = ({
487
+ export type ModifyContents<F extends NBTObject, C extends NBTObject> = ({
452
488
  /**
453
489
  * Describes target component's items to modify.
454
490
  *
@@ -462,15 +498,15 @@ export type ModifyContents = ({
462
498
  /**
463
499
  * Applied to every item inside container.
464
500
  */
465
- modifier: (LootFunction | Array<LootFunction>),
466
- } & Conditions)
501
+ modifier: (LootFunctionOf<F, C> | Array<LootFunctionOf<F, C>>),
502
+ } & Conditions<C>)
467
503
 
468
- export type Reference = ({
504
+ export type Reference<F extends NBTObject, C extends NBTObject> = ({
469
505
  /**
470
506
  * Item modifier to reference.
471
507
  */
472
508
  name: (`${string}:${string}` | ItemModifierClass),
473
- } & Conditions)
509
+ } & Conditions<C>)
474
510
 
475
511
  export type ReplaceSectionListOperation = {
476
512
  /**
@@ -493,14 +529,14 @@ export type ReplaceSectionListOperation = {
493
529
  }>,
494
530
  }
495
531
 
496
- export type Sequence = {
532
+ export type Sequence<F extends NBTObject, C extends NBTObject> = {
497
533
  /**
498
534
  * List of functions to apply to this item.
499
535
  */
500
- functions: Array<LootFunction>,
536
+ functions: Array<LootFunctionOf<F, C>>,
501
537
  }
502
538
 
503
- export type SetAttributes = ({
539
+ export type SetAttributes<F extends NBTObject, C extends NBTObject> = ({
504
540
  /**
505
541
  * List of attribute modifiers to apply to this item.
506
542
  */
@@ -509,9 +545,9 @@ export type SetAttributes = ({
509
545
  * Whether to replace existing attributes (otherwise append to existing). Defaults to `true`.
510
546
  */
511
547
  replace?: boolean,
512
- } & Conditions)
548
+ } & Conditions<C>)
513
549
 
514
- export type SetBannerPattern = ({
550
+ export type SetBannerPattern<F extends NBTObject, C extends NBTObject> = ({
515
551
  /**
516
552
  * List of banner pattern layers.
517
553
  */
@@ -520,9 +556,9 @@ export type SetBannerPattern = ({
520
556
  * Whether to add to the banner pattern list.
521
557
  */
522
558
  append: boolean,
523
- } & Conditions)
559
+ } & Conditions<C>)
524
560
 
525
- export type SetBookCover = ({
561
+ export type SetBookCover<F extends NBTObject, C extends NBTObject> = ({
526
562
  /**
527
563
  * If omitted, the original title is kept (or an empty string is used if there was no component)
528
564
  */
@@ -541,13 +577,13 @@ export type SetBookCover = ({
541
577
  min: 0,
542
578
  max: 3,
543
579
  }>,
544
- } & Conditions)
580
+ } & Conditions<C>)
545
581
 
546
- export type SetComponents = ({
582
+ export type SetComponents<F extends NBTObject, C extends NBTObject> = ({
547
583
  components: DataComponentPatch,
548
- } & Conditions)
584
+ } & Conditions<C>)
549
585
 
550
- export type SetContents = ({
586
+ export type SetContents<F extends NBTObject, C extends NBTObject> = ({
551
587
  /**
552
588
  * Describes target component to be filled with items.
553
589
  *
@@ -559,21 +595,21 @@ export type SetContents = ({
559
595
  */
560
596
  component: (ContainerComponents | `minecraft:${ContainerComponents}`),
561
597
  entries: Array<LootPoolEntry>,
562
- } & Conditions)
598
+ } & Conditions<C>)
563
599
 
564
- export type SetCount = ({
600
+ export type SetCount<F extends NBTObject, C extends NBTObject> = ({
565
601
  count: NumberProvider,
566
602
  /**
567
603
  * Whether to add to the existing count. Defaults to `false`.
568
604
  */
569
605
  add?: boolean,
570
- } & Conditions)
606
+ } & Conditions<C>)
571
607
 
572
- export type SetCustomData = ({
608
+ export type SetCustomData<F extends NBTObject, C extends NBTObject> = ({
573
609
  tag: CustomData,
574
- } & Conditions)
610
+ } & Conditions<C>)
575
611
 
576
- export type SetCustomModelData = ({
612
+ export type SetCustomModelData<F extends NBTObject, C extends NBTObject> = ({
577
613
  floats?: ({
578
614
  values: Array<NumberProvider>,
579
615
  } & ListOperation),
@@ -586,9 +622,9 @@ export type SetCustomModelData = ({
586
622
  colors?: ({
587
623
  values: Array<(NumberProvider | RGB)>,
588
624
  } & ListOperation),
589
- } & Conditions)
625
+ } & Conditions<C>)
590
626
 
591
- export type SetDamage = ({
627
+ export type SetDamage<F extends NBTObject, C extends NBTObject> = ({
592
628
  /**
593
629
  * Decimal percentage. Can be negative when used in combination with `add`. \
594
630
  * Clamps to a float between `-1` & `1` (inclusive).
@@ -598,9 +634,9 @@ export type SetDamage = ({
598
634
  * Whether to add to the existing damage of the item. Defaults to `false`.
599
635
  */
600
636
  add?: boolean,
601
- } & Conditions)
637
+ } & Conditions<C>)
602
638
 
603
- export type SetEnchantments = ({
639
+ export type SetEnchantments<F extends NBTObject, C extends NBTObject> = ({
604
640
  /**
605
641
  * A map of enchantments to levels. Setting an enchantment to `0` removes it from the item. \
606
642
  * Each level is clamped to a positive integer.
@@ -612,9 +648,9 @@ export type SetEnchantments = ({
612
648
  * Whether to add to the level of each enchantment. Defaults to `false`.
613
649
  */
614
650
  add?: boolean,
615
- } & Conditions)
651
+ } & Conditions<C>)
616
652
 
617
- export type SetFireworkExplosion = ({
653
+ export type SetFireworkExplosion<F extends NBTObject, C extends NBTObject> = ({
618
654
  /**
619
655
  * If omitted, the original shape is kept (or `small_ball` is used if there was no component).
620
656
  *
@@ -645,9 +681,9 @@ export type SetFireworkExplosion = ({
645
681
  * If omitted, the original `has_twinkle` value is kept (or `false` is used if there was no component).
646
682
  */
647
683
  twinkle?: boolean,
648
- } & Conditions)
684
+ } & Conditions<C>)
649
685
 
650
- export type SetFireworks = ({
686
+ export type SetFireworks<F extends NBTObject, C extends NBTObject> = ({
651
687
  /**
652
688
  * If omitted, the flight duration of the item is left untouched - or set to 0 if the component did not exist before.
653
689
  *
@@ -660,9 +696,9 @@ export type SetFireworks = ({
660
696
  explosions?: ({
661
697
  values: Array<SymbolDataComponent['firework_explosion']>,
662
698
  } & ListOperation),
663
- } & Conditions)
699
+ } & Conditions<C>)
664
700
 
665
- export type SetInstrument = ({
701
+ export type SetInstrument<F extends NBTObject, C extends NBTObject> = ({
666
702
  /**
667
703
  * Sets the instrument tag for a goat horn.
668
704
  */
@@ -672,13 +708,13 @@ export type SetInstrument = ({
672
708
  | TagClass<'instrument'>
673
709
  | InstrumentClass)
674
710
  | Array<(Registry['minecraft:instrument'] | InstrumentClass)>),
675
- } & Conditions)
711
+ } & Conditions<C>)
676
712
 
677
- export type SetItem = ({
713
+ export type SetItem<F extends NBTObject, C extends NBTObject> = ({
678
714
  item: Registry['minecraft:item'],
679
- } & Conditions)
715
+ } & Conditions<C>)
680
716
 
681
- export type SetLootTable = ({
717
+ export type SetLootTable<F extends NBTObject, C extends NBTObject> = ({
682
718
  /**
683
719
  * The block entity type of the container.
684
720
  */
@@ -691,9 +727,9 @@ export type SetLootTable = ({
691
727
  * The container seed to use. Defaults to a random seed.
692
728
  */
693
729
  seed?: NBTLong,
694
- } & Conditions)
730
+ } & Conditions<C>)
695
731
 
696
- export type SetLore = ({
732
+ export type SetLore<F extends NBTObject, C extends NBTObject> = ({
697
733
  /**
698
734
  * The entity used to resolve the text components.
699
735
  *
@@ -711,9 +747,9 @@ export type SetLore = ({
711
747
  */
712
748
  entity?: EntityTarget,
713
749
  lore: Array<Text>,
714
- } & ListOperation & Conditions)
750
+ } & ListOperation & Conditions<C>)
715
751
 
716
- export type SetName = ({
752
+ export type SetName<F extends NBTObject, C extends NBTObject> = ({
717
753
  /**
718
754
  * Specifies the entity to act as the target `@s` in the JSON text component.
719
755
  *
@@ -740,35 +776,35 @@ export type SetName = ({
740
776
  * - CustomName(`custom_name`)
741
777
  */
742
778
  target?: SetNameTarget,
743
- } & Conditions)
779
+ } & Conditions<C>)
744
780
 
745
781
  export type SetNameTarget = ('item_name' | 'custom_name')
746
782
 
747
- export type SetNbt = ({
783
+ export type SetNbt<F extends NBTObject, C extends NBTObject> = ({
748
784
  tag: `${any}${string}` | NBTClass,
749
- } & Conditions)
785
+ } & Conditions<C>)
750
786
 
751
- export type SetOminousBottleAmplifier = ({
787
+ export type SetOminousBottleAmplifier<F extends NBTObject, C extends NBTObject> = ({
752
788
  amplifier: NumberProvider,
753
- } & Conditions)
789
+ } & Conditions<C>)
754
790
 
755
- export type SetPotion = ({
791
+ export type SetPotion<F extends NBTObject, C extends NBTObject> = ({
756
792
  /**
757
793
  * The potion identifier.
758
794
  */
759
795
  id: Registry['minecraft:potion'],
760
- } & Conditions)
796
+ } & Conditions<C>)
761
797
 
762
- export type SetRandomDyes = ({
798
+ export type SetRandomDyes<F extends NBTObject, C extends NBTObject> = ({
763
799
  /**
764
800
  * Applies specified number of random dyes to the item. \
765
801
  * For example, one possible outcome of `"number_of_dyes": 2` is `#2C3065`, which is the combination of a blue dye and a black dye. \
766
802
  * The same dye color can be selected multiple times.
767
803
  */
768
804
  number_of_dyes: NumberProvider,
769
- } & Conditions)
805
+ } & Conditions<C>)
770
806
 
771
- export type SetRandomPotion = ({
807
+ export type SetRandomPotion<F extends NBTObject, C extends NBTObject> = ({
772
808
  /**
773
809
  * Possible potions to select from.
774
810
  * Defaults to all potions.
@@ -776,28 +812,28 @@ export type SetRandomPotion = ({
776
812
  options?: ((
777
813
  | Registry['minecraft:potion'] | `#${Registry['minecraft:tag/potion']}` | TagClass<'potion'>)
778
814
  | Registry['minecraft:potion']),
779
- } & Conditions)
815
+ } & Conditions<C>)
780
816
 
781
- export type SetStewEffect = ({
817
+ export type SetStewEffect<F extends NBTObject, C extends NBTObject> = ({
782
818
  /**
783
819
  * Sets the status effects for suspicious stew.
784
820
  */
785
821
  effects?: Array<StewEffect>,
786
- } & Conditions)
822
+ } & Conditions<C>)
787
823
 
788
- export type SetWriteableBookPages = ({
824
+ export type SetWriteableBookPages<F extends NBTObject, C extends NBTObject> = ({
789
825
  /**
790
826
  * Sets the pages of a book and quill.
791
827
  */
792
828
  pages: Array<Filterable<string>>,
793
- } & ListOperation & Conditions)
829
+ } & ListOperation & Conditions<C>)
794
830
 
795
- export type SetWrittenBookPages = ({
831
+ export type SetWrittenBookPages<F extends NBTObject, C extends NBTObject> = ({
796
832
  /**
797
833
  * Sets the pages of a written book.
798
834
  */
799
835
  pages: Array<Filterable<Text>>,
800
- } & ListOperation & Conditions)
836
+ } & ListOperation & Conditions<C>)
801
837
 
802
838
  export type StewEffect = {
803
839
  /**
@@ -821,14 +857,14 @@ export type ToggleableDataComponent = (
821
857
  | 'trim'
822
858
  | 'unbreakable')
823
859
 
824
- export type ToggleTooltips = ({
860
+ export type ToggleTooltips<F extends NBTObject, C extends NBTObject> = ({
825
861
  /**
826
862
  * Toggles which tooltips are shown.
827
863
  */
828
864
  toggles: ({
829
865
  [Key in Extract<Registry['minecraft:data_component_type'], string>]?: boolean
830
866
  }),
831
- } & Conditions)
867
+ } & Conditions<C>)
832
868
 
833
869
  export type UniformBonusFormula = {
834
870
  parameters: {
@@ -887,199 +923,245 @@ export type SymbolListOperation<CASE extends
887
923
  | '%unknown' = 'map'> = CASE extends 'map'
888
924
  ? ListOperationDispatcherMap
889
925
  : CASE extends 'keys' ? ListOperationKeys : CASE extends '%fallback' ? ListOperationFallback : never
890
- type LootFunctionDispatcherMap = {
891
- 'apply_bonus': LootFunctionApplyBonus,
892
- 'minecraft:apply_bonus': LootFunctionApplyBonus,
893
- 'copy_components': LootFunctionCopyComponents,
894
- 'minecraft:copy_components': LootFunctionCopyComponents,
895
- 'copy_custom_data': LootFunctionCopyCustomData,
896
- 'minecraft:copy_custom_data': LootFunctionCopyCustomData,
897
- 'copy_name': LootFunctionCopyName,
898
- 'minecraft:copy_name': LootFunctionCopyName,
899
- 'copy_nbt': LootFunctionCopyNbt,
900
- 'minecraft:copy_nbt': LootFunctionCopyNbt,
901
- 'copy_state': LootFunctionCopyState,
902
- 'minecraft:copy_state': LootFunctionCopyState,
903
- 'discard': LootFunctionDiscard,
904
- 'minecraft:discard': LootFunctionDiscard,
905
- 'enchant_randomly': LootFunctionEnchantRandomly,
906
- 'minecraft:enchant_randomly': LootFunctionEnchantRandomly,
907
- 'enchant_with_levels': LootFunctionEnchantWithLevels,
908
- 'minecraft:enchant_with_levels': LootFunctionEnchantWithLevels,
909
- 'enchanted_count_increase': LootFunctionEnchantedCountIncrease,
910
- 'minecraft:enchanted_count_increase': LootFunctionEnchantedCountIncrease,
911
- 'exploration_map': LootFunctionExplorationMap,
912
- 'minecraft:exploration_map': LootFunctionExplorationMap,
913
- 'explosion_decay': LootFunctionExplosionDecay,
914
- 'minecraft:explosion_decay': LootFunctionExplosionDecay,
915
- 'fill_player_head': LootFunctionFillPlayerHead,
916
- 'minecraft:fill_player_head': LootFunctionFillPlayerHead,
917
- 'filtered': LootFunctionFiltered,
918
- 'minecraft:filtered': LootFunctionFiltered,
919
- 'furnace_smelt': LootFunctionFurnaceSmelt,
920
- 'minecraft:furnace_smelt': LootFunctionFurnaceSmelt,
921
- 'limit_count': LootFunctionLimitCount,
922
- 'minecraft:limit_count': LootFunctionLimitCount,
923
- 'looting_enchant': LootFunctionLootingEnchant,
924
- 'minecraft:looting_enchant': LootFunctionLootingEnchant,
925
- 'modify_contents': LootFunctionModifyContents,
926
- 'minecraft:modify_contents': LootFunctionModifyContents,
927
- 'reference': LootFunctionReference,
928
- 'minecraft:reference': LootFunctionReference,
929
- 'sequence': LootFunctionSequence,
930
- 'minecraft:sequence': LootFunctionSequence,
931
- 'set_attributes': LootFunctionSetAttributes,
932
- 'minecraft:set_attributes': LootFunctionSetAttributes,
933
- 'set_banner_pattern': LootFunctionSetBannerPattern,
934
- 'minecraft:set_banner_pattern': LootFunctionSetBannerPattern,
935
- 'set_book_cover': LootFunctionSetBookCover,
936
- 'minecraft:set_book_cover': LootFunctionSetBookCover,
937
- 'set_components': LootFunctionSetComponents,
938
- 'minecraft:set_components': LootFunctionSetComponents,
939
- 'set_contents': LootFunctionSetContents,
940
- 'minecraft:set_contents': LootFunctionSetContents,
941
- 'set_count': LootFunctionSetCount,
942
- 'minecraft:set_count': LootFunctionSetCount,
943
- 'set_custom_data': LootFunctionSetCustomData,
944
- 'minecraft:set_custom_data': LootFunctionSetCustomData,
945
- 'set_custom_model_data': LootFunctionSetCustomModelData,
946
- 'minecraft:set_custom_model_data': LootFunctionSetCustomModelData,
947
- 'set_damage': LootFunctionSetDamage,
948
- 'minecraft:set_damage': LootFunctionSetDamage,
949
- 'set_enchantments': LootFunctionSetEnchantments,
950
- 'minecraft:set_enchantments': LootFunctionSetEnchantments,
951
- 'set_firework_explosion': LootFunctionSetFireworkExplosion,
952
- 'minecraft:set_firework_explosion': LootFunctionSetFireworkExplosion,
953
- 'set_fireworks': LootFunctionSetFireworks,
954
- 'minecraft:set_fireworks': LootFunctionSetFireworks,
955
- 'set_instrument': LootFunctionSetInstrument,
956
- 'minecraft:set_instrument': LootFunctionSetInstrument,
957
- 'set_item': LootFunctionSetItem,
958
- 'minecraft:set_item': LootFunctionSetItem,
959
- 'set_loot_table': LootFunctionSetLootTable,
960
- 'minecraft:set_loot_table': LootFunctionSetLootTable,
961
- 'set_lore': LootFunctionSetLore,
962
- 'minecraft:set_lore': LootFunctionSetLore,
963
- 'set_name': LootFunctionSetName,
964
- 'minecraft:set_name': LootFunctionSetName,
965
- 'set_nbt': LootFunctionSetNbt,
966
- 'minecraft:set_nbt': LootFunctionSetNbt,
967
- 'set_ominous_bottle_amplifier': LootFunctionSetOminousBottleAmplifier,
968
- 'minecraft:set_ominous_bottle_amplifier': LootFunctionSetOminousBottleAmplifier,
969
- 'set_potion': LootFunctionSetPotion,
970
- 'minecraft:set_potion': LootFunctionSetPotion,
971
- 'set_random_dyes': LootFunctionSetRandomDyes,
972
- 'minecraft:set_random_dyes': LootFunctionSetRandomDyes,
973
- 'set_random_potion': LootFunctionSetRandomPotion,
974
- 'minecraft:set_random_potion': LootFunctionSetRandomPotion,
975
- 'set_stew_effect': LootFunctionSetStewEffect,
976
- 'minecraft:set_stew_effect': LootFunctionSetStewEffect,
977
- 'set_writable_book_pages': LootFunctionSetWritableBookPages,
978
- 'minecraft:set_writable_book_pages': LootFunctionSetWritableBookPages,
979
- 'set_written_book_pages': LootFunctionSetWrittenBookPages,
980
- 'minecraft:set_written_book_pages': LootFunctionSetWrittenBookPages,
981
- 'toggle_tooltips': LootFunctionToggleTooltips,
982
- 'minecraft:toggle_tooltips': LootFunctionToggleTooltips,
926
+ type LootFunctionDispatcherMap<F extends NBTObject, C extends NBTObject> = {
927
+ 'apply_bonus': LootFunctionApplyBonus<F, C>,
928
+ 'minecraft:apply_bonus': LootFunctionApplyBonus<F, C>,
929
+ 'copy_components': LootFunctionCopyComponents<F, C>,
930
+ 'minecraft:copy_components': LootFunctionCopyComponents<F, C>,
931
+ 'copy_custom_data': LootFunctionCopyCustomData<F, C>,
932
+ 'minecraft:copy_custom_data': LootFunctionCopyCustomData<F, C>,
933
+ 'copy_name': LootFunctionCopyName<F, C>,
934
+ 'minecraft:copy_name': LootFunctionCopyName<F, C>,
935
+ 'copy_nbt': LootFunctionCopyNbt<F, C>,
936
+ 'minecraft:copy_nbt': LootFunctionCopyNbt<F, C>,
937
+ 'copy_state': LootFunctionCopyState<F, C>,
938
+ 'minecraft:copy_state': LootFunctionCopyState<F, C>,
939
+ 'discard': LootFunctionDiscard<F, C>,
940
+ 'minecraft:discard': LootFunctionDiscard<F, C>,
941
+ 'enchant_randomly': LootFunctionEnchantRandomly<F, C>,
942
+ 'minecraft:enchant_randomly': LootFunctionEnchantRandomly<F, C>,
943
+ 'enchant_with_levels': LootFunctionEnchantWithLevels<F, C>,
944
+ 'minecraft:enchant_with_levels': LootFunctionEnchantWithLevels<F, C>,
945
+ 'enchanted_count_increase': LootFunctionEnchantedCountIncrease<F, C>,
946
+ 'minecraft:enchanted_count_increase': LootFunctionEnchantedCountIncrease<F, C>,
947
+ 'exploration_map': LootFunctionExplorationMap<F, C>,
948
+ 'minecraft:exploration_map': LootFunctionExplorationMap<F, C>,
949
+ 'explosion_decay': LootFunctionExplosionDecay<F, C>,
950
+ 'minecraft:explosion_decay': LootFunctionExplosionDecay<F, C>,
951
+ 'fill_player_head': LootFunctionFillPlayerHead<F, C>,
952
+ 'minecraft:fill_player_head': LootFunctionFillPlayerHead<F, C>,
953
+ 'filtered': LootFunctionFiltered<F, C>,
954
+ 'minecraft:filtered': LootFunctionFiltered<F, C>,
955
+ 'furnace_smelt': LootFunctionFurnaceSmelt<F, C>,
956
+ 'minecraft:furnace_smelt': LootFunctionFurnaceSmelt<F, C>,
957
+ 'limit_count': LootFunctionLimitCount<F, C>,
958
+ 'minecraft:limit_count': LootFunctionLimitCount<F, C>,
959
+ 'looting_enchant': LootFunctionLootingEnchant<F, C>,
960
+ 'minecraft:looting_enchant': LootFunctionLootingEnchant<F, C>,
961
+ 'modify_contents': LootFunctionModifyContents<F, C>,
962
+ 'minecraft:modify_contents': LootFunctionModifyContents<F, C>,
963
+ 'reference': LootFunctionReference<F, C>,
964
+ 'minecraft:reference': LootFunctionReference<F, C>,
965
+ 'sequence': LootFunctionSequence<F, C>,
966
+ 'minecraft:sequence': LootFunctionSequence<F, C>,
967
+ 'set_attributes': LootFunctionSetAttributes<F, C>,
968
+ 'minecraft:set_attributes': LootFunctionSetAttributes<F, C>,
969
+ 'set_banner_pattern': LootFunctionSetBannerPattern<F, C>,
970
+ 'minecraft:set_banner_pattern': LootFunctionSetBannerPattern<F, C>,
971
+ 'set_book_cover': LootFunctionSetBookCover<F, C>,
972
+ 'minecraft:set_book_cover': LootFunctionSetBookCover<F, C>,
973
+ 'set_components': LootFunctionSetComponents<F, C>,
974
+ 'minecraft:set_components': LootFunctionSetComponents<F, C>,
975
+ 'set_contents': LootFunctionSetContents<F, C>,
976
+ 'minecraft:set_contents': LootFunctionSetContents<F, C>,
977
+ 'set_count': LootFunctionSetCount<F, C>,
978
+ 'minecraft:set_count': LootFunctionSetCount<F, C>,
979
+ 'set_custom_data': LootFunctionSetCustomData<F, C>,
980
+ 'minecraft:set_custom_data': LootFunctionSetCustomData<F, C>,
981
+ 'set_custom_model_data': LootFunctionSetCustomModelData<F, C>,
982
+ 'minecraft:set_custom_model_data': LootFunctionSetCustomModelData<F, C>,
983
+ 'set_damage': LootFunctionSetDamage<F, C>,
984
+ 'minecraft:set_damage': LootFunctionSetDamage<F, C>,
985
+ 'set_enchantments': LootFunctionSetEnchantments<F, C>,
986
+ 'minecraft:set_enchantments': LootFunctionSetEnchantments<F, C>,
987
+ 'set_firework_explosion': LootFunctionSetFireworkExplosion<F, C>,
988
+ 'minecraft:set_firework_explosion': LootFunctionSetFireworkExplosion<F, C>,
989
+ 'set_fireworks': LootFunctionSetFireworks<F, C>,
990
+ 'minecraft:set_fireworks': LootFunctionSetFireworks<F, C>,
991
+ 'set_instrument': LootFunctionSetInstrument<F, C>,
992
+ 'minecraft:set_instrument': LootFunctionSetInstrument<F, C>,
993
+ 'set_item': LootFunctionSetItem<F, C>,
994
+ 'minecraft:set_item': LootFunctionSetItem<F, C>,
995
+ 'set_loot_table': LootFunctionSetLootTable<F, C>,
996
+ 'minecraft:set_loot_table': LootFunctionSetLootTable<F, C>,
997
+ 'set_lore': LootFunctionSetLore<F, C>,
998
+ 'minecraft:set_lore': LootFunctionSetLore<F, C>,
999
+ 'set_name': LootFunctionSetName<F, C>,
1000
+ 'minecraft:set_name': LootFunctionSetName<F, C>,
1001
+ 'set_nbt': LootFunctionSetNbt<F, C>,
1002
+ 'minecraft:set_nbt': LootFunctionSetNbt<F, C>,
1003
+ 'set_ominous_bottle_amplifier': LootFunctionSetOminousBottleAmplifier<F, C>,
1004
+ 'minecraft:set_ominous_bottle_amplifier': LootFunctionSetOminousBottleAmplifier<F, C>,
1005
+ 'set_potion': LootFunctionSetPotion<F, C>,
1006
+ 'minecraft:set_potion': LootFunctionSetPotion<F, C>,
1007
+ 'set_random_dyes': LootFunctionSetRandomDyes<F, C>,
1008
+ 'minecraft:set_random_dyes': LootFunctionSetRandomDyes<F, C>,
1009
+ 'set_random_potion': LootFunctionSetRandomPotion<F, C>,
1010
+ 'minecraft:set_random_potion': LootFunctionSetRandomPotion<F, C>,
1011
+ 'set_stew_effect': LootFunctionSetStewEffect<F, C>,
1012
+ 'minecraft:set_stew_effect': LootFunctionSetStewEffect<F, C>,
1013
+ 'set_writable_book_pages': LootFunctionSetWritableBookPages<F, C>,
1014
+ 'minecraft:set_writable_book_pages': LootFunctionSetWritableBookPages<F, C>,
1015
+ 'set_written_book_pages': LootFunctionSetWrittenBookPages<F, C>,
1016
+ 'minecraft:set_written_book_pages': LootFunctionSetWrittenBookPages<F, C>,
1017
+ 'toggle_tooltips': LootFunctionToggleTooltips<F, C>,
1018
+ 'minecraft:toggle_tooltips': LootFunctionToggleTooltips<F, C>,
983
1019
  }
984
- type LootFunctionKeys = keyof LootFunctionDispatcherMap
985
- type LootFunctionFallback = (
986
- | LootFunctionApplyBonus
987
- | LootFunctionCopyComponents
988
- | LootFunctionCopyCustomData
989
- | LootFunctionCopyName
990
- | LootFunctionCopyNbt
991
- | LootFunctionCopyState
992
- | LootFunctionDiscard
993
- | LootFunctionEnchantRandomly
994
- | LootFunctionEnchantWithLevels
995
- | LootFunctionEnchantedCountIncrease
996
- | LootFunctionExplorationMap
997
- | LootFunctionExplosionDecay
998
- | LootFunctionFillPlayerHead
999
- | LootFunctionFiltered
1000
- | LootFunctionFurnaceSmelt
1001
- | LootFunctionLimitCount
1002
- | LootFunctionLootingEnchant
1003
- | LootFunctionModifyContents
1004
- | LootFunctionReference
1005
- | LootFunctionSequence
1006
- | LootFunctionSetAttributes
1007
- | LootFunctionSetBannerPattern
1008
- | LootFunctionSetBookCover
1009
- | LootFunctionSetComponents
1010
- | LootFunctionSetContents
1011
- | LootFunctionSetCount
1012
- | LootFunctionSetCustomData
1013
- | LootFunctionSetCustomModelData
1014
- | LootFunctionSetDamage
1015
- | LootFunctionSetEnchantments
1016
- | LootFunctionSetFireworkExplosion
1017
- | LootFunctionSetFireworks
1018
- | LootFunctionSetInstrument
1019
- | LootFunctionSetItem
1020
- | LootFunctionSetLootTable
1021
- | LootFunctionSetLore
1022
- | LootFunctionSetName
1023
- | LootFunctionSetNbt
1024
- | LootFunctionSetOminousBottleAmplifier
1025
- | LootFunctionSetPotion
1026
- | LootFunctionSetRandomDyes
1027
- | LootFunctionSetRandomPotion
1028
- | LootFunctionSetStewEffect
1029
- | LootFunctionSetWritableBookPages
1030
- | LootFunctionSetWrittenBookPages
1031
- | LootFunctionToggleTooltips)
1032
- type LootFunctionApplyBonus = ApplyBonus
1033
- type LootFunctionCopyComponents = CopyComponents
1034
- type LootFunctionCopyCustomData = CopyNbt
1035
- type LootFunctionCopyName = CopyName
1036
- type LootFunctionCopyNbt = CopyNbt
1037
- type LootFunctionCopyState = CopyState
1038
- type LootFunctionDiscard = Conditions
1039
- type LootFunctionEnchantRandomly = EnchantRandomly
1040
- type LootFunctionEnchantWithLevels = EnchantWithLevels
1041
- type LootFunctionEnchantedCountIncrease = EnchantedCountIncrease
1042
- type LootFunctionExplorationMap = ExplorationMap
1043
- type LootFunctionExplosionDecay = Conditions
1044
- type LootFunctionFillPlayerHead = FillPlayerHead
1045
- type LootFunctionFiltered = Filtered
1046
- type LootFunctionFurnaceSmelt = Conditions
1047
- type LootFunctionLimitCount = LimitCount
1048
- type LootFunctionLootingEnchant = LootingEnchant
1049
- type LootFunctionModifyContents = ModifyContents
1050
- type LootFunctionReference = Reference
1051
- type LootFunctionSequence = Sequence
1052
- type LootFunctionSetAttributes = SetAttributes
1053
- type LootFunctionSetBannerPattern = SetBannerPattern
1054
- type LootFunctionSetBookCover = SetBookCover
1055
- type LootFunctionSetComponents = SetComponents
1056
- type LootFunctionSetContents = SetContents
1057
- type LootFunctionSetCount = SetCount
1058
- type LootFunctionSetCustomData = SetCustomData
1059
- type LootFunctionSetCustomModelData = SetCustomModelData
1060
- type LootFunctionSetDamage = SetDamage
1061
- type LootFunctionSetEnchantments = SetEnchantments
1062
- type LootFunctionSetFireworkExplosion = SetFireworkExplosion
1063
- type LootFunctionSetFireworks = SetFireworks
1064
- type LootFunctionSetInstrument = SetInstrument
1065
- type LootFunctionSetItem = SetItem
1066
- type LootFunctionSetLootTable = SetLootTable
1067
- type LootFunctionSetLore = SetLore
1068
- type LootFunctionSetName = SetName
1069
- type LootFunctionSetNbt = SetNbt
1070
- type LootFunctionSetOminousBottleAmplifier = SetOminousBottleAmplifier
1071
- type LootFunctionSetPotion = SetPotion
1072
- type LootFunctionSetRandomDyes = SetRandomDyes
1073
- type LootFunctionSetRandomPotion = SetRandomPotion
1074
- type LootFunctionSetStewEffect = SetStewEffect
1075
- type LootFunctionSetWritableBookPages = SetWriteableBookPages
1076
- type LootFunctionSetWrittenBookPages = SetWrittenBookPages
1077
- type LootFunctionToggleTooltips = ToggleTooltips
1078
- export type SymbolLootFunction<CASE extends
1020
+ type LootFunctionKeys = keyof LootFunctionDispatcherMap<NBTObject, NBTObject>
1021
+ type LootFunctionFallback<F extends NBTObject, C extends NBTObject> = (
1022
+ | LootFunctionApplyBonus<F, C>
1023
+ | LootFunctionCopyComponents<F, C>
1024
+ | LootFunctionCopyCustomData<F, C>
1025
+ | LootFunctionCopyName<F, C>
1026
+ | LootFunctionCopyNbt<F, C>
1027
+ | LootFunctionCopyState<F, C>
1028
+ | LootFunctionDiscard<F, C>
1029
+ | LootFunctionEnchantRandomly<F, C>
1030
+ | LootFunctionEnchantWithLevels<F, C>
1031
+ | LootFunctionEnchantedCountIncrease<F, C>
1032
+ | LootFunctionExplorationMap<F, C>
1033
+ | LootFunctionExplosionDecay<F, C>
1034
+ | LootFunctionFillPlayerHead<F, C>
1035
+ | LootFunctionFiltered<F, C>
1036
+ | LootFunctionFurnaceSmelt<F, C>
1037
+ | LootFunctionLimitCount<F, C>
1038
+ | LootFunctionLootingEnchant<F, C>
1039
+ | LootFunctionModifyContents<F, C>
1040
+ | LootFunctionReference<F, C>
1041
+ | LootFunctionSequence<F, C>
1042
+ | LootFunctionSetAttributes<F, C>
1043
+ | LootFunctionSetBannerPattern<F, C>
1044
+ | LootFunctionSetBookCover<F, C>
1045
+ | LootFunctionSetComponents<F, C>
1046
+ | LootFunctionSetContents<F, C>
1047
+ | LootFunctionSetCount<F, C>
1048
+ | LootFunctionSetCustomData<F, C>
1049
+ | LootFunctionSetCustomModelData<F, C>
1050
+ | LootFunctionSetDamage<F, C>
1051
+ | LootFunctionSetEnchantments<F, C>
1052
+ | LootFunctionSetFireworkExplosion<F, C>
1053
+ | LootFunctionSetFireworks<F, C>
1054
+ | LootFunctionSetInstrument<F, C>
1055
+ | LootFunctionSetItem<F, C>
1056
+ | LootFunctionSetLootTable<F, C>
1057
+ | LootFunctionSetLore<F, C>
1058
+ | LootFunctionSetName<F, C>
1059
+ | LootFunctionSetNbt<F, C>
1060
+ | LootFunctionSetOminousBottleAmplifier<F, C>
1061
+ | LootFunctionSetPotion<F, C>
1062
+ | LootFunctionSetRandomDyes<F, C>
1063
+ | LootFunctionSetRandomPotion<F, C>
1064
+ | LootFunctionSetStewEffect<F, C>
1065
+ | LootFunctionSetWritableBookPages<F, C>
1066
+ | LootFunctionSetWrittenBookPages<F, C>
1067
+ | LootFunctionToggleTooltips<F, C>)
1068
+ export type LootFunctionApplyBonus<F extends NBTObject, C extends NBTObject> = ApplyBonus<F, C>
1069
+
1070
+ export type LootFunctionCopyComponents<F extends NBTObject, C extends NBTObject> = CopyComponents<F, C>
1071
+
1072
+ export type LootFunctionCopyCustomData<F extends NBTObject, C extends NBTObject> = CopyNbt<C>
1073
+
1074
+ export type LootFunctionCopyName<F extends NBTObject, C extends NBTObject> = CopyName<F, C>
1075
+
1076
+ export type LootFunctionCopyNbt<F extends NBTObject, C extends NBTObject> = CopyNbt<C>
1077
+
1078
+ export type LootFunctionCopyState<F extends NBTObject, C extends NBTObject> = CopyState<F, C>
1079
+
1080
+ export type LootFunctionDiscard<F extends NBTObject, C extends NBTObject> = Conditions<C>
1081
+
1082
+ export type LootFunctionEnchantRandomly<F extends NBTObject, C extends NBTObject> = EnchantRandomly<F, C>
1083
+
1084
+ export type LootFunctionEnchantWithLevels<F extends NBTObject, C extends NBTObject> = EnchantWithLevels<F, C>
1085
+
1086
+ export type LootFunctionEnchantedCountIncrease<F extends NBTObject, C extends NBTObject> = EnchantedCountIncrease<F, C>
1087
+
1088
+ export type LootFunctionExplorationMap<F extends NBTObject, C extends NBTObject> = ExplorationMap<F, C>
1089
+
1090
+ export type LootFunctionExplosionDecay<F extends NBTObject, C extends NBTObject> = Conditions<C>
1091
+
1092
+ export type LootFunctionFillPlayerHead<F extends NBTObject, C extends NBTObject> = FillPlayerHead<F, C>
1093
+
1094
+ export type LootFunctionFiltered<F extends NBTObject, C extends NBTObject> = Filtered<F, C>
1095
+
1096
+ export type LootFunctionFurnaceSmelt<F extends NBTObject, C extends NBTObject> = Conditions<C>
1097
+
1098
+ export type LootFunctionLimitCount<F extends NBTObject, C extends NBTObject> = LimitCount<F, C>
1099
+
1100
+ export type LootFunctionLootingEnchant<F extends NBTObject, C extends NBTObject> = LootingEnchant<F, C>
1101
+
1102
+ export type LootFunctionModifyContents<F extends NBTObject, C extends NBTObject> = ModifyContents<F, C>
1103
+
1104
+ export type LootFunctionReference<F extends NBTObject, C extends NBTObject> = Reference<F, C>
1105
+
1106
+ export type LootFunctionSequence<F extends NBTObject, C extends NBTObject> = Sequence<F, C>
1107
+
1108
+ export type LootFunctionSetAttributes<F extends NBTObject, C extends NBTObject> = SetAttributes<F, C>
1109
+
1110
+ export type LootFunctionSetBannerPattern<F extends NBTObject, C extends NBTObject> = SetBannerPattern<F, C>
1111
+
1112
+ export type LootFunctionSetBookCover<F extends NBTObject, C extends NBTObject> = SetBookCover<F, C>
1113
+
1114
+ export type LootFunctionSetComponents<F extends NBTObject, C extends NBTObject> = SetComponents<F, C>
1115
+
1116
+ export type LootFunctionSetContents<F extends NBTObject, C extends NBTObject> = SetContents<F, C>
1117
+
1118
+ export type LootFunctionSetCount<F extends NBTObject, C extends NBTObject> = SetCount<F, C>
1119
+
1120
+ export type LootFunctionSetCustomData<F extends NBTObject, C extends NBTObject> = SetCustomData<F, C>
1121
+
1122
+ export type LootFunctionSetCustomModelData<F extends NBTObject, C extends NBTObject> = SetCustomModelData<F, C>
1123
+
1124
+ export type LootFunctionSetDamage<F extends NBTObject, C extends NBTObject> = SetDamage<F, C>
1125
+
1126
+ export type LootFunctionSetEnchantments<F extends NBTObject, C extends NBTObject> = SetEnchantments<F, C>
1127
+
1128
+ export type LootFunctionSetFireworkExplosion<F extends NBTObject, C extends NBTObject> = SetFireworkExplosion<F, C>
1129
+
1130
+ export type LootFunctionSetFireworks<F extends NBTObject, C extends NBTObject> = SetFireworks<F, C>
1131
+
1132
+ export type LootFunctionSetInstrument<F extends NBTObject, C extends NBTObject> = SetInstrument<F, C>
1133
+
1134
+ export type LootFunctionSetItem<F extends NBTObject, C extends NBTObject> = SetItem<F, C>
1135
+
1136
+ export type LootFunctionSetLootTable<F extends NBTObject, C extends NBTObject> = SetLootTable<F, C>
1137
+
1138
+ export type LootFunctionSetLore<F extends NBTObject, C extends NBTObject> = SetLore<F, C>
1139
+
1140
+ export type LootFunctionSetName<F extends NBTObject, C extends NBTObject> = SetName<F, C>
1141
+
1142
+ export type LootFunctionSetNbt<F extends NBTObject, C extends NBTObject> = SetNbt<F, C>
1143
+
1144
+ export type LootFunctionSetOminousBottleAmplifier<F extends NBTObject, C extends NBTObject> = SetOminousBottleAmplifier<F, C>
1145
+
1146
+ export type LootFunctionSetPotion<F extends NBTObject, C extends NBTObject> = SetPotion<F, C>
1147
+
1148
+ export type LootFunctionSetRandomDyes<F extends NBTObject, C extends NBTObject> = SetRandomDyes<F, C>
1149
+
1150
+ export type LootFunctionSetRandomPotion<F extends NBTObject, C extends NBTObject> = SetRandomPotion<F, C>
1151
+
1152
+ export type LootFunctionSetStewEffect<F extends NBTObject, C extends NBTObject> = SetStewEffect<F, C>
1153
+
1154
+ export type LootFunctionSetWritableBookPages<F extends NBTObject, C extends NBTObject> = SetWriteableBookPages<F, C>
1155
+
1156
+ export type LootFunctionSetWrittenBookPages<F extends NBTObject, C extends NBTObject> = SetWrittenBookPages<F, C>
1157
+
1158
+ export type LootFunctionToggleTooltips<F extends NBTObject, C extends NBTObject> = ToggleTooltips<F, C>
1159
+
1160
+ export type SymbolLootFunction<F extends NBTObject, C extends NBTObject, CASE extends
1079
1161
  | 'map'
1080
1162
  | 'keys'
1081
1163
  | '%fallback'
1082
1164
  | '%none'
1083
1165
  | '%unknown' = 'map'> = CASE extends 'map'
1084
- ? LootFunctionDispatcherMap
1085
- : CASE extends 'keys' ? LootFunctionKeys : CASE extends '%fallback' ? LootFunctionFallback : never
1166
+ ? LootFunctionDispatcherMap<F, C>
1167
+ : CASE extends 'keys' ? LootFunctionKeys : CASE extends '%fallback' ? LootFunctionFallback<F, C> : never