minecraft-datapack-language 16.0.13__tar.gz → 16.0.14__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 (398) hide show
  1. {minecraft_datapack_language-16.0.13/minecraft_datapack_language.egg-info → minecraft_datapack_language-16.0.14}/PKG-INFO +1 -1
  2. minecraft_datapack_language-16.0.14/docs/_data/version.yml +3 -0
  3. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/downloads.md +3 -1
  4. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/_version.py +3 -3
  5. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/mdl_compiler.py +64 -21
  6. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14/minecraft_datapack_language.egg-info}/PKG-INFO +1 -1
  7. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/run_all_tests.py +37 -11
  8. minecraft_datapack_language-16.0.13/docs/_data/version.yml +0 -3
  9. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.cursor/rules/aispec.mdc +0 -0
  10. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/actions/mdl-compile/action.yml +0 -0
  11. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/workflows/ci.yml +0 -0
  12. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/workflows/docs.yml +0 -0
  13. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/workflows/pypi.yml +0 -0
  14. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/workflows/release.yml +0 -0
  15. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.github/workflows/update-website-version.yml +0 -0
  16. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.gitignore +0 -0
  17. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/minecraft/tags/function/load.json +0 -0
  18. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/load.mcfunction +0 -0
  19. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/load1.mcfunction +0 -0
  20. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/main.mcfunction +0 -0
  21. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/main__else_1.mcfunction +0 -0
  22. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/main__if_1.mcfunction +0 -0
  23. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/testfunc.mcfunction +0 -0
  24. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/data/test1/function/testfunc__while_1.mcfunction +0 -0
  25. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1/pack.mcmeta +0 -0
  26. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/minecraft/tags/function/load.json +0 -0
  27. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/load.mcfunction +0 -0
  28. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/load1.mcfunction +0 -0
  29. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/main.mcfunction +0 -0
  30. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/main__else_1.mcfunction +0 -0
  31. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/main__if_1.mcfunction +0 -0
  32. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/testfunc.mcfunction +0 -0
  33. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/data/test1/function/testfunc__while_1.mcfunction +0 -0
  34. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.mdl-out-test1-confirm/pack.mcmeta +0 -0
  35. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.tmp_compile_bwe.py +0 -0
  36. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.tmp_compile_bwe2.py +0 -0
  37. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.tmp_compile_bwe3.py +0 -0
  38. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/.tmp_verify_loops.py +0 -0
  39. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/COMPILER_FIXES_SUMMARY.md +0 -0
  40. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/CONDITIONALS_IMPLEMENTATION.md +0 -0
  41. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/LICENSE +0 -0
  42. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/Makefile +0 -0
  43. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/README.md +0 -0
  44. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/advancements/diamond_sword.json +0 -0
  45. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/advancements/first_spell.json +0 -0
  46. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/advancements/other_advancement.json +0 -0
  47. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/advancements/test_advancement.json +0 -0
  48. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/comprehensive_error_test.mdl +0 -0
  49. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
  50. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
  51. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
  52. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
  53. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
  54. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
  55. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
  56. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
  57. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
  58. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
  59. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
  60. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
  61. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
  62. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
  63. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
  64. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
  65. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
  66. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
  67. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
  68. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
  69. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
  70. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
  71. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
  72. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
  73. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
  74. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
  75. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
  76. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
  77. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  78. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  79. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
  80. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
  81. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
  82. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
  83. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
  84. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/control_test/function/main_if_0.mcfunction +0 -0
  85. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/control_test/function/main_while_1.mcfunction +0 -0
  86. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/control_test/function/main_while_body_1.mcfunction +0 -0
  87. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/if_test/function/main_else_1.mcfunction +0 -0
  88. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/if_test/function/main_if_1.mcfunction +0 -0
  89. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
  90. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
  91. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
  92. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
  93. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
  94. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
  95. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/countdown_while_1.mcfunction +0 -0
  96. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/countdown_while_body_1.mcfunction +0 -0
  97. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
  98. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
  99. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/loop_demo_while_2.mcfunction +0 -0
  100. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
  101. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
  102. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
  103. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
  104. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_else_0.mcfunction +0 -0
  105. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_else_1.mcfunction +0 -0
  106. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_else_5.mcfunction +0 -0
  107. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_if_0.mcfunction +0 -0
  108. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_if_1.mcfunction +0 -0
  109. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_if_5.mcfunction +0 -0
  110. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_0.mcfunction +0 -0
  111. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_1.mcfunction +0 -0
  112. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_2.mcfunction +0 -0
  113. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_6.mcfunction +0 -0
  114. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_7.mcfunction +0 -0
  115. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_body_0.mcfunction +0 -0
  116. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_body_1.mcfunction +0 -0
  117. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_body_2.mcfunction +0 -0
  118. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_body_6.mcfunction +0 -0
  119. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/main_while_body_7.mcfunction +0 -0
  120. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
  121. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
  122. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
  123. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/start_game_if_1.mcfunction +0 -0
  124. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/start_game_if_5.mcfunction +0 -0
  125. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/start_game_while_4.mcfunction +0 -0
  126. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/start_game_while_body_4.mcfunction +0 -0
  127. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
  128. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
  129. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
  130. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
  131. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
  132. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
  133. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
  134. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
  135. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
  136. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
  137. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
  138. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
  139. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
  140. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
  141. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
  142. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
  143. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
  144. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
  145. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
  146. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
  147. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
  148. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
  149. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
  150. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
  151. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
  152. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
  153. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
  154. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
  155. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
  156. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
  157. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
  158. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
  159. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
  160. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
  161. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
  162. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
  163. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
  164. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
  165. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
  166. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
  167. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
  168. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
  169. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
  170. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
  171. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
  172. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
  173. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
  174. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
  175. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
  176. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
  177. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
  178. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
  179. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
  180. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
  181. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
  182. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
  183. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
  184. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
  185. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
  186. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
  187. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
  188. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
  189. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
  190. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
  191. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
  192. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
  193. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
  194. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
  195. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
  196. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_else_1.mcfunction +0 -0
  197. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_else_2.mcfunction +0 -0
  198. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_else_3.mcfunction +0 -0
  199. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_if_1.mcfunction +0 -0
  200. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_if_2.mcfunction +0 -0
  201. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_if_else_if_3.mcfunction +0 -0
  202. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_main_while_0.mcfunction +0 -0
  203. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_main_while_body_0.mcfunction +0 -0
  204. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
  205. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
  206. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
  207. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
  208. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
  209. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
  210. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
  211. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
  212. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
  213. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
  214. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  215. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  216. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
  217. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
  218. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
  219. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
  220. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
  221. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
  222. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
  223. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
  224. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
  225. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
  226. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_while_break_while_2.mcfunction +0 -0
  227. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
  228. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
  229. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
  230. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/tick_if_1.mcfunction +0 -0
  231. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/tick_if_2.mcfunction +0 -0
  232. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
  233. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
  234. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
  235. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
  236. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
  237. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
  238. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/while_test/function/main_while_0.mcfunction +0 -0
  239. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/data/while_test/function/main_while_body_0.mcfunction +0 -0
  240. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/dist.zip +0 -0
  241. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/.env +0 -0
  242. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/404.html +0 -0
  243. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/Gemfile +0 -0
  244. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/README.md +0 -0
  245. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_config.yml +0 -0
  246. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/cli-reference.md +0 -0
  247. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/contributing.md +0 -0
  248. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/docs-hub.md +0 -0
  249. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/documentation.md +0 -0
  250. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/examples.md +0 -0
  251. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/getting-started.md +0 -0
  252. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/language-reference.md +0 -0
  253. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/multi-file-projects.md +0 -0
  254. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/python-bindings.md +0 -0
  255. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_docs/vscode-extension.md +0 -0
  256. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_includes/head-custom.html +0 -0
  257. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_includes/navigation.html +0 -0
  258. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_layouts/default.html +0 -0
  259. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_layouts/page.html +0 -0
  260. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_plugins/test_version.rb +0 -0
  261. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/_plugins/version_reader.rb +0 -0
  262. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/assets/css/style.css +0 -0
  263. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/docs.md +0 -0
  264. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/favicon-16.png +0 -0
  265. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/favicon-32.png +0 -0
  266. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/favicon-48.png +0 -0
  267. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/favicon-64.png +0 -0
  268. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/icon-1024.png +0 -0
  269. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/icon-128.png +0 -0
  270. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/icon-256.png +0 -0
  271. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/icon-512.png +0 -0
  272. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/icons/icon-64.png +0 -0
  273. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/docs/index.md +0 -0
  274. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/examples/hello_world.mdl +0 -0
  275. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/examples/macros_example.mdl +0 -0
  276. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/examples/scope_examples.mdl +0 -0
  277. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/examples/simple_counter.mdl +0 -0
  278. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/favicon-16.png +0 -0
  279. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/favicon-32.png +0 -0
  280. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/favicon-48.png +0 -0
  281. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/favicon-64.png +0 -0
  282. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/icon-1024.png +0 -0
  283. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/icon-128.png +0 -0
  284. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/icon-256.png +0 -0
  285. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/icon-512.png +0 -0
  286. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/icons/icon-64.png +0 -0
  287. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/item_modifiers/diamond_sword.json +0 -0
  288. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/item_modifiers/enchant_tool.json +0 -0
  289. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/item_modifiers/test_item_modifier.json +0 -0
  290. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/loot_tables/diamond_sword.json +0 -0
  291. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/loot_tables/epic_loot.json +0 -0
  292. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/loot_tables/main_loot.json +0 -0
  293. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/loot_tables/test_loot.json +0 -0
  294. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/mdllocal.sh +0 -0
  295. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/__init__.py +0 -0
  296. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/ast_nodes.py +0 -0
  297. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/cli.py +0 -0
  298. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/dir_map.py +0 -0
  299. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/mdl_errors.py +0 -0
  300. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/mdl_lexer.py +0 -0
  301. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/mdl_linter.py +0 -0
  302. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/mdl_parser.py +0 -0
  303. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/python_api.py +0 -0
  304. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language/utils.py +0 -0
  305. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language.egg-info/SOURCES.txt +0 -0
  306. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
  307. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
  308. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language.egg-info/requires.txt +0 -0
  309. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
  310. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/multi_scope_example.mdl +0 -0
  311. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/my_awesome_pack/README.md +0 -0
  312. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
  313. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/predicates/diamond_sword.json +0 -0
  314. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/predicates/has_mana.json +0 -0
  315. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/predicates/other_predicate.json +0 -0
  316. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/predicates/test_predicate.json +0 -0
  317. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/pyproject.toml +0 -0
  318. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/pytest.ini +0 -0
  319. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/custom_pickaxe.json +0 -0
  320. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/diamond_sword.json +0 -0
  321. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/first.json +0 -0
  322. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/inlet.json +0 -0
  323. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/main_recipe.json +0 -0
  324. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/outlet.json +0 -0
  325. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/pipe.json +0 -0
  326. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/second.json +0 -0
  327. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/test_recipe.json +0 -0
  328. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/recipes/wrench.json +0 -0
  329. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scope_demo.mdl +0 -0
  330. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scoreboard_test.mdl +0 -0
  331. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/UpdateMDL.sh +0 -0
  332. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/bootstrap.ps1 +0 -0
  333. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/bootstrap.sh +0 -0
  334. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/build_pkg.ps1 +0 -0
  335. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/build_pkg.sh +0 -0
  336. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/dev_build.ps1 +0 -0
  337. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/dev_build.sh +0 -0
  338. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/dev_setup.ps1 +0 -0
  339. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/dev_setup.sh +0 -0
  340. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
  341. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
  342. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/git-bash/test_cli-gitbash.sh +0 -0
  343. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/release.sh +0 -0
  344. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/test_cli.ps1 +0 -0
  345. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/test_cli.sh +0 -0
  346. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/test_dev.ps1 +0 -0
  347. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/test_dev.sh +0 -0
  348. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/update_docs.sh +0 -0
  349. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/scripts/update_version_info.sh +0 -0
  350. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/setup.cfg +0 -0
  351. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/structures/diamond_sword.json +0 -0
  352. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/structures/test_structure.json +0 -0
  353. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/structures/workshop.json +0 -0
  354. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tellraw_variables_test.mdl +0 -0
  355. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/temp_output/data/minecraft/tags/function/load.json +0 -0
  356. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/temp_output/data/test/function/helper.mcfunction +0 -0
  357. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/temp_output/data/test/function/load.mcfunction +0 -0
  358. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/temp_output/data/test/function/main.mcfunction +0 -0
  359. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/temp_output/pack.mcmeta +0 -0
  360. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_all_registry.mdl +0 -0
  361. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_complex_scenarios.mdl +0 -0
  362. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_comprehensive_fixes.mdl +0 -0
  363. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_if_else_while.mdl +0 -0
  364. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_project/complex_test.mdl +0 -0
  365. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/test_simple.mdl +0 -0
  366. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/__init__.py +0 -0
  367. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_cli.py +0 -0
  368. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_codegen_naming_and_logic.py +0 -0
  369. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_compiler_fixes.py +0 -0
  370. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_complex_scenarios.py +0 -0
  371. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_comprehensive_end_to_end.py +0 -0
  372. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_examples.py +0 -0
  373. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_macros.py +0 -0
  374. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_python_api.py +0 -0
  375. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_python_bindings.py +0 -0
  376. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_scheduledwhile.py +0 -0
  377. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tests/test_user_regression_test1.py +0 -0
  378. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tmp_local_cli_out.zip +0 -0
  379. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tmp_test1.mdl +0 -0
  380. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tmp_test1.mdl~ +0 -0
  381. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/tmp_test1_confirm.mdl +0 -0
  382. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/README.md +0 -0
  383. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/favicon-16.png +0 -0
  384. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/favicon-32.png +0 -0
  385. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/favicon-48.png +0 -0
  386. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/favicon-64.png +0 -0
  387. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/icon-1024.png +0 -0
  388. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/icon-128.png +0 -0
  389. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/icon-256.png +0 -0
  390. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/icons/icon-512.png +0 -0
  391. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/language-configuration.json +0 -0
  392. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/package-lock.json +0 -0
  393. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/package.json +0 -0
  394. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/snippets/mdl.json +0 -0
  395. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/src/extension.ts +0 -0
  396. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
  397. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/themes/mdl-color-theme.json +0 -0
  398. {minecraft_datapack_language-16.0.13 → minecraft_datapack_language-16.0.14}/vscode-extension/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 16.0.13
3
+ Version: 16.0.14
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: "16.0.13"
2
+ tag: "v16.0.13"
3
+ updated_at: "2025-09-09T06:19:59Z"
@@ -350,17 +350,19 @@ MDL is open source software licensed under the MIT License. See the [LICENSE](ht
350
350
  }
351
351
 
352
352
  [data-theme="dark"] .install-code {
353
- background: #21262d;
353
+ background: #191d23 !important;
354
354
  border-color: #30363d;
355
355
  }
356
356
 
357
357
  .install-code code {
358
358
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
359
359
  color: #24292e;
360
+ border: 0;
360
361
  }
361
362
 
362
363
  [data-theme="dark"] .install-code code {
363
364
  color: #e6edf3;
365
+ background: inherit !important;
364
366
  }
365
367
 
366
368
  .releases-section {
@@ -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 = '16.0.13'
32
- __version_tuple__ = version_tuple = (16, 0, 13)
31
+ __version__ = version = '16.0.14'
32
+ __version_tuple__ = version_tuple = (16, 0, 14)
33
33
 
34
- __commit_id__ = commit_id = 'g6ec8279e5'
34
+ __commit_id__ = commit_id = 'g4a67b89f7'
@@ -835,12 +835,49 @@ class MDLCompiler:
835
835
  # Default: generic expression string, no inversion
836
836
  invert_then = False
837
837
 
838
+ # Helpers local to this method to keep concerns contained
839
+ def unwrap(e: Any) -> Any:
840
+ while isinstance(e, ParenthesizedExpression):
841
+ e = e.expression
842
+ return e
843
+
844
+ def norm_op(op_in: Any) -> Optional[str]:
845
+ # Return one of: '>', '>=', '<', '<=', '==', '!=' or None
846
+ if op_in == TokenType.GREATER or op_in == ">":
847
+ return ">"
848
+ if op_in == TokenType.GREATER_EQUAL or op_in == ">=":
849
+ return ">="
850
+ if op_in == TokenType.LESS or op_in == "<":
851
+ return "<"
852
+ if op_in == TokenType.LESS_EQUAL or op_in == "<=":
853
+ return "<="
854
+ if op_in == TokenType.EQUAL or op_in == "==" or op_in == "EQUAL":
855
+ return "=="
856
+ if op_in == TokenType.NOT_EQUAL or op_in == "!=" or op_in == "NOT_EQUAL":
857
+ return "!="
858
+ # Accept python bindings string names as well
859
+ if isinstance(op_in, str):
860
+ upper = op_in.upper()
861
+ if upper == "GREATER":
862
+ return ">"
863
+ if upper == "GREATER_EQUAL":
864
+ return ">="
865
+ if upper == "LESS":
866
+ return "<"
867
+ if upper == "LESS_EQUAL":
868
+ return "<="
869
+ if upper == "EQUAL":
870
+ return "=="
871
+ if upper == "NOT_EQUAL":
872
+ return "!="
873
+ return None
874
+
838
875
  if isinstance(expression, BinaryExpression):
839
- left = expression.left
840
- right = expression.right
841
- op = expression.operator
876
+ left = unwrap(expression.left)
877
+ right = unwrap(expression.right)
878
+ op_sym = norm_op(expression.operator)
842
879
  # Variable vs literal
843
- if isinstance(left, VariableSubstitution) and isinstance(right, LiteralExpression) and isinstance(right.value, (int, float)):
880
+ if op_sym and isinstance(left, VariableSubstitution) and isinstance(right, LiteralExpression) and isinstance(right.value, (int, float)):
844
881
  objective = self.variables.get(left.name, left.name)
845
882
  scope = left.scope.strip("<>")
846
883
  # Normalize number
@@ -850,41 +887,47 @@ class MDLCompiler:
850
887
  v = None
851
888
  if v is not None:
852
889
  n = int(v) if float(v).is_integer() else v
853
- if op == TokenType.GREATER:
890
+ if op_sym == ">":
854
891
  rng = f"{int(n)+1}.." if isinstance(n, int) else f"{v+1}.."
855
892
  return (f"score {scope} {objective} matches {rng}", False)
856
- if op == TokenType.GREATER_EQUAL:
893
+ if op_sym == ">=":
857
894
  rng = f"{int(n)}.."
858
895
  return (f"score {scope} {objective} matches {rng}", False)
859
- if op == TokenType.LESS:
896
+ if op_sym == "<":
860
897
  rng = f"..{int(n)-1}"
861
898
  return (f"score {scope} {objective} matches {rng}", False)
862
- if op == TokenType.LESS_EQUAL:
899
+ if op_sym == "<=":
863
900
  rng = f"..{int(n)}"
864
901
  return (f"score {scope} {objective} matches {rng}", False)
865
- if op == TokenType.EQUAL:
902
+ if op_sym == "==":
866
903
  rng = f"{int(n)}"
867
904
  return (f"score {scope} {objective} matches {rng}", False)
868
- if op == TokenType.NOT_EQUAL:
905
+ if op_sym == "!=":
869
906
  rng = f"{int(n)}"
870
907
  return (f"score {scope} {objective} matches {rng}", True)
908
+ # Literal vs variable (swap sides)
909
+ if op_sym and isinstance(left, LiteralExpression) and isinstance(left.value, (int, float)) and isinstance(right, VariableSubstitution):
910
+ # Swap by inverting the operator appropriately, then reuse logic
911
+ invert_map = {
912
+ ">": "<",
913
+ ">=": "<=",
914
+ "<": ">",
915
+ "<=": ">=",
916
+ "==": "==",
917
+ "!=": "!="
918
+ }
919
+ swapped = BinaryExpression(left=right, operator=invert_map.get(op_sym, op_sym), right=left)
920
+ return self._build_condition(swapped)
871
921
  # Variable vs variable
872
- if isinstance(left, VariableSubstitution) and isinstance(right, VariableSubstitution):
922
+ if op_sym and isinstance(left, VariableSubstitution) and isinstance(right, VariableSubstitution):
873
923
  lobj = self.variables.get(left.name, left.name)
874
924
  lscope = left.scope.strip("<>")
875
925
  robj = self.variables.get(right.name, right.name)
876
926
  rscope = right.scope.strip("<>")
877
- if op in (TokenType.GREATER, TokenType.GREATER_EQUAL, TokenType.LESS, TokenType.LESS_EQUAL, TokenType.EQUAL):
878
- comp_map = {
879
- TokenType.GREATER: ">",
880
- TokenType.GREATER_EQUAL: ">=",
881
- TokenType.LESS: "<",
882
- TokenType.LESS_EQUAL: "<=",
883
- TokenType.EQUAL: "="
884
- }
885
- comp = comp_map[op]
927
+ if op_sym in (">", ">=", "<", "<=", "=="):
928
+ comp = op_sym if op_sym != "==" else "="
886
929
  return (f"score {lscope} {lobj} {comp} {rscope} {robj}", False)
887
- if op == TokenType.NOT_EQUAL:
930
+ if op_sym == "!=":
888
931
  # Use equals with inversion
889
932
  return (f"score {lscope} {lobj} = {rscope} {robj}", True)
890
933
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 16.0.13
3
+ Version: 16.0.14
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
@@ -12,7 +12,11 @@ from pathlib import Path
12
12
 
13
13
 
14
14
  def run_test_suite(name, command, description=""):
15
- """Run a test suite and return results."""
15
+ """Run a test suite and return results.
16
+
17
+ If command is a list, execute without a shell to avoid shell expansions.
18
+ If command is a string, execute via the shell (backward compatible).
19
+ """
16
20
  print(f"\n{'='*60}")
17
21
  print(f"Running {name}")
18
22
  if description:
@@ -22,7 +26,8 @@ def run_test_suite(name, command, description=""):
22
26
  start_time = time.time()
23
27
 
24
28
  try:
25
- result = subprocess.run(command, shell=True, capture_output=True, text=True)
29
+ use_shell = isinstance(command, str)
30
+ result = subprocess.run(command, shell=use_shell, capture_output=True, text=True)
26
31
  duration = time.time() - start_time
27
32
 
28
33
  if result.returncode == 0:
@@ -64,11 +69,16 @@ def main():
64
69
  has_cov = importlib.util.find_spec("pytest_cov") is not None
65
70
  except Exception:
66
71
  has_cov = False
67
- base_cmd = "python -m pytest tests/ -v"
68
- cov_args = " --cov=minecraft_datapack_language --cov-report=term-missing --cov-report=html:htmlcov" if has_cov else ""
72
+ base_cmd = [sys.executable, "-m", "pytest", "tests/", "-v"]
73
+ if has_cov:
74
+ base_cmd += [
75
+ "--cov=minecraft_datapack_language",
76
+ "--cov-report=term-missing",
77
+ "--cov-report=html:htmlcov",
78
+ ]
69
79
  pytest_result = run_test_suite(
70
80
  "Pytest Suite",
71
- f"{base_cmd}{cov_args}",
81
+ base_cmd,
72
82
  "Comprehensive pytest suite" + (" with coverage" if has_cov else "")
73
83
  )
74
84
  results.append(("Pytest", pytest_result))
@@ -87,7 +97,7 @@ def main():
87
97
  if test_path.exists():
88
98
  result = run_test_suite(
89
99
  f"Pytest {test_file}",
90
- f"python -m pytest -q tests/{test_file}",
100
+ [sys.executable, "-m", "pytest", "-q", f"tests/{test_file}"],
91
101
  description
92
102
  )
93
103
  results.append((test_file, result))
@@ -100,7 +110,11 @@ def main():
100
110
  # Test complex scenarios
101
111
  complex_result = run_test_suite(
102
112
  "Complex Scenarios Compilation",
103
- "python -c \"from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \\\"test\\\" \\\"Test pack\\\" 82; namespace \\\"test\\\"; var num counter<@s> = 0; var num health<@s> = 20; var num bonus<@s> = 5; function test:complex_math<@s> { counter<@s> = ($counter<@s>$ + $health<@s>$) * $bonus<@s>$; }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Complex expressions compilation successful')\"",
113
+ [
114
+ sys.executable,
115
+ "-c",
116
+ "from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \"test\" \"Test pack\" 82; namespace \"test\"; var num counter<@s> = 0; var num health<@s> = 20; var num bonus<@s> = 5; function test:complex_math<@s> { counter<@s> = ($counter<@s>$ + $health<@s>$) * $bonus<@s>$; }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Complex expressions compilation successful')",
117
+ ],
104
118
  "Test complex mathematical expressions compilation"
105
119
  )
106
120
  results.append(("Complex Expressions", complex_result))
@@ -108,7 +122,11 @@ def main():
108
122
  # Test control flow
109
123
  control_result = run_test_suite(
110
124
  "Control Flow Compilation",
111
- "python -c \"from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \\\"test\\\" \\\"Test pack\\\" 82; namespace \\\"test\\\"; var num health<@s> = 20; function test:health_check<@s> { if $health<@s>$ < 10 { say \\\"Health is low!\\\"; } else { say \\\"Health is good!\\\"; } }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Control flow compilation successful')\"",
125
+ [
126
+ sys.executable,
127
+ "-c",
128
+ "from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \"test\" \"Test pack\" 82; namespace \"test\"; var num health<@s> = 20; function test:health_check<@s> { if $health<@s>$ < 10 { say \"Health is low!\"; } else { say \"Health is good!\"; } }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Control flow compilation successful')",
129
+ ],
112
130
  "Test if/else control flow compilation"
113
131
  )
114
132
  results.append(("Control Flow", control_result))
@@ -116,7 +134,11 @@ def main():
116
134
  # Test function execution
117
135
  function_result = run_test_suite(
118
136
  "Function Execution Compilation",
119
- "python -c \"from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \\\"test\\\" \\\"Test pack\\\" 82; namespace \\\"test\\\"; function test:helper<@s> { say \\\"Helper function!\\\"; } function test:main<@s> { exec test:helper<@s>; }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Function execution compilation successful')\"",
137
+ [
138
+ sys.executable,
139
+ "-c",
140
+ "from minecraft_datapack_language.mdl_parser import MDLParser; from minecraft_datapack_language.mdl_compiler import MDLCompiler; import tempfile; from pathlib import Path; source = '''pack \"test\" \"Test pack\" 82; namespace \"test\"; function test:helper<@s> { say \"Helper function!\"; } function test:main<@s> { exec test:helper<@s>; }'''; parser = MDLParser(); ast = parser.parse(source); compiler = MDLCompiler('temp_output'); compiler.compile(ast); print('Function execution compilation successful')",
141
+ ],
120
142
  "Test function execution with scopes"
121
143
  )
122
144
  results.append(("Function Execution", function_result))
@@ -125,7 +147,11 @@ def main():
125
147
  print("\nTesting Python bindings...")
126
148
  api_result = run_test_suite(
127
149
  "Python Bindings Basic",
128
- "python -c \"from minecraft_datapack_language import Pack; import tempfile, shutil; from pathlib import Path; td=tempfile.mkdtemp(); p=Pack('Test','Test pack',82); ns=p.namespace('test'); ns.function('hello','say Hello World!'); p.build(td); output=Path(td)/'data'/'test'/'function'/'hello.mcfunction'; assert output.exists(); print('Python API test successful'); shutil.rmtree(td)\"",
150
+ [
151
+ sys.executable,
152
+ "-c",
153
+ "from minecraft_datapack_language import Pack; import tempfile, shutil; from pathlib import Path; td=tempfile.mkdtemp(); p=Pack('Test','Test pack',82); ns=p.namespace('test'); ns.function('hello','say Hello World!'); p.build(td); output=Path(td)/'data'/'test'/'function'/'hello.mcfunction'; assert output.exists(); print('Python API test successful'); shutil.rmtree(td)",
154
+ ],
129
155
  "Test basic Python bindings functionality"
130
156
  )
131
157
  results.append(("Python Bindings", api_result))
@@ -134,7 +160,7 @@ def main():
134
160
  print("\nTesting CLI...")
135
161
  cli_result = run_test_suite(
136
162
  "CLI Help",
137
- "python -m minecraft_datapack_language.cli --help",
163
+ [sys.executable, "-m", "minecraft_datapack_language.cli", "--help"],
138
164
  "Test CLI help command"
139
165
  )
140
166
  results.append(("CLI Help", cli_result))
@@ -1,3 +0,0 @@
1
- current: "16.0.12"
2
- tag: "v16.0.12"
3
- updated_at: "2025-09-09T04:08:38Z"