minecraft-datapack-language 17.0.0__tar.gz → 17.0.2__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 (400) hide show
  1. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/PKG-INFO +1 -1
  2. minecraft_datapack_language-17.0.2/docs/_data/version.yml +3 -0
  3. minecraft_datapack_language-17.0.2/docs/_docs/examples.md +194 -0
  4. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/getting-started.md +3 -3
  5. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/language-reference.md +49 -17
  6. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/_version.py +3 -3
  7. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/PKG-INFO +1 -1
  8. minecraft_datapack_language-17.0.0/docs/_data/version.yml +0 -3
  9. minecraft_datapack_language-17.0.0/docs/_docs/examples.md +0 -444
  10. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.cursor/rules/aispec.mdc +0 -0
  11. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/actions/mdl-compile/action.yml +0 -0
  12. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/workflows/ci.yml +0 -0
  13. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/workflows/docs.yml +0 -0
  14. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/workflows/pypi.yml +0 -0
  15. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/workflows/release.yml +0 -0
  16. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.github/workflows/update-website-version.yml +0 -0
  17. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.gitignore +0 -0
  18. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/minecraft/tags/function/load.json +0 -0
  19. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/load.mcfunction +0 -0
  20. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/load1.mcfunction +0 -0
  21. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/main.mcfunction +0 -0
  22. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/main__else_1.mcfunction +0 -0
  23. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/main__if_1.mcfunction +0 -0
  24. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/testfunc.mcfunction +0 -0
  25. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/data/test1/function/testfunc__while_1.mcfunction +0 -0
  26. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1/pack.mcmeta +0 -0
  27. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/minecraft/tags/function/load.json +0 -0
  28. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/load.mcfunction +0 -0
  29. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/load1.mcfunction +0 -0
  30. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/main.mcfunction +0 -0
  31. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/main__else_1.mcfunction +0 -0
  32. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/main__if_1.mcfunction +0 -0
  33. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/testfunc.mcfunction +0 -0
  34. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/data/test1/function/testfunc__while_1.mcfunction +0 -0
  35. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.mdl-out-test1-confirm/pack.mcmeta +0 -0
  36. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.tmp_compile_bwe.py +0 -0
  37. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.tmp_compile_bwe2.py +0 -0
  38. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.tmp_compile_bwe3.py +0 -0
  39. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/.tmp_verify_loops.py +0 -0
  40. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/LICENSE +0 -0
  41. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/Makefile +0 -0
  42. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/README.md +0 -0
  43. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/advancements/diamond_sword.json +0 -0
  44. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/advancements/first_spell.json +0 -0
  45. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/advancements/other_advancement.json +0 -0
  46. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/advancements/test_advancement.json +0 -0
  47. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/comprehensive_error_test.mdl +0 -0
  48. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
  49. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
  50. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
  51. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
  52. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
  53. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
  54. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
  55. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
  56. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
  57. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
  58. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
  59. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
  60. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
  61. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
  62. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
  63. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
  64. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
  65. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
  66. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
  67. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
  68. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
  69. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
  70. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
  71. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
  72. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
  73. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
  74. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
  75. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
  76. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  77. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  78. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
  79. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
  80. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
  81. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
  82. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
  83. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/control_test/function/main_if_0.mcfunction +0 -0
  84. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/control_test/function/main_while_1.mcfunction +0 -0
  85. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/control_test/function/main_while_body_1.mcfunction +0 -0
  86. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/if_test/function/main_else_1.mcfunction +0 -0
  87. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/if_test/function/main_if_1.mcfunction +0 -0
  88. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
  89. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
  90. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
  91. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
  92. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
  93. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
  94. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/countdown_while_1.mcfunction +0 -0
  95. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/countdown_while_body_1.mcfunction +0 -0
  96. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
  97. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
  98. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/loop_demo_while_2.mcfunction +0 -0
  99. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
  100. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
  101. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
  102. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
  103. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_else_0.mcfunction +0 -0
  104. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_else_1.mcfunction +0 -0
  105. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_else_5.mcfunction +0 -0
  106. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_if_0.mcfunction +0 -0
  107. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_if_1.mcfunction +0 -0
  108. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_if_5.mcfunction +0 -0
  109. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_0.mcfunction +0 -0
  110. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_1.mcfunction +0 -0
  111. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_2.mcfunction +0 -0
  112. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_6.mcfunction +0 -0
  113. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_7.mcfunction +0 -0
  114. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_body_0.mcfunction +0 -0
  115. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_body_1.mcfunction +0 -0
  116. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_body_2.mcfunction +0 -0
  117. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_body_6.mcfunction +0 -0
  118. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/main_while_body_7.mcfunction +0 -0
  119. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
  120. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
  121. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
  122. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/start_game_if_1.mcfunction +0 -0
  123. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/start_game_if_5.mcfunction +0 -0
  124. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/start_game_while_4.mcfunction +0 -0
  125. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/start_game_while_body_4.mcfunction +0 -0
  126. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
  127. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
  128. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
  129. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
  130. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
  131. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
  132. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
  133. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
  134. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
  135. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
  136. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
  137. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
  138. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
  139. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
  140. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
  141. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
  142. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
  143. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
  144. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
  145. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
  146. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
  147. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
  148. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
  149. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
  150. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
  151. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
  152. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
  153. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
  154. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
  155. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
  156. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
  157. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
  158. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
  159. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
  160. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
  161. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
  162. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
  163. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
  164. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
  165. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
  166. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
  167. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
  168. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
  169. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
  170. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
  171. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
  172. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
  173. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
  174. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
  175. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
  176. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
  177. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
  178. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
  179. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
  180. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
  181. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
  182. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
  183. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
  184. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
  185. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
  186. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
  187. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
  188. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
  189. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
  190. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
  191. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
  192. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
  193. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
  194. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
  195. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_else_1.mcfunction +0 -0
  196. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_else_2.mcfunction +0 -0
  197. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_else_3.mcfunction +0 -0
  198. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_if_1.mcfunction +0 -0
  199. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_if_2.mcfunction +0 -0
  200. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_if_else_if_3.mcfunction +0 -0
  201. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_main_while_0.mcfunction +0 -0
  202. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_main_while_body_0.mcfunction +0 -0
  203. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
  204. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
  205. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
  206. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
  207. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
  208. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
  209. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
  210. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
  211. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
  212. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
  213. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  214. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  215. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
  216. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
  217. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
  218. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
  219. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
  220. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
  221. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
  222. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
  223. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
  224. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
  225. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_while_break_while_2.mcfunction +0 -0
  226. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
  227. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
  228. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
  229. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/tick_if_1.mcfunction +0 -0
  230. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/tick_if_2.mcfunction +0 -0
  231. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
  232. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
  233. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
  234. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
  235. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
  236. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
  237. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/while_test/function/main_while_0.mcfunction +0 -0
  238. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/data/while_test/function/main_while_body_0.mcfunction +0 -0
  239. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/dist.zip +0 -0
  240. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/.env +0 -0
  241. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/404.html +0 -0
  242. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/Gemfile +0 -0
  243. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/README.md +0 -0
  244. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_config.yml +0 -0
  245. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/cli-reference.md +0 -0
  246. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/contributing.md +0 -0
  247. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/docs-hub.md +0 -0
  248. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/documentation.md +0 -0
  249. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/multi-file-projects.md +0 -0
  250. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/python-bindings.md +0 -0
  251. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_docs/vscode-extension.md +0 -0
  252. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_includes/head-custom.html +0 -0
  253. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_includes/navigation.html +0 -0
  254. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_layouts/default.html +0 -0
  255. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_layouts/page.html +0 -0
  256. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_plugins/test_version.rb +0 -0
  257. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/_plugins/version_reader.rb +0 -0
  258. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/assets/css/style.css +0 -0
  259. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/docs.md +0 -0
  260. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/downloads.md +0 -0
  261. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/favicon-16.png +0 -0
  262. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/favicon-32.png +0 -0
  263. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/favicon-48.png +0 -0
  264. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/favicon-64.png +0 -0
  265. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/icon-1024.png +0 -0
  266. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/icon-128.png +0 -0
  267. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/icon-256.png +0 -0
  268. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/icon-512.png +0 -0
  269. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/icons/icon-64.png +0 -0
  270. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/docs/index.md +0 -0
  271. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/examples/hello_world.mdl +0 -0
  272. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/examples/macros_example.mdl +0 -0
  273. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/examples/scope_examples.mdl +0 -0
  274. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/examples/simple_counter.mdl +0 -0
  275. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/favicon-16.png +0 -0
  276. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/favicon-32.png +0 -0
  277. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/favicon-48.png +0 -0
  278. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/favicon-64.png +0 -0
  279. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/icon-1024.png +0 -0
  280. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/icon-128.png +0 -0
  281. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/icon-256.png +0 -0
  282. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/icon-512.png +0 -0
  283. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/icons/icon-64.png +0 -0
  284. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/item_modifiers/diamond_sword.json +0 -0
  285. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/item_modifiers/enchant_tool.json +0 -0
  286. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/item_modifiers/test_item_modifier.json +0 -0
  287. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/loot_tables/diamond_sword.json +0 -0
  288. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/loot_tables/epic_loot.json +0 -0
  289. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/loot_tables/main_loot.json +0 -0
  290. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/loot_tables/test_loot.json +0 -0
  291. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/mdllocal.sh +0 -0
  292. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/__init__.py +0 -0
  293. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/ast_nodes.py +0 -0
  294. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/cli.py +0 -0
  295. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/dir_map.py +0 -0
  296. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/mdl_compiler.py +0 -0
  297. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/mdl_errors.py +0 -0
  298. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/mdl_lexer.py +0 -0
  299. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/mdl_linter.py +0 -0
  300. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/mdl_parser.py +0 -0
  301. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/python_api.py +0 -0
  302. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language/utils.py +0 -0
  303. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/SOURCES.txt +0 -0
  304. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
  305. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
  306. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/requires.txt +0 -0
  307. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
  308. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/multi_scope_example.mdl +0 -0
  309. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/my_awesome_pack/README.md +0 -0
  310. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
  311. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/predicates/diamond_sword.json +0 -0
  312. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/predicates/has_mana.json +0 -0
  313. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/predicates/other_predicate.json +0 -0
  314. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/predicates/test_predicate.json +0 -0
  315. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/pyproject.toml +0 -0
  316. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/pytest.ini +0 -0
  317. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/custom_pickaxe.json +0 -0
  318. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/diamond_sword.json +0 -0
  319. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/first.json +0 -0
  320. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/inlet.json +0 -0
  321. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/main_recipe.json +0 -0
  322. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/outlet.json +0 -0
  323. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/pipe.json +0 -0
  324. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/second.json +0 -0
  325. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/test_recipe.json +0 -0
  326. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/recipes/wrench.json +0 -0
  327. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scope_demo.mdl +0 -0
  328. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scoreboard_test.mdl +0 -0
  329. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/UpdateMDL.sh +0 -0
  330. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/bootstrap.ps1 +0 -0
  331. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/bootstrap.sh +0 -0
  332. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/build_pkg.ps1 +0 -0
  333. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/build_pkg.sh +0 -0
  334. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/dev_build.ps1 +0 -0
  335. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/dev_build.sh +0 -0
  336. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/dev_setup.ps1 +0 -0
  337. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/dev_setup.sh +0 -0
  338. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
  339. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
  340. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/git-bash/test_cli-gitbash.sh +0 -0
  341. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/release.sh +0 -0
  342. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/test_cli.ps1 +0 -0
  343. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/test_cli.sh +0 -0
  344. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/test_dev.ps1 +0 -0
  345. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/test_dev.sh +0 -0
  346. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/update_docs.sh +0 -0
  347. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/scripts/update_version_info.sh +0 -0
  348. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/setup.cfg +0 -0
  349. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/structures/diamond_sword.json +0 -0
  350. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/structures/test_structure.json +0 -0
  351. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/structures/workshop.json +0 -0
  352. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tellraw_variables_test.mdl +0 -0
  353. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/temp_output/data/minecraft/tags/function/load.json +0 -0
  354. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/temp_output/data/test/function/helper.mcfunction +0 -0
  355. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/temp_output/data/test/function/load.mcfunction +0 -0
  356. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/temp_output/data/test/function/main.mcfunction +0 -0
  357. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/temp_output/pack.mcmeta +0 -0
  358. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_all_registry.mdl +0 -0
  359. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_complex_scenarios.mdl +0 -0
  360. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_comprehensive_fixes.mdl +0 -0
  361. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_if_else_while.mdl +0 -0
  362. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_project/complex_test.mdl +0 -0
  363. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/test_simple.mdl +0 -0
  364. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/__init__.py +0 -0
  365. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/run_all_tests.py +0 -0
  366. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_arithmetic_codegen.py +0 -0
  367. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_cli.py +0 -0
  368. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_codegen_naming_and_logic.py +0 -0
  369. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_compiler_fixes.py +0 -0
  370. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_complex_logic_and_arithmetic.py +0 -0
  371. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_complex_scenarios.py +0 -0
  372. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_comprehensive_end_to_end.py +0 -0
  373. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_examples.py +0 -0
  374. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_global_scope.py +0 -0
  375. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_macros.py +0 -0
  376. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_python_api.py +0 -0
  377. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_python_bindings.py +0 -0
  378. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_scheduledwhile.py +0 -0
  379. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tests/test_user_regression_test1.py +0 -0
  380. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tmp_local_cli_out.zip +0 -0
  381. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tmp_test1.mdl +0 -0
  382. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tmp_test1.mdl~ +0 -0
  383. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/tmp_test1_confirm.mdl +0 -0
  384. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/README.md +0 -0
  385. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/favicon-16.png +0 -0
  386. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/favicon-32.png +0 -0
  387. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/favicon-48.png +0 -0
  388. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/favicon-64.png +0 -0
  389. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/icon-1024.png +0 -0
  390. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/icon-128.png +0 -0
  391. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/icon-256.png +0 -0
  392. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/icons/icon-512.png +0 -0
  393. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/language-configuration.json +0 -0
  394. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/package-lock.json +0 -0
  395. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/package.json +0 -0
  396. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/snippets/mdl.json +0 -0
  397. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/src/extension.ts +0 -0
  398. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
  399. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/themes/mdl-color-theme.json +0 -0
  400. {minecraft_datapack_language-17.0.0 → minecraft_datapack_language-17.0.2}/vscode-extension/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 17.0.0
3
+ Version: 17.0.2
4
4
  Summary: Compile MDL language with explicit scoping into a Minecraft datapack (1.21+ ready). Features variables, control flow, error handling, and VS Code extension.
5
5
  Project-URL: Homepage, https://www.mcmdl.com
6
6
  Project-URL: Documentation, https://www.mcmdl.com/docs
@@ -0,0 +1,3 @@
1
+ current: "17.0.1"
2
+ tag: "v17.0.1"
3
+ updated_at: "2025-09-10T07:34:01Z"
@@ -0,0 +1,194 @@
1
+ ---
2
+ layout: page
3
+ title: MDL Examples
4
+ permalink: /docs/examples/
5
+ ---
6
+
7
+ This page contains working examples of MDL features.
8
+
9
+ ## Basic Hello World
10
+
11
+ A simple datapack that says hello when loaded:
12
+
13
+ ```mdl
14
+ pack "hello" "A simple hello world datapack" 82;
15
+ namespace "hello";
16
+
17
+ function hello:main {
18
+ say "Hello, Minecraft!";
19
+ tellraw @a {"text":"Welcome to my datapack!","color":"green"};
20
+ }
21
+
22
+ on_load hello:main;
23
+ ```
24
+
25
+ ## Logical Operators and Precedence
26
+
27
+ ```mdl
28
+ pack "logicalops" "Generated by MDL CLI" 82;
29
+ namespace "logicalops";
30
+
31
+ // Variables
32
+ var num a<@s> = 0;
33
+ var num b<@s> = 0;
34
+
35
+ // Main function
36
+ function logicalops:main {
37
+ say "Hello from logicalops!";
38
+ exec logicalops:add<@a>;
39
+ }
40
+
41
+ function logicalops:init {
42
+ a<@s> = 1;
43
+ b<@s> = 2;
44
+ }
45
+
46
+ function logicalops:add {
47
+ var result<@s> = $a<@s>$ + $b<@s>$;
48
+ say "Result: $result$";
49
+ }
50
+
51
+ function logicalops:subtract {
52
+ var result<@s> = $a<@s>$ - $b<@s>$;
53
+ say "Result: $result$";
54
+ }
55
+
56
+ function logicalops:multiply {
57
+ var result<@s> = $a<@s>$ * $b<@s>$;
58
+ say "Result: $result$";
59
+ }
60
+
61
+ function logicalops:divide {
62
+ var result<@s> = $a<@s>$ / $b<@s>$;
63
+ say "Result: $result$";
64
+ }
65
+
66
+ function logicalops:andop {
67
+ if $a<@s>$ > 0 && $b<@s>$ > 0 {
68
+ say "Both are greater than 0";
69
+ } else {
70
+ say "At least one is not greater than 0";
71
+ }
72
+ }
73
+
74
+ function logicalops:orop {
75
+ if $a<@s>$ > 0 || $b<@s>$ > 0 {
76
+ say "At least one is greater than 0";
77
+ } else {
78
+ say "Both are not greater than 0";
79
+ }
80
+ }
81
+
82
+ function logicalops:notop {
83
+ if !$a<@s>$ > 0 {
84
+ say "a is not greater than 0";
85
+ } else {
86
+ say "a is greater than 0";
87
+ }
88
+ }
89
+
90
+ function logicalops:whileloop {
91
+ a<@s> = 0;
92
+ while $a<@s>$ < 10 {
93
+ say "a is less than 10";
94
+ a<@s> = $a<@s>$ + 1;
95
+ }
96
+ }
97
+
98
+ function logicalops:scheduledwhileloop {
99
+ // the scheduledwhile is just like the while loop, but it is scheduled to run every tick. This is useful for large calculations that would exceed the command recursion limit.
100
+ a<@s> = 0;
101
+ scheduledwhile $a<@s>$ < 10 {
102
+ say "a is less than 10";
103
+ a<@s> = $a<@s>$ + 1;
104
+ }
105
+ }
106
+
107
+ function logicalops:complexops {
108
+ var c<@s> = 5;
109
+ var d<@s> = 10;
110
+ var e<@s> = 15;
111
+ var f<@s> = 20;
112
+ var g<@s> = 2;
113
+ var h<@s> = 0;
114
+ h<@s> = $h<@s>$ - 1;
115
+
116
+ var result<@s> = ($c<@s>$ + $d<@s>$ - $e<@s>$ * $f<@s>$ / $g<@s>$) * $h<@s>$;
117
+
118
+ if !$result<@s>$ == 135 {
119
+ say "Result is not 135, there is an issue!";
120
+ } else {
121
+ say "Result is -135, everything is good!";
122
+ }
123
+ }
124
+
125
+ on_load logicalops:main;
126
+ ```
127
+
128
+ <!-- Trimmed non-core examples to focus on core language concepts -->
129
+
130
+ ## Raw Commands
131
+
132
+ Using raw Minecraft commands:
133
+
134
+ ```mdl
135
+ pack "raw" "Raw command example" 82;
136
+ namespace "raw";
137
+
138
+ function raw:custom {
139
+ // Use raw Minecraft commands
140
+ effect give @s minecraft:speed 10 1;
141
+ particle minecraft:explosion ~ ~ ~ 1 1 1 0 10;
142
+ playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1;
143
+ }
144
+
145
+ on_load raw:custom;
146
+ ```
147
+
148
+ ## Function Macros
149
+
150
+ Demonstrates macro lines and passing macro data to functions:
151
+
152
+ ```mdl
153
+ pack "macros" "Function macro examples" 82;
154
+ namespace "macros";
155
+
156
+ // Target function using a macro line with $(name)
157
+ function macros:greeter {
158
+ $say "Hello $(name)"
159
+ say "Done";
160
+ }
161
+
162
+ // Callers using inline JSON and with-clause
163
+ function macros:callers {
164
+ // Inline JSON compound (prefer single quotes outside)
165
+ exec macros:greeter '{name:"Alex"}';
166
+
167
+ // Pull compound from a data source via with-clause
168
+ exec macros:greeter with storage macros:ctx player.info;
169
+ }
170
+
171
+ on_load macros:callers;
172
+ ```
173
+
174
+ ## Fan-out Execution Pattern
175
+
176
+ Run a function once per matching entity using an outer exec scope, then use default `@s` inside:
177
+
178
+ ```mdl
179
+ pack "fanout" "Fan-out example" 82;
180
+ namespace "fanout";
181
+
182
+ var num visits<@s> = 0;
183
+
184
+ function fanout:increment {
185
+ // Runs per-entity; scope defaults to @s inside
186
+ visits = $visits$ + 1;
187
+ say "Visits: $visits$";
188
+ }
189
+
190
+ // Fan out to all players on load
191
+ on_load fanout:increment<@a>;
192
+ ```
193
+
194
+
@@ -199,12 +199,12 @@ on_tick "example:update";
199
199
  mdl build --mdl myfile.mdl -o dist
200
200
  ```
201
201
 
202
- ### Multiple Files
202
+ ### Build a directory (multiple files)
203
203
  ```bash
204
- mdl build --mdl "file1.mdl file2.mdl" -o dist
204
+ mdl build --mdl . -o dist
205
205
  ```
206
206
 
207
- ### Directory
207
+ ### Directory (explicit path)
208
208
  ```bash
209
209
  mdl build --mdl myproject/ -o dist
210
210
  ```
@@ -142,6 +142,11 @@ exec game:spawn_mob '{id:"minecraft:cow",name:"Betsy"}';
142
142
  exec game:spawn_mob with storage mymod:ctx path.to.compound;
143
143
  ```
144
144
 
145
+ ### Exec and Scope Execution Rules
146
+ - `exec ns:name` runs `function ns:name` in the current executor context.
147
+ - `exec ns:name<selector>` compiles to `execute as <selector> run function ns:name`.
148
+ - Macro args compile to `function ns:name {json}` form; with-clause compiles to `function ns:name with <data source and path>`.
149
+
145
150
  ### Control Structures
146
151
 
147
152
  #### If Statements
@@ -324,8 +329,23 @@ exec utils:helper; // Execute from different namesp
324
329
  && (logical AND)
325
330
  || (logical OR)
326
331
  ! (logical NOT)
332
+
333
+ // Range (for matches)
334
+ .. (range operator)
327
335
  ```
328
336
 
337
+ ### Unary Operators and Precedence
338
+ - Unary minus: `-x` applies before multiplication/division and addition/subtraction. Literals are constant-folded; non-literals are compiled as `0 - x` via a temp score.
339
+ - Logical NOT: `!expr` negates a boolean expression. For comparisons like `!$a$ > 0`, the comparison is compiled first, then inverted using `execute unless`.
340
+ - Precedence (lowest to highest):
341
+ 1) `||`
342
+ 2) `&&`
343
+ 3) Comparisons (`>`, `>=`, `<`, `<=`, `==`, `!=`)
344
+ 4) `+`, `-`
345
+ 5) `*`, `/`
346
+ 6) Unary (`!`, unary `-`)
347
+ 7) Parentheses `(...)`
348
+
329
349
  ### Expression Examples
330
350
  ```mdl
331
351
  // Complex expressions with different scopes
@@ -348,15 +368,18 @@ if $a<@s>$ > 0 || $b<@s>$ > 0 {
348
368
  say "At least one is greater than 0";
349
369
  }
350
370
 
351
- // NOT negates the entire comparison when used like: !$a<@s>$ > 0
352
- if !$a<@s>$ > 0 {
371
+ // NOT negates the entire comparison when used like: !$a$ > 0
372
+ if !$a$ > 0 {
353
373
  say "a is not greater than 0";
354
374
  }
355
375
 
356
376
  // Complex logical expression with parentheses
357
- if ($a<@s>$ > 0 && $b<@s>$ > 0) || $c<@s>$ > 0 {
377
+ if ($a$ > 0 && $b$ > 0) || $c$ > 0 {
358
378
  say "Condition satisfied";
359
379
  }
380
+ // Unary minus with literals and variables
381
+ var num t = -2;
382
+ if ($x$ + -($y$ * 3)) >= -5 { say "ok"; }
360
383
  ```
361
384
 
362
385
  ## Reserved Names
@@ -523,17 +546,18 @@ on_tick "game:update_timer";
523
546
  3. **No Return Values**: Functions compile to a series of Minecraft commands
524
547
 
525
548
  ### Control Structure Compilation
526
- 1. **If Statements**: Generate `execute if score condition run function namespace:if_function` commands
527
- 2. **Else If Statements**: Handle nested if statements recursively, generating proper conditional chains
528
- 3. **Else Blocks**: Generate `execute unless score condition run function namespace:else_function` commands
529
- 4. **While Loops**: Generate recursive function calls that continue while the condition is true
530
- 5. **Nested Structures**: Automatically handle complex nested if/else and while loop combinations
549
+ 1. **If Statements**: Comparisons compile to scoreboard comparisons. `!=` uses equality with inversion. Boolean expressions (`&&`, `||`, `!`) compile via temporary boolean scores and `execute` chaining.
550
+ 2. **Else If Statements**: Handled as nested `if` with separate generated helper functions; chains are preserved.
551
+ 3. **Else Blocks**: Compiled using inverted conditions with `execute unless` to run the else helper function.
552
+ 4. **While Loops**: Generate recursive function calls that continue while the condition is true.
553
+ 5. **Scheduled While Loops**: Generate a per-tick scheduled helper, tagging entities to iterate; schedule continues while the condition remains true.
554
+ 6. **Nested Structures**: Automatically handle complex nested if/else and while loop combinations.
531
555
 
532
556
  ### Say Command Compilation
533
557
  1. **Simple Text**: `say "message"` becomes `tellraw @a {"text":"message"}`
534
- 2. **With Variables**: `say "Score: $score<@s>$"` becomes `tellraw @a {"text":"Score: ","extra":[{"score":{"name":"@s","objective":"score"}}]}`
535
- 3. **Multiple Variables**: Complex variable substitutions are automatically formatted into proper JSON structure
536
- 4. **Default Target**: All say commands target `@a` (all players) for maximum visibility
558
+ 2. **With Variables**: `say "Score: $score<@s>$"` or `say "Score: $score$"` compiles to `tellraw` with a `score` component; `$var$` defaults to `<@s>`.
559
+ 3. **Multiple Variables**: Complex variable substitutions are automatically formatted into proper JSON structure.
560
+ 4. **Default Target**: All say commands target `@a` (all players) for maximum visibility.
537
561
 
538
562
  ### Tag Compilation
539
563
  1. **Recipe Tags**: `tag recipe "name" "path"` generates appropriate tag files
@@ -599,9 +623,15 @@ Examples: `0`, `42`, `3.14`, `1000`
599
623
  // Comparison
600
624
  == (EQUAL), != (NOT_EQUAL), > (GREATER), < (LESS), >= (GREATER_EQUAL), <= (LESS_EQUAL)
601
625
 
626
+ // Logical
627
+ && (AND), || (OR), ! (NOT)
628
+
602
629
  // Assignment
603
630
  = (ASSIGN)
604
631
 
632
+ // Range
633
+ .. (RANGE)
634
+
605
635
  // Execution
606
636
  exec (EXEC)
607
637
  ```
@@ -623,8 +653,10 @@ exec (EXEC)
623
653
 
624
654
  #### **Special Tokens**
625
655
  ```
626
- $ (DOLLAR) - Variable substitution delimiter
627
- " (QUOTE) - String literal delimiter
656
+ $ (DOLLAR) - Variable substitution delimiter; line-start $... as MACRO_LINE
657
+ ! (EXCLAMATION) - Used in $!raw markers
658
+ RAW_CONTENT - Entire content of a raw block
659
+ " (QUOTE) - String literal delimiter (supports both " and ' in lexer)
628
660
  ```
629
661
 
630
662
  ### Tag Declaration Tokenization
@@ -1273,10 +1305,10 @@ def _parse_comparison(self) -> Any:
1273
1305
 
1274
1306
  ### Integer-Only Arithmetic and Literal Handling
1275
1307
 
1276
- - Scoreboard arithmetic is integer-only. MDL normalizes literals: `2.0` -> `2`; non-integer literals (e.g., `2.5`) are rejected with a compiler error when used in scoreboard operations.
1277
- - Literal addition/subtraction uses `add`/`remove` and elides `+0`/`-0`.
1278
- - Literal multiplication/division uses `multiply`/`divide` and elides `*1`/`/1`; `*0` sets to 0; `/(-k)` becomes `/|k|` then `*-1`.
1279
- - Mixed expressions lower via temps; operations against other scores use `operation +=, -=, *=, /=`.
1308
+ - Scoreboard arithmetic is integer-only. MDL normalizes integer-like literals: `2.0` -> `2`. Non-integer literals (e.g., `2.5`) cause a compile-time error when used in scoreboard math.
1309
+ - Literal addition/subtraction uses `scoreboard players add/remove`; elides `+0`/`-0`.
1310
+ - Literal multiplication/division uses `scoreboard players multiply/divide`; elides `*1`/`/1`. `*0` sets the temp to zero. Division by zero is a compile-time error.
1311
+ - Mixed expressions are lowered via temporary scores to preserve precedence. Score-to-score operations use `scoreboard players operation`.
1280
1312
 
1281
1313
  ### AST Traversal and Code Generation
1282
1314
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '17.0.0'
32
- __version_tuple__ = version_tuple = (17, 0, 0)
31
+ __version__ = version = '17.0.2'
32
+ __version_tuple__ = version_tuple = (17, 0, 2)
33
33
 
34
- __commit_id__ = commit_id = 'g3afc15958'
34
+ __commit_id__ = commit_id = 'g3dcd64bba'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 17.0.0
3
+ Version: 17.0.2
4
4
  Summary: Compile MDL language with explicit scoping into a Minecraft datapack (1.21+ ready). Features variables, control flow, error handling, and VS Code extension.
5
5
  Project-URL: Homepage, https://www.mcmdl.com
6
6
  Project-URL: Documentation, https://www.mcmdl.com/docs
@@ -1,3 +0,0 @@
1
- current: "16.0.30"
2
- tag: "v16.0.30"
3
- updated_at: "2025-09-10T07:27:10Z"