minecraft-datapack-language 15.3.21__tar.gz → 15.3.22__tar.gz

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 (887) hide show
  1. minecraft_datapack_language-15.3.22/PKG-INFO +1190 -0
  2. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo.mcfunction +3 -0
  3. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_else_3.mcfunction +2 -0
  4. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_if_3.mcfunction +3 -0
  5. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  6. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  7. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  8. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  9. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/countdown.mcfunction +3 -0
  10. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/hello.mcfunction +3 -0
  11. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/inner.mcfunction +3 -0
  12. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/load.mcfunction +14 -0
  13. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/loop_demo.mcfunction +3 -0
  14. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/main.mcfunction +8 -0
  15. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/phase_2.mcfunction +7 -0
  16. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/scoreboard_demo.mcfunction +4 -0
  17. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/start_game.mcfunction +7 -0
  18. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/start_game_if_1.mcfunction +3 -0
  19. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/start_game_if_5.mcfunction +3 -0
  20. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_countdown_while_1.mcfunction +3 -0
  21. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_loop_demo_while_2.mcfunction +6 -0
  22. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  23. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  24. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  25. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_main_while_2.mcfunction +3 -0
  26. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  27. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  28. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/test_start_game_while_4.mcfunction +3 -0
  29. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/tick.mcfunction +3 -0
  30. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/tick_if_1.mcfunction +1 -0
  31. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/variable_demo.mcfunction +7 -0
  32. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/weapon_effects.mcfunction +3 -0
  33. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/weapon_effects_else_1.mcfunction +3 -0
  34. minecraft_datapack_language-15.3.22/dist_final/data/basic_hello/function/weapon_effects_if_1.mcfunction +3 -0
  35. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo.mcfunction +3 -0
  36. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_else_3.mcfunction +2 -0
  37. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_if_3.mcfunction +3 -0
  38. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  39. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  40. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  41. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  42. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/countdown.mcfunction +3 -0
  43. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/custom_commands.mcfunction +6 -0
  44. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/hello.mcfunction +3 -0
  45. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/increment_global.mcfunction +3 -0
  46. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/increment_player.mcfunction +3 -0
  47. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/inner.mcfunction +3 -0
  48. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/load.mcfunction +14 -0
  49. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/loop_demo.mcfunction +3 -0
  50. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/main.mcfunction +8 -0
  51. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/phase_2.mcfunction +7 -0
  52. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/scoreboard_demo.mcfunction +4 -0
  53. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/show_scores.mcfunction +3 -0
  54. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/start_game.mcfunction +7 -0
  55. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/start_game_if_1.mcfunction +3 -0
  56. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/start_game_if_5.mcfunction +3 -0
  57. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_countdown_while_1.mcfunction +3 -0
  58. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_loop_demo_while_2.mcfunction +6 -0
  59. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  60. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  61. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  62. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_main_while_2.mcfunction +3 -0
  63. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  64. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  65. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/test_start_game_while_4.mcfunction +3 -0
  66. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/tick.mcfunction +3 -0
  67. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/tick_if_1.mcfunction +1 -0
  68. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/variable_demo.mcfunction +7 -0
  69. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/weapon_effects.mcfunction +3 -0
  70. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/weapon_effects_else_1.mcfunction +3 -0
  71. minecraft_datapack_language-15.3.22/dist_final/data/comprehensive/function/weapon_effects_if_1.mcfunction +3 -0
  72. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo.mcfunction +3 -0
  73. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_else_3.mcfunction +2 -0
  74. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_if_3.mcfunction +3 -0
  75. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  76. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  77. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  78. minecraft_datapack_language-15.3.22/dist_final/data/example/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  79. minecraft_datapack_language-15.3.22/dist_final/data/example/function/countdown.mcfunction +3 -0
  80. minecraft_datapack_language-15.3.22/dist_final/data/example/function/custom_commands.mcfunction +6 -0
  81. minecraft_datapack_language-15.3.22/dist_final/data/example/function/hello.mcfunction +3 -0
  82. minecraft_datapack_language-15.3.22/dist_final/data/example/function/increment_global.mcfunction +3 -0
  83. minecraft_datapack_language-15.3.22/dist_final/data/example/function/increment_player.mcfunction +3 -0
  84. minecraft_datapack_language-15.3.22/dist_final/data/example/function/inner.mcfunction +3 -0
  85. minecraft_datapack_language-15.3.22/dist_final/data/example/function/load.mcfunction +14 -0
  86. minecraft_datapack_language-15.3.22/dist_final/data/example/function/loop_demo.mcfunction +3 -0
  87. minecraft_datapack_language-15.3.22/dist_final/data/example/function/main.mcfunction +8 -0
  88. minecraft_datapack_language-15.3.22/dist_final/data/example/function/phase_2.mcfunction +7 -0
  89. minecraft_datapack_language-15.3.22/dist_final/data/example/function/reset.mcfunction +5 -0
  90. minecraft_datapack_language-15.3.22/dist_final/data/example/function/scoreboard_demo.mcfunction +4 -0
  91. minecraft_datapack_language-15.3.22/dist_final/data/example/function/show_scores.mcfunction +3 -0
  92. minecraft_datapack_language-15.3.22/dist_final/data/example/function/start_game.mcfunction +7 -0
  93. minecraft_datapack_language-15.3.22/dist_final/data/example/function/start_game_if_1.mcfunction +3 -0
  94. minecraft_datapack_language-15.3.22/dist_final/data/example/function/start_game_if_5.mcfunction +3 -0
  95. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_countdown_while_1.mcfunction +3 -0
  96. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_loop_demo_while_2.mcfunction +6 -0
  97. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  98. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  99. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  100. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_main_while_2.mcfunction +3 -0
  101. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  102. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  103. minecraft_datapack_language-15.3.22/dist_final/data/example/function/test_start_game_while_4.mcfunction +3 -0
  104. minecraft_datapack_language-15.3.22/dist_final/data/example/function/tick.mcfunction +3 -0
  105. minecraft_datapack_language-15.3.22/dist_final/data/example/function/tick_if_1.mcfunction +1 -0
  106. minecraft_datapack_language-15.3.22/dist_final/data/example/function/variable_demo.mcfunction +7 -0
  107. minecraft_datapack_language-15.3.22/dist_final/data/example/function/weapon_effects.mcfunction +3 -0
  108. minecraft_datapack_language-15.3.22/dist_final/data/example/function/weapon_effects_else_1.mcfunction +3 -0
  109. minecraft_datapack_language-15.3.22/dist_final/data/example/function/weapon_effects_if_1.mcfunction +3 -0
  110. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo.mcfunction +3 -0
  111. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_else_3.mcfunction +2 -0
  112. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_if_3.mcfunction +3 -0
  113. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  114. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  115. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  116. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  117. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/countdown.mcfunction +3 -0
  118. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/custom_commands.mcfunction +6 -0
  119. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/hello.mcfunction +3 -0
  120. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/increment_global.mcfunction +3 -0
  121. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/increment_player.mcfunction +3 -0
  122. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/inner.mcfunction +3 -0
  123. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/load.mcfunction +14 -0
  124. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/loop_demo.mcfunction +3 -0
  125. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/main.mcfunction +8 -0
  126. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/phase_2.mcfunction +7 -0
  127. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/reset.mcfunction +5 -0
  128. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/scoreboard_demo.mcfunction +4 -0
  129. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/show_scores.mcfunction +3 -0
  130. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/start_game.mcfunction +7 -0
  131. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/start_game_if_1.mcfunction +3 -0
  132. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/start_game_if_5.mcfunction +3 -0
  133. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_countdown_while_1.mcfunction +3 -0
  134. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_loop_demo_while_2.mcfunction +6 -0
  135. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  136. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  137. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  138. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_main_while_2.mcfunction +3 -0
  139. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  140. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  141. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/test_start_game_while_4.mcfunction +3 -0
  142. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/tick.mcfunction +3 -0
  143. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/tick_if_1.mcfunction +1 -0
  144. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/variable_demo.mcfunction +7 -0
  145. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/weapon_effects.mcfunction +3 -0
  146. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/weapon_effects_else_1.mcfunction +3 -0
  147. minecraft_datapack_language-15.3.22/dist_final/data/hello_world/function/weapon_effects_if_1.mcfunction +3 -0
  148. minecraft_datapack_language-15.3.22/dist_final/data/minecraft/tags/function/load.json +14 -0
  149. minecraft_datapack_language-15.3.22/dist_final/data/minecraft/tags/function/tick.json +5 -0
  150. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo.mcfunction +3 -0
  151. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_else_3.mcfunction +2 -0
  152. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_if_3.mcfunction +3 -0
  153. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  154. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  155. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  156. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  157. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/countdown.mcfunction +3 -0
  158. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/custom_commands.mcfunction +6 -0
  159. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/hello.mcfunction +3 -0
  160. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/increment_global.mcfunction +3 -0
  161. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/increment_player.mcfunction +3 -0
  162. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/inner.mcfunction +3 -0
  163. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/load.mcfunction +14 -0
  164. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/loop_demo.mcfunction +3 -0
  165. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/main.mcfunction +8 -0
  166. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/phase_2.mcfunction +7 -0
  167. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/reset.mcfunction +5 -0
  168. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/scoreboard_demo.mcfunction +4 -0
  169. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/show_scores.mcfunction +3 -0
  170. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/start_game.mcfunction +7 -0
  171. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/start_game_if_1.mcfunction +3 -0
  172. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/start_game_if_5.mcfunction +3 -0
  173. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_countdown_while_1.mcfunction +3 -0
  174. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_loop_demo_while_2.mcfunction +6 -0
  175. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  176. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  177. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  178. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_main_while_2.mcfunction +3 -0
  179. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  180. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  181. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/test_start_game_while_4.mcfunction +3 -0
  182. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/tick.mcfunction +3 -0
  183. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/tick_if_1.mcfunction +1 -0
  184. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/variable_demo.mcfunction +7 -0
  185. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/weapon_effects.mcfunction +3 -0
  186. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/weapon_effects_else_1.mcfunction +3 -0
  187. minecraft_datapack_language-15.3.22/dist_final/data/raw_commands/function/weapon_effects_if_1.mcfunction +3 -0
  188. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo.mcfunction +3 -0
  189. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_else_3.mcfunction +2 -0
  190. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_if_3.mcfunction +3 -0
  191. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  192. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  193. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  194. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  195. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/countdown.mcfunction +3 -0
  196. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/custom_commands.mcfunction +6 -0
  197. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/hello.mcfunction +3 -0
  198. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/increment_global.mcfunction +3 -0
  199. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/increment_player.mcfunction +3 -0
  200. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/inner.mcfunction +3 -0
  201. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/load.mcfunction +14 -0
  202. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/loop_demo.mcfunction +3 -0
  203. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/main.mcfunction +8 -0
  204. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/phase_2.mcfunction +7 -0
  205. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/reset.mcfunction +5 -0
  206. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/scoreboard_demo.mcfunction +4 -0
  207. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/show_scores.mcfunction +3 -0
  208. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/start_game.mcfunction +7 -0
  209. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/start_game_if_1.mcfunction +3 -0
  210. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/start_game_if_5.mcfunction +3 -0
  211. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_countdown_while_1.mcfunction +3 -0
  212. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_loop_demo_while_2.mcfunction +6 -0
  213. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  214. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  215. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  216. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_main_while_2.mcfunction +3 -0
  217. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  218. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  219. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/test_start_game_while_4.mcfunction +3 -0
  220. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/tick.mcfunction +3 -0
  221. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/tick_if_1.mcfunction +1 -0
  222. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/variable_demo.mcfunction +7 -0
  223. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/weapon_effects.mcfunction +3 -0
  224. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/weapon_effects_else_1.mcfunction +3 -0
  225. minecraft_datapack_language-15.3.22/dist_final/data/registry/function/weapon_effects_if_1.mcfunction +3 -0
  226. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo.mcfunction +3 -0
  227. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_else_3.mcfunction +2 -0
  228. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_if_3.mcfunction +3 -0
  229. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  230. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  231. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  232. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  233. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/countdown.mcfunction +3 -0
  234. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/custom_commands.mcfunction +6 -0
  235. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/hello.mcfunction +3 -0
  236. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/increment_global.mcfunction +3 -0
  237. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/increment_player.mcfunction +3 -0
  238. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/inner.mcfunction +3 -0
  239. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/load.mcfunction +14 -0
  240. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/loop_demo.mcfunction +3 -0
  241. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/main.mcfunction +8 -0
  242. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/phase_2.mcfunction +7 -0
  243. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/reset.mcfunction +5 -0
  244. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/scoreboard_demo.mcfunction +4 -0
  245. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/show_scores.mcfunction +3 -0
  246. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/start_game.mcfunction +7 -0
  247. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/start_game_if_1.mcfunction +3 -0
  248. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/start_game_if_5.mcfunction +3 -0
  249. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_countdown_while_1.mcfunction +3 -0
  250. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_loop_demo_while_2.mcfunction +6 -0
  251. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  252. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  253. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  254. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_main_while_2.mcfunction +3 -0
  255. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  256. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  257. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/test_start_game_while_4.mcfunction +3 -0
  258. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/tick.mcfunction +3 -0
  259. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/tick_if_1.mcfunction +1 -0
  260. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/variable_demo.mcfunction +7 -0
  261. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/weapon_effects.mcfunction +3 -0
  262. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/weapon_effects_else_1.mcfunction +3 -0
  263. minecraft_datapack_language-15.3.22/dist_final/data/scoped_calls/function/weapon_effects_if_1.mcfunction +3 -0
  264. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo.mcfunction +3 -0
  265. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_else_3.mcfunction +2 -0
  266. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_if_3.mcfunction +3 -0
  267. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  268. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  269. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  270. minecraft_datapack_language-15.3.22/dist_final/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  271. minecraft_datapack_language-15.3.22/dist_final/data/test/function/countdown.mcfunction +3 -0
  272. minecraft_datapack_language-15.3.22/dist_final/data/test/function/custom_commands.mcfunction +6 -0
  273. minecraft_datapack_language-15.3.22/dist_final/data/test/function/hello.mcfunction +3 -0
  274. minecraft_datapack_language-15.3.22/dist_final/data/test/function/increment_global.mcfunction +3 -0
  275. minecraft_datapack_language-15.3.22/dist_final/data/test/function/increment_player.mcfunction +3 -0
  276. minecraft_datapack_language-15.3.22/dist_final/data/test/function/inner.mcfunction +3 -0
  277. minecraft_datapack_language-15.3.22/dist_final/data/test/function/load.mcfunction +14 -0
  278. minecraft_datapack_language-15.3.22/dist_final/data/test/function/loop_demo.mcfunction +3 -0
  279. minecraft_datapack_language-15.3.22/dist_final/data/test/function/main.mcfunction +8 -0
  280. minecraft_datapack_language-15.3.22/dist_final/data/test/function/phase_2.mcfunction +7 -0
  281. minecraft_datapack_language-15.3.22/dist_final/data/test/function/reset.mcfunction +5 -0
  282. minecraft_datapack_language-15.3.22/dist_final/data/test/function/scoreboard_demo.mcfunction +4 -0
  283. minecraft_datapack_language-15.3.22/dist_final/data/test/function/show_scores.mcfunction +3 -0
  284. minecraft_datapack_language-15.3.22/dist_final/data/test/function/start_game.mcfunction +7 -0
  285. minecraft_datapack_language-15.3.22/dist_final/data/test/function/start_game_if_1.mcfunction +3 -0
  286. minecraft_datapack_language-15.3.22/dist_final/data/test/function/start_game_if_5.mcfunction +3 -0
  287. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_countdown_while_1.mcfunction +3 -0
  288. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_loop_demo_while_2.mcfunction +6 -0
  289. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  290. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  291. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  292. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_main_while_2.mcfunction +3 -0
  293. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  294. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  295. minecraft_datapack_language-15.3.22/dist_final/data/test/function/test_start_game_while_4.mcfunction +3 -0
  296. minecraft_datapack_language-15.3.22/dist_final/data/test/function/tick.mcfunction +3 -0
  297. minecraft_datapack_language-15.3.22/dist_final/data/test/function/tick_if_1.mcfunction +1 -0
  298. minecraft_datapack_language-15.3.22/dist_final/data/test/function/variable_demo.mcfunction +7 -0
  299. minecraft_datapack_language-15.3.22/dist_final/data/test/function/weapon_effects.mcfunction +3 -0
  300. minecraft_datapack_language-15.3.22/dist_final/data/test/function/weapon_effects_else_1.mcfunction +3 -0
  301. minecraft_datapack_language-15.3.22/dist_final/data/test/function/weapon_effects_if_1.mcfunction +3 -0
  302. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo.mcfunction +3 -0
  303. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_else_3.mcfunction +2 -0
  304. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_if_3.mcfunction +3 -0
  305. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  306. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  307. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  308. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  309. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/countdown.mcfunction +3 -0
  310. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/custom_commands.mcfunction +6 -0
  311. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/hello.mcfunction +3 -0
  312. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/increment_global.mcfunction +3 -0
  313. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/increment_player.mcfunction +3 -0
  314. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/inner.mcfunction +3 -0
  315. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/load.mcfunction +14 -0
  316. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/loop_demo.mcfunction +3 -0
  317. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/main.mcfunction +8 -0
  318. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/phase_2.mcfunction +7 -0
  319. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/reset.mcfunction +5 -0
  320. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/scoreboard_demo.mcfunction +4 -0
  321. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/show_scores.mcfunction +3 -0
  322. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/start_game.mcfunction +7 -0
  323. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/start_game_if_1.mcfunction +3 -0
  324. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/start_game_if_5.mcfunction +3 -0
  325. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_countdown_while_1.mcfunction +3 -0
  326. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_loop_demo_while_2.mcfunction +6 -0
  327. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  328. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  329. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  330. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_main_while_2.mcfunction +3 -0
  331. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  332. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  333. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/test_start_game_while_4.mcfunction +3 -0
  334. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/tick.mcfunction +3 -0
  335. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/tick_if_1.mcfunction +1 -0
  336. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/variable_demo.mcfunction +7 -0
  337. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/weapon_effects.mcfunction +3 -0
  338. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/weapon_effects_else_1.mcfunction +3 -0
  339. minecraft_datapack_language-15.3.22/dist_final/data/variables/function/weapon_effects_if_1.mcfunction +3 -0
  340. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo.mcfunction +3 -0
  341. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_else_3.mcfunction +2 -0
  342. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_if_3.mcfunction +3 -0
  343. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_if_3_else_0.mcfunction +3 -0
  344. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_if_3_if_0.mcfunction +3 -0
  345. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_if_3_if_0_else_0.mcfunction +2 -0
  346. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/conditional_demo_if_3_if_0_if_0.mcfunction +3 -0
  347. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/custom_commands.mcfunction +6 -0
  348. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/hello.mcfunction +3 -0
  349. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/increment_global.mcfunction +3 -0
  350. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/increment_player.mcfunction +3 -0
  351. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/inner.mcfunction +3 -0
  352. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/load.mcfunction +14 -0
  353. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/loop_demo.mcfunction +3 -0
  354. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/main.mcfunction +8 -0
  355. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/phase_2.mcfunction +7 -0
  356. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/reset.mcfunction +5 -0
  357. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/scoreboard_demo.mcfunction +4 -0
  358. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/show_scores.mcfunction +3 -0
  359. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/start_game.mcfunction +7 -0
  360. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/start_game_if_1.mcfunction +3 -0
  361. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/start_game_if_5.mcfunction +3 -0
  362. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_loop_demo_while_2.mcfunction +6 -0
  363. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_loop_demo_while_2_else_0.mcfunction +2 -0
  364. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_loop_demo_while_2_if_0.mcfunction +2 -0
  365. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_loop_demo_while_2_if_2.mcfunction +1 -0
  366. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_scoreboard_demo_while_3.mcfunction +4 -0
  367. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_scoreboard_demo_while_3_if_1.mcfunction +2 -0
  368. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/test_start_game_while_4.mcfunction +3 -0
  369. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/tick.mcfunction +3 -0
  370. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/tick_if_1.mcfunction +1 -0
  371. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/variable_demo.mcfunction +7 -0
  372. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/weapon_effects.mcfunction +3 -0
  373. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/weapon_effects_else_1.mcfunction +3 -0
  374. minecraft_datapack_language-15.3.22/dist_final/data/while_loops/function/weapon_effects_if_1.mcfunction +3 -0
  375. minecraft_datapack_language-15.3.22/dist_final/pack.mcmeta +6 -0
  376. minecraft_datapack_language-15.3.22/dist_final.zip +0 -0
  377. minecraft_datapack_language-15.3.22/docs/_data/version.yml +3 -0
  378. minecraft_datapack_language-15.3.22/docs/_docs/multi-file-projects.md +218 -0
  379. minecraft_datapack_language-15.3.22/docs/_docs/python-api.md +508 -0
  380. minecraft_datapack_language-15.3.22/minecraft_datapack_language/_version.py +34 -0
  381. minecraft_datapack_language-15.3.22/minecraft_datapack_language/cli_build.py +1074 -0
  382. minecraft_datapack_language-15.3.22/minecraft_datapack_language.egg-info/PKG-INFO +1190 -0
  383. minecraft_datapack_language-15.3.22/minecraft_datapack_language.egg-info/SOURCES.txt +894 -0
  384. minecraft_datapack_language-15.3.22/test_examples/test_output/raw_commands/data/raw_commands/function/custom_commands.mcfunction +6 -0
  385. minecraft_datapack_language-15.3.22/test_examples/test_output/scoped_calls/data/scoped_calls/function/increment_global.mcfunction +3 -0
  386. minecraft_datapack_language-15.3.22/test_examples/test_output/scoped_calls/data/scoped_calls/function/increment_player.mcfunction +3 -0
  387. minecraft_datapack_language-15.3.22/test_examples/test_output/scoped_calls/data/scoped_calls/function/show_scores.mcfunction +3 -0
  388. minecraft_datapack_language-15.3.22/test_examples/test_output/variables/data/variables/function/reset.mcfunction +5 -0
  389. minecraft_datapack_language-15.3.22/test_examples/test_output_variables_fixed_v10/data/variables/function/reset.mcfunction +5 -0
  390. minecraft_datapack_language-15.3.22/test_examples/test_output_while_loops_fixed/data/while_loops/function/countdown.mcfunction +3 -0
  391. minecraft_datapack_language-15.3.22/test_examples/test_output_while_loops_fixed/data/while_loops/function/test_countdown_while_1.mcfunction +3 -0
  392. minecraft_datapack_language-15.3.22/test_examples/test_output_while_loops_fixed/data/while_loops/function/test_main_while_2.mcfunction +3 -0
  393. minecraft_datapack_language-15.3.22/test_single_final/data/basic_hello/function/load.mcfunction +1 -0
  394. minecraft_datapack_language-15.3.22/test_single_final/data/basic_hello/function/main.mcfunction +3 -0
  395. minecraft_datapack_language-15.3.22/test_single_final/data/minecraft/tags/function/load.json +6 -0
  396. minecraft_datapack_language-15.3.22/test_single_final/pack.mcmeta +6 -0
  397. minecraft_datapack_language-15.3.22/test_single_final.zip +0 -0
  398. minecraft_datapack_language-15.3.21/PKG-INFO +0 -1190
  399. minecraft_datapack_language-15.3.21/docs/_data/version.yml +0 -3
  400. minecraft_datapack_language-15.3.21/docs/_docs/multi-file-projects.md +0 -217
  401. minecraft_datapack_language-15.3.21/docs/_docs/python-api.md +0 -504
  402. minecraft_datapack_language-15.3.21/minecraft_datapack_language/_version.py +0 -34
  403. minecraft_datapack_language-15.3.21/minecraft_datapack_language/cli_build.py +0 -1082
  404. minecraft_datapack_language-15.3.21/minecraft_datapack_language.egg-info/PKG-INFO +0 -1190
  405. minecraft_datapack_language-15.3.21/minecraft_datapack_language.egg-info/SOURCES.txt +0 -505
  406. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.cursor/rules/aispec.mdc +0 -0
  407. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/actions/mdl-compile/action.yml +0 -0
  408. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/ci.yml +0 -0
  409. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/docs.yml +0 -0
  410. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/pypi.yml +0 -0
  411. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/release.yml +0 -0
  412. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/test-examples.yml +0 -0
  413. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.github/workflows/update-website-version.yml +0 -0
  414. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/.gitignore +0 -0
  415. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/CONDITIONALS_IMPLEMENTATION.md +0 -0
  416. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/CORE_FEATURES_GUIDE.md +0 -0
  417. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/DEVELOPMENT.md +0 -0
  418. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/LICENSE +0 -0
  419. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/MDL_AI_SPEC_SHEET.md +0 -0
  420. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/MDL_LANGUAGE_SPEC.md +0 -0
  421. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/Makefile +0 -0
  422. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/README.md +0 -0
  423. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/advancements/diamond_sword.json +0 -0
  424. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/advancements/first_spell.json +0 -0
  425. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/advancements/other_advancement.json +0 -0
  426. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/advancements/test_advancement.json +0 -0
  427. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
  428. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
  429. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
  430. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
  431. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
  432. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
  433. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
  434. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
  435. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
  436. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
  437. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
  438. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
  439. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
  440. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
  441. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
  442. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
  443. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
  444. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
  445. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
  446. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
  447. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
  448. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
  449. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
  450. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
  451. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
  452. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
  453. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
  454. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
  455. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  456. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  457. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
  458. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
  459. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
  460. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
  461. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
  462. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/control_test/function/main_if_0.mcfunction +0 -0
  463. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/control_test/function/main_while_1.mcfunction +0 -0
  464. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/control_test/function/main_while_body_1.mcfunction +0 -0
  465. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/if_test/function/main_else_1.mcfunction +0 -0
  466. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/if_test/function/main_if_1.mcfunction +0 -0
  467. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
  468. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
  469. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
  470. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
  471. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
  472. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
  473. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/countdown_while_1.mcfunction +0 -0
  474. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/countdown_while_body_1.mcfunction +0 -0
  475. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
  476. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
  477. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/loop_demo_while_2.mcfunction +0 -0
  478. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
  479. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
  480. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
  481. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
  482. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_else_0.mcfunction +0 -0
  483. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_else_1.mcfunction +0 -0
  484. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_else_5.mcfunction +0 -0
  485. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_if_0.mcfunction +0 -0
  486. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_if_1.mcfunction +0 -0
  487. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_if_5.mcfunction +0 -0
  488. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_0.mcfunction +0 -0
  489. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_1.mcfunction +0 -0
  490. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_2.mcfunction +0 -0
  491. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_6.mcfunction +0 -0
  492. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_7.mcfunction +0 -0
  493. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_body_0.mcfunction +0 -0
  494. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_body_1.mcfunction +0 -0
  495. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_body_2.mcfunction +0 -0
  496. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_body_6.mcfunction +0 -0
  497. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/main_while_body_7.mcfunction +0 -0
  498. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
  499. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
  500. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
  501. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/start_game_if_1.mcfunction +0 -0
  502. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/start_game_if_5.mcfunction +0 -0
  503. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/start_game_while_4.mcfunction +0 -0
  504. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/start_game_while_body_4.mcfunction +0 -0
  505. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
  506. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
  507. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
  508. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
  509. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
  510. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
  511. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
  512. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
  513. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
  514. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
  515. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
  516. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
  517. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
  518. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
  519. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
  520. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
  521. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
  522. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
  523. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
  524. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
  525. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
  526. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
  527. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
  528. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
  529. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
  530. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
  531. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
  532. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
  533. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
  534. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
  535. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
  536. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
  537. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
  538. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
  539. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
  540. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
  541. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
  542. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
  543. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
  544. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
  545. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
  546. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
  547. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
  548. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
  549. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
  550. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
  551. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
  552. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
  553. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
  554. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
  555. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
  556. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
  557. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
  558. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
  559. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
  560. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
  561. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
  562. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
  563. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
  564. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
  565. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
  566. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
  567. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
  568. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
  569. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
  570. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
  571. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
  572. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
  573. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
  574. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_else_1.mcfunction +0 -0
  575. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_else_2.mcfunction +0 -0
  576. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_else_3.mcfunction +0 -0
  577. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_if_1.mcfunction +0 -0
  578. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_if_2.mcfunction +0 -0
  579. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_if_else_if_3.mcfunction +0 -0
  580. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_main_while_0.mcfunction +0 -0
  581. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_main_while_body_0.mcfunction +0 -0
  582. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
  583. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
  584. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
  585. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
  586. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
  587. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
  588. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
  589. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
  590. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
  591. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
  592. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  593. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  594. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
  595. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
  596. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
  597. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
  598. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
  599. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
  600. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
  601. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
  602. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
  603. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
  604. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_while_break_while_2.mcfunction +0 -0
  605. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
  606. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
  607. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
  608. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/tick_if_1.mcfunction +0 -0
  609. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/tick_if_2.mcfunction +0 -0
  610. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
  611. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
  612. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
  613. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
  614. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
  615. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
  616. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/while_test/function/main_while_0.mcfunction +0 -0
  617. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/data/while_test/function/main_while_body_0.mcfunction +0 -0
  618. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/dist.zip +0 -0
  619. {minecraft_datapack_language-15.3.21/test_examples/test_output/raw_commands/data/raw_commands → minecraft_datapack_language-15.3.22/dist_final/data/basic_hello}/function/custom_commands.mcfunction +0 -0
  620. {minecraft_datapack_language-15.3.21/test_examples/test_output/scoped_calls/data/scoped_calls → minecraft_datapack_language-15.3.22/dist_final/data/basic_hello}/function/increment_global.mcfunction +0 -0
  621. {minecraft_datapack_language-15.3.21/test_examples/test_output/scoped_calls/data/scoped_calls → minecraft_datapack_language-15.3.22/dist_final/data/basic_hello}/function/increment_player.mcfunction +0 -0
  622. {minecraft_datapack_language-15.3.21/test_examples/test_output/variables/data/variables → minecraft_datapack_language-15.3.22/dist_final/data/basic_hello}/function/reset.mcfunction +0 -0
  623. {minecraft_datapack_language-15.3.21/test_examples/test_output/scoped_calls/data/scoped_calls → minecraft_datapack_language-15.3.22/dist_final/data/basic_hello}/function/show_scores.mcfunction +0 -0
  624. {minecraft_datapack_language-15.3.21/test_examples/test_output_variables_fixed_v10/data/variables → minecraft_datapack_language-15.3.22/dist_final/data/comprehensive}/function/reset.mcfunction +0 -0
  625. {minecraft_datapack_language-15.3.21/test_examples/test_output/while_loops → minecraft_datapack_language-15.3.22/dist_final}/data/while_loops/function/countdown.mcfunction +0 -0
  626. {minecraft_datapack_language-15.3.21/test_examples/test_output/while_loops → minecraft_datapack_language-15.3.22/dist_final}/data/while_loops/function/test_countdown_while_1.mcfunction +0 -0
  627. {minecraft_datapack_language-15.3.21/test_examples/test_output/while_loops → minecraft_datapack_language-15.3.22/dist_final}/data/while_loops/function/test_main_while_2.mcfunction +0 -0
  628. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/.env +0 -0
  629. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/404.html +0 -0
  630. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/Gemfile +0 -0
  631. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/README.md +0 -0
  632. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_config.yml +0 -0
  633. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/cli-reference.md +0 -0
  634. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/contributing.md +0 -0
  635. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/docs-hub.md +0 -0
  636. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/documentation.md +0 -0
  637. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/examples.md +0 -0
  638. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/getting-started.md +0 -0
  639. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/language-reference.md +0 -0
  640. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_docs/vscode-extension.md +0 -0
  641. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_includes/head-custom.html +0 -0
  642. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_includes/navigation.html +0 -0
  643. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_layouts/default.html +0 -0
  644. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_layouts/page.html +0 -0
  645. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_plugins/test_version.rb +0 -0
  646. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/_plugins/version_reader.rb +0 -0
  647. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/assets/css/style.css +0 -0
  648. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/docs.md +0 -0
  649. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/downloads.md +0 -0
  650. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/favicon-16.png +0 -0
  651. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/favicon-32.png +0 -0
  652. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/favicon-48.png +0 -0
  653. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/favicon-64.png +0 -0
  654. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/icon-1024.png +0 -0
  655. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/icon-128.png +0 -0
  656. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/icon-256.png +0 -0
  657. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/icon-512.png +0 -0
  658. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/icons/icon-64.png +0 -0
  659. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/docs/index.md +0 -0
  660. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/examples/hello_world.mdl +0 -0
  661. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/favicon-16.png +0 -0
  662. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/favicon-32.png +0 -0
  663. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/favicon-48.png +0 -0
  664. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/favicon-64.png +0 -0
  665. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/icon-1024.png +0 -0
  666. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/icon-128.png +0 -0
  667. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/icon-256.png +0 -0
  668. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/icon-512.png +0 -0
  669. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/icons/icon-64.png +0 -0
  670. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/item_modifiers/diamond_sword.json +0 -0
  671. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/item_modifiers/enchant_tool.json +0 -0
  672. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/item_modifiers/test_item_modifier.json +0 -0
  673. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/loot_tables/diamond_sword.json +0 -0
  674. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/loot_tables/epic_loot.json +0 -0
  675. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/loot_tables/main_loot.json +0 -0
  676. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/loot_tables/test_loot.json +0 -0
  677. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/__init__.py +0 -0
  678. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/ast_nodes.py +0 -0
  679. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/cli.py +0 -0
  680. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/cli_check.py +0 -0
  681. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/cli_help.py +0 -0
  682. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/cli_new.py +0 -0
  683. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/cli_utils.py +0 -0
  684. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/dir_map.py +0 -0
  685. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/expression_processor.py +0 -0
  686. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/linter.py +0 -0
  687. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/mdl_errors.py +0 -0
  688. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/mdl_lexer_js.py +0 -0
  689. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/mdl_linter.py +0 -0
  690. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/mdl_parser_js.py +0 -0
  691. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/pack.py +0 -0
  692. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language/utils.py +0 -0
  693. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
  694. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
  695. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language.egg-info/requires.txt +0 -0
  696. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
  697. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/my_awesome_pack/README.md +0 -0
  698. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
  699. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/predicates/diamond_sword.json +0 -0
  700. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/predicates/has_mana.json +0 -0
  701. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/predicates/other_predicate.json +0 -0
  702. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/predicates/test_predicate.json +0 -0
  703. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/pyproject.toml +0 -0
  704. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/custom_pickaxe.json +0 -0
  705. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/diamond_sword.json +0 -0
  706. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/first.json +0 -0
  707. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/inlet.json +0 -0
  708. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/main_recipe.json +0 -0
  709. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/outlet.json +0 -0
  710. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/pipe.json +0 -0
  711. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/second.json +0 -0
  712. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/test_recipe.json +0 -0
  713. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/recipes/wrench.json +0 -0
  714. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/UpdateMDL.sh +0 -0
  715. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/bootstrap.ps1 +0 -0
  716. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/bootstrap.sh +0 -0
  717. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/build_pkg.ps1 +0 -0
  718. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/build_pkg.sh +0 -0
  719. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/dev_build.ps1 +0 -0
  720. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/dev_build.sh +0 -0
  721. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/dev_setup.ps1 +0 -0
  722. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/dev_setup.sh +0 -0
  723. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
  724. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
  725. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/git-bash/test_cli-gitbash.sh +0 -0
  726. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/release.sh +0 -0
  727. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/test_cli.ps1 +0 -0
  728. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/test_cli.sh +0 -0
  729. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/test_dev.ps1 +0 -0
  730. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/test_dev.sh +0 -0
  731. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/update_docs.sh +0 -0
  732. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/scripts/update_version_info.sh +0 -0
  733. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/setup.cfg +0 -0
  734. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/structures/diamond_sword.json +0 -0
  735. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/structures/test_structure.json +0 -0
  736. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/structures/workshop.json +0 -0
  737. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_all_registry.mdl +0 -0
  738. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/01_basic_hello_world.mdl +0 -0
  739. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/02_variables_and_scopes.mdl +0 -0
  740. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/03_scoped_function_calls.mdl +0 -0
  741. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/04_while_loops.mdl +0 -0
  742. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/05_raw_commands.mdl +0 -0
  743. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/06_comprehensive_example.mdl +0 -0
  744. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/basic_hello/data/basic_hello/function/load.mcfunction +0 -0
  745. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/basic_hello/data/basic_hello/function/main.mcfunction +0 -0
  746. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/basic_hello/data/minecraft/tags/function/load.json +0 -0
  747. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/basic_hello/pack.mcmeta +0 -0
  748. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/basic_hello.zip +0 -0
  749. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/raw_commands/data/minecraft/tags/function/load.json +0 -0
  750. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/raw_commands/data/raw_commands/function/load.mcfunction +0 -0
  751. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/raw_commands/data/raw_commands/function/main.mcfunction +0 -0
  752. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/raw_commands/pack.mcmeta +0 -0
  753. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/raw_commands.zip +0 -0
  754. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/scoped_calls/data/minecraft/tags/function/load.json +0 -0
  755. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/scoped_calls/data/scoped_calls/function/load.mcfunction +0 -0
  756. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/scoped_calls/data/scoped_calls/function/main.mcfunction +0 -0
  757. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/scoped_calls/pack.mcmeta +0 -0
  758. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/scoped_calls.zip +0 -0
  759. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/variables/data/minecraft/tags/function/load.json +0 -0
  760. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/variables/data/variables/function/load.mcfunction +0 -0
  761. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/variables/data/variables/function/main.mcfunction +0 -0
  762. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/variables/pack.mcmeta +0 -0
  763. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/variables.zip +0 -0
  764. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/data/minecraft/tags/function/load.json +0 -0
  765. {minecraft_datapack_language-15.3.21/test_examples/test_output_while_loops_fixed → minecraft_datapack_language-15.3.22/test_examples/test_output/while_loops}/data/while_loops/function/countdown.mcfunction +0 -0
  766. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/data/while_loops/function/load.mcfunction +0 -0
  767. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/data/while_loops/function/main.mcfunction +0 -0
  768. {minecraft_datapack_language-15.3.21/test_examples/test_output_while_loops_fixed → minecraft_datapack_language-15.3.22/test_examples/test_output/while_loops}/data/while_loops/function/test_countdown_while_1.mcfunction +0 -0
  769. {minecraft_datapack_language-15.3.21/test_examples/test_output_while_loops_fixed → minecraft_datapack_language-15.3.22/test_examples/test_output/while_loops}/data/while_loops/function/test_main_while_2.mcfunction +0 -0
  770. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/data/while_loops/function/while_loops_countdown_while_1.mcfunction +0 -0
  771. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/data/while_loops/function/while_loops_main_while_2.mcfunction +0 -0
  772. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops/pack.mcmeta +0 -0
  773. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output/while_loops.zip +0 -0
  774. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_basic_hello_fixed/data/basic_hello/function/load.mcfunction +0 -0
  775. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_basic_hello_fixed/data/basic_hello/function/main.mcfunction +0 -0
  776. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_basic_hello_fixed/data/minecraft/tags/function/load.json +0 -0
  777. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_basic_hello_fixed/pack.mcmeta +0 -0
  778. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_basic_hello_fixed.zip +0 -0
  779. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/minecraft/tags/function/load.json +0 -0
  780. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/scoped_calls/function/increment_global.mcfunction +0 -0
  781. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/scoped_calls/function/increment_player.mcfunction +0 -0
  782. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/scoped_calls/function/load.mcfunction +0 -0
  783. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/scoped_calls/function/main.mcfunction +0 -0
  784. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/data/scoped_calls/function/show_scores.mcfunction +0 -0
  785. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed/pack.mcmeta +0 -0
  786. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed.zip +0 -0
  787. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/minecraft/tags/function/load.json +0 -0
  788. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/scoped_calls/function/increment_global.mcfunction +0 -0
  789. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/scoped_calls/function/increment_player.mcfunction +0 -0
  790. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/scoped_calls/function/load.mcfunction +0 -0
  791. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/scoped_calls/function/main.mcfunction +0 -0
  792. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/data/scoped_calls/function/show_scores.mcfunction +0 -0
  793. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2/pack.mcmeta +0 -0
  794. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_scoped_fixed_v2.zip +0 -0
  795. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_validation.py +0 -0
  796. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed/data/minecraft/tags/function/load.json +0 -0
  797. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed/data/variables/function/load.mcfunction +0 -0
  798. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed/data/variables/function/main.mcfunction +0 -0
  799. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed/data/variables/function/reset.mcfunction +0 -0
  800. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed/pack.mcmeta +0 -0
  801. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed.zip +0 -0
  802. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v10/data/minecraft/tags/function/load.json +0 -0
  803. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v10/data/variables/function/load.mcfunction +0 -0
  804. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v10/data/variables/function/main.mcfunction +0 -0
  805. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v10/pack.mcmeta +0 -0
  806. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v10.zip +0 -0
  807. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2/data/minecraft/tags/function/load.json +0 -0
  808. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2/data/variables/function/load.mcfunction +0 -0
  809. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2/data/variables/function/main.mcfunction +0 -0
  810. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2/data/variables/function/reset.mcfunction +0 -0
  811. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2/pack.mcmeta +0 -0
  812. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v2.zip +0 -0
  813. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3/data/minecraft/tags/function/load.json +0 -0
  814. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3/data/variables/function/load.mcfunction +0 -0
  815. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3/data/variables/function/main.mcfunction +0 -0
  816. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3/data/variables/function/reset.mcfunction +0 -0
  817. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3/pack.mcmeta +0 -0
  818. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v3.zip +0 -0
  819. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4/data/minecraft/tags/function/load.json +0 -0
  820. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4/data/variables/function/load.mcfunction +0 -0
  821. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4/data/variables/function/main.mcfunction +0 -0
  822. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4/data/variables/function/reset.mcfunction +0 -0
  823. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4/pack.mcmeta +0 -0
  824. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v4.zip +0 -0
  825. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5/data/minecraft/tags/function/load.json +0 -0
  826. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5/data/variables/function/load.mcfunction +0 -0
  827. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5/data/variables/function/main.mcfunction +0 -0
  828. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5/data/variables/function/reset.mcfunction +0 -0
  829. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5/pack.mcmeta +0 -0
  830. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v5.zip +0 -0
  831. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6/data/minecraft/tags/function/load.json +0 -0
  832. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6/data/variables/function/load.mcfunction +0 -0
  833. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6/data/variables/function/main.mcfunction +0 -0
  834. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6/data/variables/function/reset.mcfunction +0 -0
  835. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6/pack.mcmeta +0 -0
  836. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v6.zip +0 -0
  837. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8/data/minecraft/tags/function/load.json +0 -0
  838. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8/data/variables/function/load.mcfunction +0 -0
  839. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8/data/variables/function/main.mcfunction +0 -0
  840. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8/data/variables/function/reset.mcfunction +0 -0
  841. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8/pack.mcmeta +0 -0
  842. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_variables_fixed_v8.zip +0 -0
  843. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_while_loops_fixed/data/minecraft/tags/function/load.json +0 -0
  844. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_while_loops_fixed/data/while_loops/function/load.mcfunction +0 -0
  845. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_while_loops_fixed/data/while_loops/function/main.mcfunction +0 -0
  846. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_while_loops_fixed/pack.mcmeta +0 -0
  847. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_examples/test_output_while_loops_fixed.zip +0 -0
  848. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_output_scope.zip +0 -0
  849. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single/data/basic_hello/function/load.mcfunction +0 -0
  850. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single/data/basic_hello/function/main.mcfunction +0 -0
  851. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single/data/minecraft/tags/function/load.json +0 -0
  852. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single/pack.mcmeta +0 -0
  853. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single.zip +0 -0
  854. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug/data/basic_hello/function/load.mcfunction +0 -0
  855. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug/data/basic_hello/function/main.mcfunction +0 -0
  856. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug/data/minecraft/tags/function/load.json +0 -0
  857. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug/pack.mcmeta +0 -0
  858. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug.zip +0 -0
  859. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug2/data/basic_hello/function/load.mcfunction +0 -0
  860. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug2/data/basic_hello/function/main.mcfunction +0 -0
  861. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug2/data/minecraft/tags/function/load.json +0 -0
  862. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug2/pack.mcmeta +0 -0
  863. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/test_single_debug2.zip +0 -0
  864. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/__init__.py +0 -0
  865. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_basic.py +0 -0
  866. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_cli_comprehensive.py +0 -0
  867. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_comprehensive.py +0 -0
  868. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_comprehensive_edge_cases.py +0 -0
  869. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_comprehensive_features.py +0 -0
  870. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/tests/test_io.py +0 -0
  871. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/README.md +0 -0
  872. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/favicon-16.png +0 -0
  873. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/favicon-32.png +0 -0
  874. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/favicon-48.png +0 -0
  875. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/favicon-64.png +0 -0
  876. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/icon-1024.png +0 -0
  877. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/icon-128.png +0 -0
  878. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/icon-256.png +0 -0
  879. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/icons/icon-512.png +0 -0
  880. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/language-configuration.json +0 -0
  881. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/package-lock.json +0 -0
  882. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/package.json +0 -0
  883. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/snippets/mdl.json +0 -0
  884. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/src/extension.ts +0 -0
  885. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
  886. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/themes/mdl-color-theme.json +0 -0
  887. {minecraft_datapack_language-15.3.21 → minecraft_datapack_language-15.3.22}/vscode-extension/tsconfig.json +0 -0
@@ -0,0 +1,1190 @@
1
+ Metadata-Version: 2.4
2
+ Name: minecraft-datapack-language
3
+ Version: 15.3.22
4
+ Summary: Compile JavaScript-style MDL language or Python API into a Minecraft datapack (1.21+ ready). Features variables, control flow, error handling, and VS Code extension.
5
+ Project-URL: Homepage, https://www.mcmdl.com
6
+ Project-URL: Documentation, https://www.mcmdl.com/docs
7
+ Project-URL: Repository, https://github.com/aaron777collins/MinecraftDatapackLanguage
8
+ Project-URL: Bug Tracker, https://github.com/aaron777collins/MinecraftDatapackLanguage/issues
9
+ Project-URL: VS Code Extension, https://marketplace.visualstudio.com/items?itemName=mdl.minecraft-datapack-language
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Requires-Python: >=3.9
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: mecha>=0.99.0
17
+ Provides-Extra: dev
18
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
19
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
20
+ Dynamic: license-file
21
+
22
+ # <img src="https://github.com/aaron777collins/MinecraftDatapackLanguage/raw/main/icons/icon-128.png" width="32" height="32" alt="MDL Icon"> Minecraft Datapack Language (MDL)
23
+
24
+ A **modern JavaScript-style compiler** that lets you write Minecraft datapacks with **real control structures, variables, and expressions** that actually work.
25
+
26
+ 📖 **[View Full Documentation](https://www.mcmdl.com/)** - Complete guides, examples, and API reference
27
+ 📦 **[View on PyPI](https://pypi.org/project/minecraft-datapack-language/)** - Download and install from PyPI
28
+ 🔧 **[VS Code Extension](https://marketplace.visualstudio.com/items?itemName=mdl.minecraft-datapack-language)** - Syntax highlighting, IntelliSense, and snippets
29
+
30
+ ![CI](https://github.com/aaron777collins/MinecraftDatapackLanguage/workflows/CI/badge.svg)
31
+ ![Test Examples](https://github.com/aaron777collins/MinecraftDatapackLanguage/workflows/Test%20Examples/badge.svg)
32
+ ![Documentation](https://github.com/aaron777collins/MinecraftDatapackLanguage/workflows/Build%20and%20Deploy%20Documentation/badge.svg)
33
+ ![PyPI](https://img.shields.io/pypi/v/minecraft-datapack-language?style=flat-square)
34
+ ![Release](https://github.com/aaron777collins/MinecraftDatapackLanguage/workflows/Release/badge.svg)
35
+
36
+ ## 🎯 **MODERN** JavaScript-Style MDL Language
37
+
38
+ **MDL uses a modern JavaScript-style language format** with **real control structures, variables, and expressions**:
39
+
40
+ ### ✨ **MODERN** Features
41
+ - **🎯 JavaScript-style syntax** with curly braces `{}` and semicolons `;`
42
+ - **📝 Modern comments** using `//` and `/* */`
43
+ - **🔢 Number variables** with `var num` type (stored in scoreboards)
44
+ - **🔄 Full control structures** including `if/else if/else`, `while` loops with method selection
45
+ - **💲 Variable substitution** with `$variable$` syntax
46
+ - **🧮 Expressions** with arithmetic operations (`+`, `-`, `*`, `/`)
47
+ - **📦 Namespace system** for modular code organization
48
+ - **🎨 VS Code extension** with full IntelliSense and snippets
49
+ - **🧪 Comprehensive testing** with E2E validation
50
+ - **📚 Extensive documentation** with examples for every feature
51
+
52
+ ### 🏗️ Core Features
53
+ - ✅ **Modern pack format 82** by default for latest Minecraft features
54
+ - ✅ **JavaScript-style syntax** with curly braces and semicolons
55
+ - ✅ **Real control structures** - `if/else if/else`, `while` loops with recursion/schedule methods
56
+ - ✅ **Number variables** stored in scoreboards with `$variable$` substitution
57
+ - ✅ **Expressions** with arithmetic operations and variable substitution
58
+ - ✅ **Multi-file projects** with automatic merging and dependency resolution
59
+ - ✅ **Variable optimization** - automatic load function generation for initialization
60
+ - ✅ **Selector optimization** - proper `@a` usage for system commands
61
+ - ✅ **Easy hooks** into `minecraft:tick` and `minecraft:load` via function tags
62
+ - ✅ **Tag support** for `function`, `item`, `block`, `entity_type`, `fluid`, and `game_event`
63
+
64
+ > **Note**: Version 12.0+ uses **pack_format 82** by default for the modern JavaScript-style syntax.
65
+
66
+ ---
67
+
68
+ ## 🚀 Install
69
+
70
+ ### Option A — from PyPI (recommended for users)
71
+ Global, isolated CLI via **pipx**:
72
+ ```bash
73
+ python3 -m pip install --user pipx
74
+ python3 -m pipx ensurepath # reopen terminal
75
+ pipx install minecraft-datapack-language
76
+
77
+ mdl --help
78
+ ```
79
+
80
+ Virtualenv (if you prefer):
81
+ ```bash
82
+ python3 -m venv .venv
83
+ source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
84
+ pip install minecraft-datapack-language
85
+ ```
86
+
87
+ ### Option B — from source (for contributors)
88
+ ```bash
89
+ # inside the repo
90
+ python -m pip install -e .
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 🔄 Update
96
+
97
+ - **pipx**: `pipx upgrade minecraft-datapack-language`
98
+ - **pip (venv)**: `pip install -U minecraft-datapack-language`
99
+ - Pin a version: `pipx install "minecraft-datapack-language==<version>"` (replace `<version>` with desired version)
100
+
101
+ ---
102
+
103
+ ## 💻 CLI
104
+
105
+ ### Modern JavaScript-style MDL (v15.0+)
106
+ ```bash
107
+ # Build JavaScript-style MDL files
108
+ mdl build --mdl my_pack/mypack.mdl -o dist --wrapper mypack
109
+ mdl check my_pack/mypack.mdl
110
+
111
+ # Validate generated mcfunction files
112
+ mdl check my_pack/mypack.mdl
113
+
114
+ # Multi-file projects
115
+ mdl build --mdl my_pack/ -o dist # Build entire directory
116
+ mdl build --mdl "file1.mdl file2.mdl" -o dist # Build specific files
117
+
118
+ # Create new projects
119
+ mdl new my_awesome_pack
120
+ ```
121
+
122
+ ### 🐛 **Comprehensive Error Handling**
123
+
124
+ MDL provides detailed error reporting with exact locations and helpful suggestions:
125
+
126
+ ```bash
127
+ # Check for errors with detailed output
128
+ mdl check my_pack.mdl --verbose
129
+ ```
130
+
131
+ **Example Error Output:**
132
+ ```
133
+ Error 1: MDLSyntaxError in test.mdl:15:8
134
+ Missing closing brace for if statement
135
+ Context:
136
+ 13: if (score > 10) {
137
+ 14: say "High score!"
138
+ 15: score = 0
139
+ 16: }
140
+
141
+ Suggestion: Add closing brace '}' after line 15
142
+
143
+ Error 2: MDLLexerError in test.mdl:22:12
144
+ Unterminated string literal
145
+ Context:
146
+ 20: say "Hello world
147
+ 21: score = 10
148
+ 22: say "Goodbye
149
+
150
+ Suggestion: Add closing quote '"' at the end of line 20
151
+ ```
152
+
153
+ **Error Features:**
154
+ - ✅ **Exact Location**: Line and column numbers for precise error location
155
+ - ✅ **Context Lines**: Shows surrounding code for better debugging
156
+ - ✅ **Helpful Suggestions**: Specific fix recommendations
157
+ - ✅ **Multiple Error Collection**: Reports all errors, not just the first
158
+ - ✅ **Error Types**: Syntax, Lexer, Parser, Validation, File, Build, and Configuration errors
159
+
160
+ ### Comments in MDL
161
+ MDL supports modern JavaScript-style comments:
162
+ ```javascript
163
+ // Single-line comments
164
+ /* Multi-line comments */
165
+
166
+ pack "My Pack" {
167
+ function example() {
168
+ // This comment will be properly converted to mcfunction
169
+ say Hello World!;
170
+ }
171
+ }
172
+ ```
173
+
174
+ Generated mcfunction files will have proper `#` comments:
175
+ ```mcfunction
176
+ # This is a generated comment
177
+ say Hello World!
178
+ ```
179
+
180
+ ### Build a whole folder of `.mdl` files
181
+ ```bash
182
+ mdl build --mdl src/ -o dist
183
+ # Recursively parses src/**/*.mdl, merges into one pack (errors on duplicate functions).
184
+ # Only the first file should have a pack declaration - all others are modules.
185
+ ```
186
+
187
+ ### Build multiple specific `.mdl` files
188
+ ```bash
189
+ mdl build --mdl "src/core.mdl src/features.mdl src/ui.mdl" -o dist
190
+ # Parses multiple specific files and merges them into one datapack.
191
+ # Only the first file should have a pack declaration - all others are modules.
192
+ ```
193
+
194
+ ### Validate a folder (JSON diagnostics)
195
+ ```bash
196
+ mdl check --json src/
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 📝 Quick Start - **MODERN** MDL
202
+
203
+ Create your first modern MDL project:
204
+
205
+ ```mdl
206
+ // modern_pack.mdl
207
+ pack "Modern Pack" description "A modern example" pack_format 82;
208
+
209
+ namespace "example";
210
+
211
+ // Number variables with expressions
212
+ var num counter = 0;
213
+ var num health = 20;
214
+ var num level = 1;
215
+ var num experience = 0;
216
+
217
+ function "init" {
218
+ say Initializing...;
219
+ counter = 0;
220
+ health = 20;
221
+ level = 1;
222
+ experience = 0;
223
+ }
224
+
225
+ function "tick" {
226
+ counter = counter + 1;
227
+
228
+ // Full if/else if/else control structure
229
+ if "$health$ < 10" {
230
+ say Health is low!;
231
+ health = health + 5;
232
+ effect give @a minecraft:regeneration 10 1;
233
+ } else if "$level$ > 5" {
234
+ say High level player!;
235
+ effect give @a minecraft:strength 10 1;
236
+ } else {
237
+ say Normal player;
238
+ effect give @a minecraft:speed 10 0;
239
+ }
240
+
241
+ // Variable substitution in strings
242
+ say Counter: $counter$;
243
+
244
+ // While loop with method selection
245
+ while "$counter$ < 10" {
246
+ counter = $counter$ + 1;
247
+ say Counter: $counter$;
248
+ }
249
+
250
+ // Expressions with arithmetic
251
+ experience = $level$ * 100 + $counter$;
252
+ say Experience: $experience$;
253
+ }
254
+
255
+ // Lifecycle hooks
256
+ on_load "example:init";
257
+ on_tick "example:tick";
258
+ ```
259
+
260
+ Build and test:
261
+ ```bash
262
+ mdl build --mdl modern_pack.mdl -o dist
263
+ # → dist/modern_pack/... and dist/modern_pack.zip
264
+ ```
265
+
266
+ ---
267
+
268
+ ## 📁 Multi-file Support
269
+
270
+ MDL supports building datapacks from multiple `.mdl` files. This is useful for organizing large projects into logical modules.
271
+
272
+ ### How it works
273
+ - **Directory scanning**: When you pass a directory to `--mdl`, MDL recursively finds all `.mdl` files
274
+ - **File merging**: Each file is parsed into a `Pack` object, then merged into a single datapack
275
+ - **Conflict resolution**: Duplicate function names within the same namespace will cause an error
276
+ - **Pack metadata**: Only the **first file** should have a pack declaration (name, description, format)
277
+ - **Module files**: Subsequent files should **not** have pack declarations - they are treated as modules
278
+ - **Single file compilation**: When compiling a single file, it **must** have a pack declaration
279
+
280
+ ### Best practices
281
+ - **One pack declaration per project**: Only the **first file** should have a pack declaration
282
+ - **Module files**: All other files should **not** have pack declarations - they are treated as modules
283
+ - **Single file requirement**: When compiling a single file, it **must** have a pack declaration
284
+ - **Organize by namespace**: Consider splitting files by namespace or feature
285
+ - **Use descriptive filenames**: `core.mdl`, `combat.mdl`, `ui.mdl` etc.
286
+ - **Avoid conflicts**: Ensure function names are unique within each namespace
287
+
288
+ ### Example project structure
289
+ ```
290
+ my_datapack/
291
+ ├── core.mdl # ✅ HAS pack declaration
292
+ ├── combat/
293
+ │ ├── weapons.mdl # ❌ NO pack declaration (module)
294
+ │ └── armor.mdl # ❌ NO pack declaration (module)
295
+ ├── ui/
296
+ │ └── hud.mdl # ❌ NO pack declaration (module)
297
+ └── data/
298
+ └── recipes.mdl # ❌ NO pack declaration (module)
299
+ ```
300
+
301
+ **Important**: Only `core.mdl` should have a `pack "Name"` declaration. All other files are modules that merge into the main pack.
302
+
303
+ ### Usage Examples
304
+
305
+ **Build from directory:**
306
+ ```bash
307
+ mdl build --mdl my_datapack/ -o dist
308
+ ```
309
+
310
+ **Build from specific files:**
311
+ ```bash
312
+ mdl build --mdl "core.mdl combat.mdl ui.mdl" -o dist
313
+ ```
314
+
315
+ **Check entire project:**
316
+ ```bash
317
+ mdl check my_datapack/
318
+ ```
319
+
320
+ **Check with verbose output:**
321
+ ```bash
322
+ mdl build --mdl my_datapack/ -o dist --verbose
323
+ ```
324
+
325
+ ### Complete Multi-File Example
326
+
327
+ Here's a complete example showing how to organize a datapack across multiple files:
328
+
329
+ **`core.mdl`** (main file with pack declaration):
330
+ ```mdl
331
+ // core.mdl - Main pack and core systems
332
+ pack "Adventure Pack" description "Multi-file example datapack" pack_format 82;
333
+
334
+ namespace "core";
335
+
336
+ // Number variables with expressions
337
+ var num system_version = 1;
338
+ var num player_count = 0;
339
+ var num total_experience = 0;
340
+
341
+ function "init" {
342
+ say [core:init] Initializing Adventure Pack...;
343
+ tellraw @a {"text":"Adventure Pack loaded!","color":"green"};
344
+ system_version = 1;
345
+ player_count = 0;
346
+ total_experience = 0;
347
+ }
348
+
349
+ function "tick" {
350
+ say [core:tick] Core systems running...;
351
+ execute as @a run particle minecraft:end_rod ~ ~ ~ 0.1 0.1 0.1 0.01 1;
352
+ player_count = player_count + 1;
353
+
354
+ // Control structure example
355
+ if "$player_count$ > 10" {
356
+ say Many players online!;
357
+ effect give @a minecraft:glowing 5 0;
358
+ }
359
+ }
360
+
361
+ // Hook into vanilla lifecycle
362
+ on_load "core:init";
363
+ on_tick "core:tick";
364
+ ```
365
+
366
+ **`combat/weapons.mdl`** (combat module):
367
+ ```mdl
368
+ // combat/weapons.mdl - Weapon-related functions
369
+ namespace "combat";
370
+
371
+ var num weapon_damage = 10;
372
+ var num critical_chance = 5;
373
+
374
+ function "weapon_effects" {
375
+ say [combat:weapon_effects] Applying weapon effects...;
376
+ execute as @a[nbt={SelectedItem:{id:'minecraft:diamond_sword'}}] run effect give @s minecraft:strength 1 0 true;
377
+ weapon_damage = weapon_damage + 2;
378
+
379
+ // Expression example
380
+ critical_chance = $weapon_damage$ / 2;
381
+ }
382
+
383
+ function "update_combat" {
384
+ function core:tick;
385
+ function combat:weapon_effects;
386
+ }
387
+ ```
388
+
389
+ **`combat/armor.mdl`** (armor module):
390
+ ```mdl
391
+ // combat/armor.mdl - Armor-related functions
392
+ namespace "combat";
393
+
394
+ var num armor_bonus = 5;
395
+ var num defense_rating = 0;
396
+
397
+ function "armor_bonus" {
398
+ say [combat:armor_bonus] Checking armor bonuses...;
399
+ execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:diamond_helmet"}]}] run effect give @s minecraft:resistance 1 0 true;
400
+ armor_bonus = armor_bonus + 1;
401
+
402
+ // Expression with multiple variables
403
+ defense_rating = $armor_bonus$ * 2 + 10;
404
+ }
405
+
406
+ function "update_armor" {
407
+ function combat:armor_bonus;
408
+ }
409
+ ```
410
+
411
+ **`ui/hud.mdl`** (UI module):
412
+ ```mdl
413
+ // ui/hud.mdl - User interface functions
414
+ namespace "ui";
415
+
416
+ var num hud_version = 1;
417
+ var num display_counter = 0;
418
+
419
+ function "show_hud" {
420
+ say [ui:show_hud] Updating HUD...;
421
+ title @a actionbar {"text":"Adventure Pack Active","color":"gold"};
422
+ hud_version = hud_version + 1;
423
+
424
+ // While loop example
425
+ while "$display_counter$ < 5" {
426
+ display_counter = $display_counter$ + 1;
427
+ say HUD update: $display_counter$;
428
+ }
429
+ }
430
+
431
+ function "update_ui" {
432
+ function ui:show_hud;
433
+ function combat:update_combat;
434
+ function combat:update_armor;
435
+ }
436
+ ```
437
+
438
+ **Project structure:**
439
+ ```
440
+ adventure_pack/
441
+ ├── core.mdl # ✅ HAS pack declaration
442
+ ├── combat/
443
+ │ ├── weapons.mdl # ❌ NO pack declaration (module)
444
+ │ └── armor.mdl # ❌ NO pack declaration (module)
445
+ └── ui/
446
+ └── hud.mdl # ❌ NO pack declaration (module)
447
+ ```
448
+
449
+ **Build the project:**
450
+ ```bash
451
+ mdl build --mdl adventure_pack/ -o dist --verbose
452
+ ```
453
+
454
+ This will create a datapack with:
455
+ - **Core systems** (initialization and tick functions)
456
+ - **Combat features** (weapon and armor effects)
457
+ - **UI elements** (HUD display)
458
+ - **Cross-module calls** (UI calls combat functions)
459
+ - **Variable optimization** (automatic load function generation)
460
+
461
+ ### CLI Options for Multi-file Builds
462
+
463
+ - `--mdl <path>`: Path to `.mdl` file, directory, or space-separated file list
464
+ - `--src <path>`: Alias for `--mdl` (same functionality)
465
+ - `-o, --out <dir>`: Output directory for the built datapack
466
+ - `--wrapper <name>`: Custom wrapper folder/zip name (default: first namespace or pack name slug)
467
+ - `--pack-format <N>`: Minecraft pack format (default: 82 for modern syntax)
468
+ - `-v, --verbose`: Show detailed processing information including file merging
469
+ - `--py-module <path>`: Alternative: build from Python module with `create_pack()` function
470
+
471
+ ### Error Handling
472
+
473
+ - **Missing pack declaration**: Single files must have a pack declaration
474
+ - **Duplicate pack declarations**: Only the first file in a multi-file project should have a pack declaration
475
+ - **Function conflicts**: Duplicate function names within the same namespace will cause an error
476
+ - **Clear error messages**: Errors include file paths and line numbers for easy debugging
477
+
478
+ ---
479
+
480
+ ## 🎯 **Advanced Multi-File Examples with Namespaces**
481
+
482
+ ### **Modern Namespace System**
483
+
484
+ MDL's namespace system allows you to organize code across multiple files with proper separation:
485
+
486
+ **`game.mdl`** - Core Game Logic:
487
+ ```mdl
488
+ pack "multi_game" "A multi-file game example" 82;
489
+
490
+ namespace "game";
491
+
492
+ var num player_score = 0;
493
+ var num game_timer = 0;
494
+ var num health = 20;
495
+
496
+ function "main" {
497
+ // If-else if-else chain
498
+ if "$health$ < 10" {
499
+ say "Health is low: $health$";
500
+ health = $health$ + 5;
501
+ } else if "$health$ > 15" {
502
+ say "Health is good: $health$";
503
+ } else {
504
+ say "Health is moderate: $health$";
505
+ }
506
+
507
+ // While loop with counter
508
+ while "$game_timer$ < 5" {
509
+ game_timer = $game_timer$ + 1;
510
+ say "Game Timer: $game_timer$";
511
+ }
512
+ }
513
+
514
+ function "score_update" {
515
+ player_score = $player_score$ + 10;
516
+ say "Score updated: $player_score$";
517
+ }
518
+
519
+ on_tick "game:main";
520
+ ```
521
+
522
+ **`ui.mdl`** - User Interface:
523
+ ```mdl
524
+ namespace "ui";
525
+
526
+ var num menu_state = 0;
527
+ var num selected_option = 1;
528
+
529
+ function "main" {
530
+ // Show menu based on state
531
+ if "$menu_state$ == 0" {
532
+ say "=== Main Menu ===";
533
+ say "1. Start Game";
534
+ say "2. Options";
535
+ say "3. Exit";
536
+ }
537
+
538
+ // Handle selection
539
+ if "$selected_option$ == 1" {
540
+ say "Starting game...";
541
+ } else if "$selected_option$ == 2" {
542
+ say "Opening options...";
543
+ } else if "$selected_option$ == 3" {
544
+ say "Exiting...";
545
+ }
546
+ }
547
+
548
+ function "button_handler" {
549
+ var num button_id = 0;
550
+
551
+ if "$button_id$ == 1" {
552
+ selected_option = 1;
553
+ say "Option 1 selected";
554
+ } else if "$button_id$ == 2" {
555
+ selected_option = 2;
556
+ say "Option 2 selected";
557
+ }
558
+ }
559
+
560
+ on_load "ui:main";
561
+ ```
562
+
563
+ **`combat.mdl`** - Combat System:
564
+ ```mdl
565
+ namespace "combat";
566
+
567
+ var num enemy_count = 5;
568
+ var num damage = 0;
569
+
570
+ function "main" {
571
+ var num total_damage = 0;
572
+ total_damage = $damage$ * 2;
573
+
574
+ if "$total_damage$ > 20" {
575
+ say "Critical hit! Damage: $total_damage$";
576
+ } else {
577
+ say "Normal hit. Damage: $total_damage$";
578
+ }
579
+
580
+ // Variable substitution in tellraw
581
+ tellraw @a [{"text":"Enemy Count: "},{"score":{"name":"@a","objective":"enemy_count"}}];
582
+ }
583
+
584
+ on_tick "combat:main";
585
+ ```
586
+
587
+ ### **Build and Generated Structure**
588
+
589
+ ```bash
590
+ # Build all files together
591
+ mdl build --mdl . -o dist
592
+
593
+ # Or build specific files
594
+ mdl build --mdl "game.mdl ui.mdl combat.mdl" -o dist
595
+ ```
596
+
597
+ **Generated Structure:**
598
+ ```
599
+ dist/
600
+ ├── data/
601
+ │ ├── minecraft/tags/function/
602
+ │ │ ├── load.json # Contains all load functions
603
+ │ │ └── tick.json # Contains all tick functions
604
+ │ ├── game/ # game.mdl namespace
605
+ │ │ └── function/
606
+ │ │ ├── main.mcfunction
607
+ │ │ └── score_update.mcfunction
608
+ │ ├── ui/ # ui.mdl namespace
609
+ │ │ └── function/
610
+ │ │ ├── main.mcfunction
611
+ │ │ └── button_handler.mcfunction
612
+ │ └── combat/ # combat.mdl namespace
613
+ │ └── function/
614
+ │ └── main.mcfunction
615
+ └── pack.mcmeta
616
+ ```
617
+
618
+ ### **Key Benefits of Namespace System**
619
+
620
+ - ✅ **No function name conflicts** - Each namespace is completely separate
621
+ - ✅ **Modular development** - Work on different features in separate files
622
+ - ✅ **Automatic merging** - All variables and functions are combined intelligently
623
+ - ✅ **Proper initialization** - Variables are automatically set up in load functions
624
+ - ✅ **Clean organization** - Each module has its own directory structure
625
+ - ✅ **Easy maintenance** - Update individual modules without affecting others
626
+
627
+ ### **Complete Example Project**
628
+
629
+ Check out the `examples/multi_file_example/` directory for a complete working example with:
630
+ - Multiple namespaces (`test`, `other`, `ui`)
631
+ - Various control structures and expressions
632
+ - Comprehensive documentation
633
+ - Ready-to-build files
634
+
635
+ ---
636
+
637
+ ## 📝 The **MODERN** `.mdl` Language
638
+
639
+ ### Grammar you can rely on (based on the parser)
640
+ - **pack header** (required once):
641
+ ```mdl
642
+ pack "Name" [description "Desc"] [pack_format N];
643
+ ```
644
+ - **namespace** (selects a namespace for following blocks):
645
+ ```mdl
646
+ namespace "example";
647
+ ```
648
+ - **number variable declarations** (only `num` type supported):
649
+ ```mdl
650
+ var num counter = 0;
651
+ var num health = 20;
652
+ var num level = 1;
653
+ ```
654
+ - **function** (curly braces + semicolons):
655
+ ```mdl
656
+ function "hello" {
657
+ say hi;
658
+ tellraw @a {"text":"ok","color":"green"};
659
+ }
660
+ ```
661
+ - **full conditional blocks** (if/else if/else statements):
662
+ ```mdl
663
+ function "conditional" {
664
+ if "$health$ < 10" {
665
+ say Health is low!;
666
+ effect give @s minecraft:glowing 5 1;
667
+ } else if "$level$ > 5" {
668
+ say High level player!;
669
+ effect give @s minecraft:speed 5 1;
670
+ } else {
671
+ say Normal player;
672
+ effect give @s minecraft:jump_boost 5 0;
673
+ }
674
+ }
675
+ ```
676
+ - **while loops** (repetitive execution with method selection):
677
+ ```mdl
678
+ function "countdown" {
679
+ var num counter = 5;
680
+ while "$counter$ > 0" {
681
+ say Counter: $counter$;
682
+ counter = counter - 1;
683
+ }
684
+
685
+ // Schedule method for performance
686
+ counter = 10;
687
+ while "$counter$ > 0" method="schedule" {
688
+ say Schedule counter: $counter$;
689
+ counter = $counter$ - 1;
690
+ }
691
+ }
692
+ ```
693
+ - **expressions** (arithmetic operations):
694
+ ```mdl
695
+ function "expressions" {
696
+ var num a = 10;
697
+ var num b = 5;
698
+ var num result = $a$ + $b$ * 2;
699
+ say Result: $result$;
700
+ }
701
+ ```
702
+ - **function calls** (one function invoking another with fully qualified ID):
703
+ ```mdl
704
+ function "outer" {
705
+ say I will call another function;
706
+ function example:hello;
707
+ }
708
+ ```
709
+ - **hooks** (namespaced ids required):
710
+ ```mdl
711
+ on_load "example:hello";
712
+ on_tick "example:hello";
713
+ ```
714
+ - **tags** (supported registries: `function`, `item`, `block`, `entity_type`, `fluid`, `game_event`):
715
+ ```mdl
716
+ tag function "minecraft:tick" {
717
+ add "example:hello";
718
+ }
719
+ ```
720
+ - **comments** start with `//` or `/* */`. Hashes inside **quoted strings** are preserved.
721
+ - **whitespace**: empty lines are ignored; **explicit block boundaries** using curly braces `{` and `}`; **statement termination** using semicolons `;`.
722
+
723
+ > Inside a function block, **every non-empty line** is emitted almost verbatim as a Minecraft command. Comments are stripped out and multi-line commands are automatically wrapped. See below for details.
724
+
725
+ ### Comments
726
+
727
+ MDL supports modern JavaScript-style comments:
728
+
729
+ - **Full-line comments** (a line starting with `//`) are ignored by the parser.
730
+ - **Block comments** (`/* */`) are supported for multi-line comments.
731
+ - **Inline `#` characters** are preserved inside function bodies, so you can still use them the way `mcfunction` normally allows.
732
+
733
+ Example:
734
+
735
+ ```mdl
736
+ // Comment Demo - Testing comments
737
+ pack "Comment Demo" description "Testing comments";
738
+
739
+ namespace "demo";
740
+
741
+ function "comments" {
742
+ // This whole line is ignored by MDL
743
+ say Hello; // This inline comment is preserved
744
+ tellraw @a {"text":"World","color":"blue"}; // Inline too!
745
+
746
+ /* This is a block comment
747
+ that spans multiple lines
748
+ and is ignored by the parser */
749
+ }
750
+ ```
751
+
752
+ When compiled, the resulting function looks like:
753
+
754
+ ```mcfunction
755
+ say Hello # This inline comment is preserved
756
+ tellraw @a {"text":"World","color":"blue"} # Inline too!
757
+ ```
758
+
759
+ Notice how the full-line `//` and block comments never make it into the `.mcfunction`, but the inline ones do.
760
+
761
+ ---
762
+
763
+ ### **MODERN** Variables and Data Types
764
+
765
+ MDL supports **number variables** with **expressions and arithmetic operations**:
766
+
767
+ #### Number Variables (`num`)
768
+ ```mdl
769
+ var num counter = 0;
770
+ var num health = 20;
771
+ var num experience = 100;
772
+
773
+ // Arithmetic operations
774
+ counter = counter + 1;
775
+ health = health - 5;
776
+ experience = experience * 2;
777
+
778
+ // Expressions with multiple variables
779
+ var num total = $health$ + $experience$;
780
+ var num average = $total$ / 2;
781
+
782
+ // Variable substitution in strings
783
+ say Health: $health$;
784
+ say Experience: $experience$;
785
+ say Total: $total$;
786
+ ```
787
+
788
+ **Variable Substitution**: Use `$variable_name$` to read values from scoreboards in strings and conditions.
789
+
790
+ **Expressions**: Support for arithmetic operations (`+`, `-`, `*`, `/`) with proper order of operations.
791
+
792
+ ### **MODERN** Control Flow
793
+
794
+ MDL supports full conditional blocks and loops for control flow.
795
+
796
+ #### Conditional Blocks
797
+
798
+ MDL supports complete if/else if/else statements for conditional execution:
799
+
800
+ ```mdl
801
+ function "conditional_example" {
802
+ var num player_level = 15;
803
+ var num player_health = 8;
804
+ var num player_experience = 1000;
805
+
806
+ if "$player_level$ >= 10" {
807
+ if "$player_health$ < 10" {
808
+ say Advanced player with low health!;
809
+ effect give @s minecraft:regeneration 10 1;
810
+ player_health = $player_health$ + 10;
811
+ } else {
812
+ say Advanced player with good health;
813
+ effect give @s minecraft:strength 10 1;
814
+ }
815
+ } else if "$player_level$ >= 5" {
816
+ say Intermediate player;
817
+ effect give @s minecraft:speed 10 0;
818
+ } else {
819
+ say Beginner player;
820
+ effect give @s minecraft:jump_boost 10 0;
821
+ }
822
+
823
+ // Expression in condition
824
+ if "$player_experience$ > $player_level$ * 100" {
825
+ say High experience for level!;
826
+ }
827
+ }
828
+ ```
829
+
830
+ **Rules:**
831
+ - Conditions use `$variable$` syntax for variable substitution
832
+ - **Explicit block boundaries**: Conditional blocks use curly braces `{` and `}`
833
+ - **Statement termination**: All commands must end with semicolons `;`
834
+ - You can have multiple `else if` blocks
835
+ - The `else` block is optional
836
+ - Conditional blocks are compiled to separate functions and called with `execute` commands
837
+ - **Proper logic**: `else if` blocks only execute if previous conditions were false
838
+ - **Expressions in conditions**: Support for arithmetic operations in conditions
839
+
840
+ #### While Loops
841
+
842
+ MDL supports while loops with method selection for repetitive execution:
843
+
844
+ ```mdl
845
+ function "while_example" {
846
+ var num counter = 5;
847
+
848
+ // Default recursion method (immediate execution)
849
+ while "$counter$ > 0" {
850
+ say "Counter: $counter$";
851
+ counter = $counter$ - 1;
852
+ }
853
+
854
+ // Schedule method (spreads across ticks for performance)
855
+ counter = 10;
856
+ while "$counter$ > 0" method="schedule" {
857
+ say "Schedule counter: $counter$";
858
+ counter = $counter$ - 1;
859
+ }
860
+
861
+ // Expression in loop condition
862
+ var num max_count = 5;
863
+ counter = 0;
864
+ while "$counter$ < $max_count$ * 2" {
865
+ say "Expression counter: $counter$";
866
+ counter = $counter$ + 1;
867
+ }
868
+ }
869
+ ```
870
+
871
+ **Rules:**
872
+ - Conditions use `$variable$` syntax for variable substitution
873
+ - **Explicit block boundaries**: While loops use curly braces `{` and `}`
874
+ - **Statement termination**: All commands must end with semicolons `;`
875
+ - While loops continue until the condition becomes false
876
+ - **Method Selection**: Choose `method="recursion"` (default) or `method="schedule"`
877
+ - **Recursion method**: Executes all iterations immediately (good for small loops)
878
+ - **Schedule method**: Spreads iterations across ticks (better for long loops, prevents lag)
879
+ - **Important**: Ensure your loop body modifies the condition to avoid infinite loops
880
+ - **Expressions in conditions**: Support for arithmetic operations in loop conditions
881
+
882
+ **Implementation**: While loops generate separate function files with proper recursive calls to continue execution until the condition becomes false.
883
+
884
+ ---
885
+
886
+ ### Multi-line Commands
887
+
888
+ Long JSON commands can be split across multiple lines with a trailing backslash `\`.
889
+ MDL will join them back together before writing the final `.mcfunction`.
890
+
891
+ Example:
892
+
893
+ ```mdl
894
+ // Multi-line Demo
895
+ pack "Multi-line Demo";
896
+
897
+ namespace "demo";
898
+
899
+ function "multiline" {
900
+ tellraw @a \
901
+ {"text":"This text is really, really long so we split it",\
902
+ "color":"gold"};
903
+ }
904
+ ```
905
+
906
+ When compiled, the function is a single line:
907
+
908
+ ```mcfunction
909
+ tellraw @a {"text":"This text is really, really long so we split it","color":"gold"}
910
+ ```
911
+
912
+ ---
913
+
914
+ ## 🎯 **MODERN** example (control structures + variables + expressions)
915
+
916
+ ```mdl
917
+ // modern_pack.mdl - modern example for Minecraft Datapack Language
918
+ pack "Modern Pack" description "Modern example datapack" pack_format 82;
919
+
920
+ namespace "example";
921
+
922
+ // Number variables with expressions
923
+ var num counter = 0;
924
+ var num health = 20;
925
+ var num level = 1;
926
+ var num experience = 0;
927
+
928
+ function "inner" {
929
+ say [example:inner] This is the inner function;
930
+ tellraw @a {"text":"Running inner","color":"yellow"};
931
+ counter = counter + 1;
932
+ }
933
+
934
+ function "hello" {
935
+ say [example:hello] Outer says hi;
936
+ function example:inner;
937
+ tellraw @a {"text":"Back in hello","color":"aqua"};
938
+
939
+ // Variable operations with expressions
940
+ health = health + 5;
941
+ level = level + 1;
942
+ experience = $level$ * 100 + $counter$;
943
+
944
+ // Variable substitution
945
+ say Health: $health$;
946
+ say Level: $level$;
947
+ say Experience: $experience$;
948
+
949
+ // Full control structures
950
+ if "$health$ > 15" {
951
+ say High health!;
952
+ effect give @s minecraft:strength 10 1;
953
+ } else if "$level$ > 5" {
954
+ say High level!;
955
+ effect give @s minecraft:speed 10 1;
956
+ } else {
957
+ say Normal stats;
958
+ effect give @s minecraft:jump_boost 10 0;
959
+ }
960
+
961
+ // While loop with method selection
962
+ while "$counter$ < 5" {
963
+ say Counter: $counter$;
964
+ counter = counter + 1;
965
+ }
966
+
967
+ // Expression in condition
968
+ if "$experience$ > $level$ * 50" {
969
+ say High experience for level!;
970
+ }
971
+ }
972
+
973
+ // Hook the function into load and tick
974
+ on_load "example:hello";
975
+ on_tick "example:hello";
976
+
977
+ // Second namespace with a cross-namespace call
978
+ namespace "util";
979
+
980
+ var num helper_count = 0;
981
+ var num total_help = 0;
982
+
983
+ function "helper" {
984
+ say [util:helper] Helping out...;
985
+ helper_count = helper_count + 1;
986
+ total_help = $helper_count$ * 10;
987
+ say Helper count: $helper_count$;
988
+ say Total help: $total_help$;
989
+ }
990
+
991
+ function "boss" {
992
+ say [util:boss] Calling example:hello then util:helper;
993
+ function example:hello;
994
+ function util:helper;
995
+ }
996
+
997
+ // Run boss every tick as well
998
+ on_tick "util:boss";
999
+
1000
+ // Function tag examples
1001
+ tag function "minecraft:load" {
1002
+ add "example:hello";
1003
+ }
1004
+
1005
+ tag function "minecraft:tick" {
1006
+ add "example:hello";
1007
+ add "util:boss";
1008
+ }
1009
+
1010
+ // Data tag examples across registries
1011
+ tag item "example:swords" {
1012
+ add "minecraft:diamond_sword";
1013
+ add "minecraft:netherite_sword";
1014
+ }
1015
+
1016
+ tag block "example:glassy" {
1017
+ add "minecraft:glass";
1018
+ add "minecraft:tinted_glass";
1019
+ }
1020
+ ```
1021
+
1022
+ ### What this demonstrates
1023
+ - **Nested-like function composition** (`function example:inner` inside `function "hello"`).
1024
+ - **Multiple namespaces** (`example`, `util`) calling each other with fully-qualified IDs.
1025
+ - **Lifecycle hooks** (`on_load`, `on_tick`) on both `example:hello` and `util:boss`.
1026
+ - **Function tags** to participate in vanilla tags (`minecraft:load`, `minecraft:tick`).
1027
+ - **Data tags** (`item`, `block`) in addition to function tags.
1028
+ - **Number variables** with `$variable$` substitution.
1029
+ - **Expressions** with arithmetic operations and variable substitution.
1030
+ - **Full control structures** - `if/else if/else`, `while` loops with method selection.
1031
+ - **Modern syntax** with curly braces and semicolons.
1032
+ - **Variable optimization** - automatic load function generation.
1033
+
1034
+ ---
1035
+
1036
+ ## 🐍 Python API equivalent
1037
+
1038
+ ```python
1039
+ from minecraft_datapack_language import Pack
1040
+
1041
+ def build_pack():
1042
+ p = Pack(name="Modern Pack",
1043
+ description="Modern example datapack",
1044
+ pack_format=82)
1045
+
1046
+ ex = p.namespace("example")
1047
+ ex.function("inner",
1048
+ 'say [example:inner] This is the inner function',
1049
+ 'tellraw @a {"text":"Running inner","color":"yellow"}'
1050
+ )
1051
+ ex.function("hello",
1052
+ 'say [example:hello] Outer says hi',
1053
+ 'function example:inner',
1054
+ 'tellraw @a {"text":"Back in hello","color":"aqua"}'
1055
+ )
1056
+
1057
+ # Hooks for example namespace
1058
+ p.on_load("example:hello")
1059
+ p.on_tick("example:hello")
1060
+
1061
+ util = p.namespace("util")
1062
+ util.function("helper",
1063
+ 'say [util:helper] Helping out...'
1064
+ )
1065
+ util.function("boss",
1066
+ 'say [util:boss] Calling example:hello then util:helper',
1067
+ 'function example:hello',
1068
+ 'function util:helper'
1069
+ )
1070
+
1071
+ # Tick hook for util namespace
1072
+ p.on_tick("util:boss")
1073
+
1074
+ # Function tags
1075
+ p.tag("function", "minecraft:load", values=["example:hello"])
1076
+ p.tag("function", "minecraft:tick", values=["example:hello", "util:boss"])
1077
+
1078
+ # Data tags
1079
+ p.tag("item", "example:swords", values=["minecraft:diamond_sword", "minecraft:netherite_sword"])
1080
+ p.tag("block", "example:glassy", values=["minecraft:glass", "minecraft:tinted_glass"])
1081
+
1082
+ return p
1083
+ ```
1084
+
1085
+ Build it:
1086
+ ```bash
1087
+ python - <<'PY'
1088
+ from my_pack_module import build_pack
1089
+ from minecraft_datapack_language.cli import main as M
1090
+ # write to dist/ with a wrapper folder name 'mypack'
1091
+ p = build_pack()
1092
+ M(['build', '--py-object', 'my_pack_module:build_pack', '-o', 'dist', '--wrapper', 'mypack', '--pack-format', '82'])
1093
+ PY
1094
+ ```
1095
+
1096
+ ---
1097
+
1098
+ ## 🔧 Development System
1099
+
1100
+ MDL includes a comprehensive development system that allows you to work with both stable and development versions simultaneously.
1101
+
1102
+ ### Quick Setup
1103
+
1104
+ **Linux/macOS:**
1105
+ ```bash
1106
+ ./scripts/dev_setup.sh
1107
+ ```
1108
+
1109
+ **Windows (PowerShell):**
1110
+ ```powershell
1111
+ .\scripts\dev_setup.ps1
1112
+ ```
1113
+
1114
+ ### Development Commands
1115
+
1116
+ - **`mdl`** - Stable, globally installed version
1117
+ - **`mdlbeta`** - Local development version for testing changes
1118
+
1119
+ ### Development Workflow
1120
+
1121
+ 1. **Make changes** to the code
1122
+ 2. **Rebuild** the development version:
1123
+ ```bash
1124
+ ./scripts/dev_build.sh
1125
+ ```
1126
+ 3. **Test** your changes with `mdlbeta`:
1127
+ ```bash
1128
+ mdlbeta build --mdl your_file.mdl -o dist
1129
+ ```
1130
+ 4. **Compare** with stable version:
1131
+ ```bash
1132
+ mdl build --mdl your_file.mdl -o dist_stable
1133
+ ```
1134
+
1135
+ ### Testing
1136
+
1137
+ **Test the development environment:**
1138
+ ```bash
1139
+ # Linux/macOS
1140
+ ./scripts/test_dev.sh
1141
+
1142
+ # Windows (PowerShell)
1143
+ .\scripts\test_dev.ps1
1144
+ ```
1145
+
1146
+ For more details, see [DEVELOPMENT.md](DEVELOPMENT.md).
1147
+
1148
+ ## 🔧 VS Code Extension
1149
+
1150
+ Get syntax highlighting, error checking, and build commands for `.mdl` files in VS Code, Cursor, and other VS Code-based editors.
1151
+
1152
+ ### Quick Install
1153
+
1154
+ 1. **Download from [GitHub Releases](https://github.com/aaron777collins/MinecraftDatapackLanguage/releases)**
1155
+ 2. **Install the `.vsix` file**:
1156
+ - Open VS Code/Cursor
1157
+ - Go to Extensions (Ctrl+Shift+X)
1158
+ - Click "..." → "Install from VSIX..."
1159
+ - Choose the downloaded `.vsix` file
1160
+
1161
+ ### Features
1162
+ - **Syntax highlighting** for `.mdl` files
1163
+ - **Real-time error checking** with error detection
1164
+ - **Build commands**: `MDL: Build current file` and `MDL: Check Workspace`
1165
+ - **Workspace validation** for multi-file projects
1166
+ - **Server function support**: Proper `@a` selector usage for tag-called functions
1167
+
1168
+ ### Development Setup
1169
+ ```bash
1170
+ cd vscode-extension/
1171
+ npm i
1172
+ # Press F5 to launch the Extension Dev Host
1173
+ ```
1174
+
1175
+ ---
1176
+
1177
+ ## 🚀 CI & Releases
1178
+
1179
+ - **CI** runs on push/PR across Linux/macOS/Windows and uploads artifacts.
1180
+ - **Release** is triggered by pushing a tag like `v1.0.0` or via the Release workflow manually.
1181
+ - Versions are derived from git tags via **setuptools-scm**; tag `vX.Y.Z` → package version `X.Y.Z`.
1182
+
1183
+ ### Local release helper
1184
+ ```bash
1185
+ # requires GitHub CLI: gh auth login
1186
+ ./scripts/release.sh patch "Fixes"
1187
+ ./scripts/release.sh minor "Features"
1188
+ ./scripts/release.sh major "Breaking"
1189
+ ./scripts/release.sh v1.2.3 "Exact version"
1190
+ ```