minecraft-datapack-language 15.4.40__tar.gz → 15.4.41__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 (391) hide show
  1. {minecraft_datapack_language-15.4.40/minecraft_datapack_language.egg-info → minecraft_datapack_language-15.4.41}/PKG-INFO +5 -5
  2. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/README.md +4 -4
  3. minecraft_datapack_language-15.4.41/docs/_data/version.yml +3 -0
  4. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/cli-reference.md +2 -2
  5. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/examples.md +9 -9
  6. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/getting-started.md +3 -3
  7. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/vscode-extension.md +1 -1
  8. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/index.md +2 -2
  9. minecraft_datapack_language-15.4.41/examples/hello_world.mdl +23 -0
  10. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/examples/simple_counter.mdl +7 -7
  11. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/_version.py +3 -3
  12. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41/minecraft_datapack_language.egg-info}/PKG-INFO +5 -5
  13. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language.egg-info/SOURCES.txt +2 -0
  14. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/multi_scope_example.mdl +30 -23
  15. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scope_demo.mdl +9 -9
  16. minecraft_datapack_language-15.4.41/temp_output/data/minecraft/tags/function/load.json +5 -0
  17. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/run_all_tests.py +5 -5
  18. minecraft_datapack_language-15.4.41/tmp_local_cli_out.zip +0 -0
  19. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/README.md +3 -3
  20. minecraft_datapack_language-15.4.40/docs/_data/version.yml +0 -3
  21. minecraft_datapack_language-15.4.40/examples/hello_world.mdl +0 -23
  22. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.cursor/rules/aispec.mdc +0 -0
  23. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/actions/mdl-compile/action.yml +0 -0
  24. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/workflows/ci.yml +0 -0
  25. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/workflows/docs.yml +0 -0
  26. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/workflows/pypi.yml +0 -0
  27. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/workflows/release.yml +0 -0
  28. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.github/workflows/update-website-version.yml +0 -0
  29. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.gitignore +0 -0
  30. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/minecraft/tags/function/load.json +0 -0
  31. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/load.mcfunction +0 -0
  32. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/load1.mcfunction +0 -0
  33. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/main.mcfunction +0 -0
  34. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/main__else_1.mcfunction +0 -0
  35. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/main__if_1.mcfunction +0 -0
  36. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/testfunc.mcfunction +0 -0
  37. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/data/test1/function/testfunc__while_1.mcfunction +0 -0
  38. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1/pack.mcmeta +0 -0
  39. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/minecraft/tags/function/load.json +0 -0
  40. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/load.mcfunction +0 -0
  41. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/load1.mcfunction +0 -0
  42. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/main.mcfunction +0 -0
  43. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/main__else_1.mcfunction +0 -0
  44. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/main__if_1.mcfunction +0 -0
  45. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/testfunc.mcfunction +0 -0
  46. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/data/test1/function/testfunc__while_1.mcfunction +0 -0
  47. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/.mdl-out-test1-confirm/pack.mcmeta +0 -0
  48. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/COMPILER_FIXES_SUMMARY.md +0 -0
  49. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/CONDITIONALS_IMPLEMENTATION.md +0 -0
  50. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/LICENSE +0 -0
  51. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/Makefile +0 -0
  52. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/advancements/diamond_sword.json +0 -0
  53. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/advancements/first_spell.json +0 -0
  54. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/advancements/other_advancement.json +0 -0
  55. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/advancements/test_advancement.json +0 -0
  56. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/comprehensive_error_test.mdl +0 -0
  57. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
  58. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
  59. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
  60. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
  61. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
  62. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
  63. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
  64. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
  65. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
  66. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
  67. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
  68. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
  69. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
  70. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
  71. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
  72. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
  73. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
  74. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
  75. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
  76. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
  77. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
  78. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
  79. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
  80. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
  81. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
  82. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
  83. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
  84. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
  85. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  86. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  87. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
  88. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
  89. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
  90. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
  91. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
  92. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/control_test/function/main_if_0.mcfunction +0 -0
  93. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/control_test/function/main_while_1.mcfunction +0 -0
  94. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/control_test/function/main_while_body_1.mcfunction +0 -0
  95. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/if_test/function/main_else_1.mcfunction +0 -0
  96. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/if_test/function/main_if_1.mcfunction +0 -0
  97. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
  98. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
  99. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
  100. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
  101. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
  102. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
  103. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/countdown_while_1.mcfunction +0 -0
  104. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/countdown_while_body_1.mcfunction +0 -0
  105. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
  106. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
  107. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/loop_demo_while_2.mcfunction +0 -0
  108. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
  109. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
  110. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
  111. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
  112. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_else_0.mcfunction +0 -0
  113. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_else_1.mcfunction +0 -0
  114. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_else_5.mcfunction +0 -0
  115. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_if_0.mcfunction +0 -0
  116. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_if_1.mcfunction +0 -0
  117. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_if_5.mcfunction +0 -0
  118. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_0.mcfunction +0 -0
  119. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_1.mcfunction +0 -0
  120. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_2.mcfunction +0 -0
  121. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_6.mcfunction +0 -0
  122. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_7.mcfunction +0 -0
  123. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_body_0.mcfunction +0 -0
  124. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_body_1.mcfunction +0 -0
  125. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_body_2.mcfunction +0 -0
  126. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_body_6.mcfunction +0 -0
  127. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/main_while_body_7.mcfunction +0 -0
  128. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
  129. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
  130. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
  131. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/start_game_if_1.mcfunction +0 -0
  132. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/start_game_if_5.mcfunction +0 -0
  133. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/start_game_while_4.mcfunction +0 -0
  134. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/start_game_while_body_4.mcfunction +0 -0
  135. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
  136. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
  137. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
  138. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
  139. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
  140. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
  141. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
  142. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
  143. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
  144. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
  145. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
  146. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
  147. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
  148. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
  149. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
  150. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
  151. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
  152. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
  153. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
  154. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
  155. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
  156. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
  157. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
  158. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
  159. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
  160. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
  161. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
  162. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
  163. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
  164. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
  165. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
  166. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
  167. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
  168. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
  169. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
  170. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
  171. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
  172. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
  173. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
  174. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
  175. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
  176. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
  177. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
  178. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
  179. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
  180. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
  181. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
  182. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
  183. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
  184. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
  185. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
  186. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
  187. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
  188. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
  189. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
  190. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
  191. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
  192. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
  193. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
  194. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
  195. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
  196. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
  197. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
  198. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
  199. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
  200. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
  201. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
  202. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
  203. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
  204. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_else_1.mcfunction +0 -0
  205. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_else_2.mcfunction +0 -0
  206. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_else_3.mcfunction +0 -0
  207. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_if_1.mcfunction +0 -0
  208. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_if_2.mcfunction +0 -0
  209. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_if_else_if_3.mcfunction +0 -0
  210. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_main_while_0.mcfunction +0 -0
  211. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_main_while_body_0.mcfunction +0 -0
  212. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
  213. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
  214. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
  215. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
  216. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
  217. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
  218. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
  219. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
  220. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
  221. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
  222. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
  223. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
  224. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
  225. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
  226. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
  227. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
  228. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
  229. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
  230. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
  231. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
  232. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
  233. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
  234. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_while_break_while_2.mcfunction +0 -0
  235. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
  236. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
  237. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
  238. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/tick_if_1.mcfunction +0 -0
  239. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/tick_if_2.mcfunction +0 -0
  240. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
  241. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
  242. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
  243. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
  244. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
  245. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
  246. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/while_test/function/main_while_0.mcfunction +0 -0
  247. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/data/while_test/function/main_while_body_0.mcfunction +0 -0
  248. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/dist.zip +0 -0
  249. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/.env +0 -0
  250. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/404.html +0 -0
  251. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/Gemfile +0 -0
  252. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/README.md +0 -0
  253. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_config.yml +0 -0
  254. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/contributing.md +0 -0
  255. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/docs-hub.md +0 -0
  256. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/documentation.md +0 -0
  257. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/language-reference.md +0 -0
  258. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/multi-file-projects.md +0 -0
  259. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_docs/python-bindings.md +0 -0
  260. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_includes/head-custom.html +0 -0
  261. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_includes/navigation.html +0 -0
  262. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_layouts/default.html +0 -0
  263. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_layouts/page.html +0 -0
  264. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_plugins/test_version.rb +0 -0
  265. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/_plugins/version_reader.rb +0 -0
  266. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/assets/css/style.css +0 -0
  267. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/docs.md +0 -0
  268. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/downloads.md +0 -0
  269. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/favicon-16.png +0 -0
  270. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/favicon-32.png +0 -0
  271. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/favicon-48.png +0 -0
  272. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/favicon-64.png +0 -0
  273. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/icon-1024.png +0 -0
  274. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/icon-128.png +0 -0
  275. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/icon-256.png +0 -0
  276. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/icon-512.png +0 -0
  277. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/docs/icons/icon-64.png +0 -0
  278. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/examples/scope_examples.mdl +0 -0
  279. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/favicon-16.png +0 -0
  280. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/favicon-32.png +0 -0
  281. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/favicon-48.png +0 -0
  282. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/favicon-64.png +0 -0
  283. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/icon-1024.png +0 -0
  284. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/icon-128.png +0 -0
  285. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/icon-256.png +0 -0
  286. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/icon-512.png +0 -0
  287. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/icons/icon-64.png +0 -0
  288. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/item_modifiers/diamond_sword.json +0 -0
  289. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/item_modifiers/enchant_tool.json +0 -0
  290. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/item_modifiers/test_item_modifier.json +0 -0
  291. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/loot_tables/diamond_sword.json +0 -0
  292. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/loot_tables/epic_loot.json +0 -0
  293. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/loot_tables/main_loot.json +0 -0
  294. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/loot_tables/test_loot.json +0 -0
  295. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/mdllocal.sh +0 -0
  296. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/__init__.py +0 -0
  297. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/ast_nodes.py +0 -0
  298. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/cli.py +0 -0
  299. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/dir_map.py +0 -0
  300. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/mdl_compiler.py +0 -0
  301. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/mdl_errors.py +0 -0
  302. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/mdl_lexer.py +0 -0
  303. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/mdl_linter.py +0 -0
  304. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/mdl_parser.py +0 -0
  305. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/python_api.py +0 -0
  306. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language/utils.py +0 -0
  307. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
  308. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
  309. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language.egg-info/requires.txt +0 -0
  310. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
  311. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/my_awesome_pack/README.md +0 -0
  312. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
  313. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/predicates/diamond_sword.json +0 -0
  314. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/predicates/has_mana.json +0 -0
  315. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/predicates/other_predicate.json +0 -0
  316. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/predicates/test_predicate.json +0 -0
  317. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/pyproject.toml +0 -0
  318. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/pytest.ini +0 -0
  319. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/custom_pickaxe.json +0 -0
  320. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/diamond_sword.json +0 -0
  321. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/first.json +0 -0
  322. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/inlet.json +0 -0
  323. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/main_recipe.json +0 -0
  324. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/outlet.json +0 -0
  325. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/pipe.json +0 -0
  326. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/second.json +0 -0
  327. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/test_recipe.json +0 -0
  328. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/recipes/wrench.json +0 -0
  329. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scoreboard_test.mdl +0 -0
  330. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/UpdateMDL.sh +0 -0
  331. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/bootstrap.ps1 +0 -0
  332. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/bootstrap.sh +0 -0
  333. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/build_pkg.ps1 +0 -0
  334. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/build_pkg.sh +0 -0
  335. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/dev_build.ps1 +0 -0
  336. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/dev_build.sh +0 -0
  337. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/dev_setup.ps1 +0 -0
  338. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/dev_setup.sh +0 -0
  339. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
  340. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
  341. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/git-bash/test_cli-gitbash.sh +0 -0
  342. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/release.sh +0 -0
  343. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/test_cli.ps1 +0 -0
  344. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/test_cli.sh +0 -0
  345. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/test_dev.ps1 +0 -0
  346. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/test_dev.sh +0 -0
  347. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/update_docs.sh +0 -0
  348. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/scripts/update_version_info.sh +0 -0
  349. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/setup.cfg +0 -0
  350. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/structures/diamond_sword.json +0 -0
  351. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/structures/test_structure.json +0 -0
  352. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/structures/workshop.json +0 -0
  353. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tellraw_variables_test.mdl +0 -0
  354. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/temp_output/data/test/function/helper.mcfunction +0 -0
  355. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/temp_output/data/test/function/load.mcfunction +0 -0
  356. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/temp_output/data/test/function/main.mcfunction +0 -0
  357. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/temp_output/pack.mcmeta +0 -0
  358. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_all_registry.mdl +0 -0
  359. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_complex_scenarios.mdl +0 -0
  360. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_comprehensive_fixes.mdl +0 -0
  361. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_if_else_while.mdl +0 -0
  362. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_project/complex_test.mdl +0 -0
  363. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/test_simple.mdl +0 -0
  364. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/__init__.py +0 -0
  365. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_cli.py +0 -0
  366. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_codegen_naming_and_logic.py +0 -0
  367. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_compiler_fixes.py +0 -0
  368. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_complex_scenarios.py +0 -0
  369. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_comprehensive_end_to_end.py +0 -0
  370. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_python_api.py +0 -0
  371. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_python_bindings.py +0 -0
  372. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tests/test_user_regression_test1.py +0 -0
  373. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tmp_test1.mdl +0 -0
  374. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tmp_test1.mdl~ +0 -0
  375. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/tmp_test1_confirm.mdl +0 -0
  376. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/favicon-16.png +0 -0
  377. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/favicon-32.png +0 -0
  378. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/favicon-48.png +0 -0
  379. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/favicon-64.png +0 -0
  380. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/icon-1024.png +0 -0
  381. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/icon-128.png +0 -0
  382. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/icon-256.png +0 -0
  383. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/icons/icon-512.png +0 -0
  384. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/language-configuration.json +0 -0
  385. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/package-lock.json +0 -0
  386. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/package.json +0 -0
  387. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/snippets/mdl.json +0 -0
  388. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/src/extension.ts +0 -0
  389. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
  390. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/themes/mdl-color-theme.json +0 -0
  391. {minecraft_datapack_language-15.4.40 → minecraft_datapack_language-15.4.41}/vscode-extension/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.4.40
3
+ Version: 15.4.41
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
@@ -146,17 +146,17 @@ namespace "game";
146
146
  var num player_score<@s> = 0;
147
147
  var num team_score<@a[team=red]> = 0;
148
148
 
149
- function game:start<@s> {
149
+ function game:start {
150
150
  player_score<@s> = 100;
151
151
  say "Welcome! Your score is $player_score<@s>$";
152
152
  }
153
153
 
154
- on_load game:start<@s>;
154
+ on_load game:start;
155
155
  ```
156
156
 
157
157
  ### Control Structures
158
158
  ```mdl
159
- function game:check_score<@s> {
159
+ function game:check_score {
160
160
  if $player_score<@s>$ > 10 {
161
161
  say "Great score!";
162
162
  player_score<@s> = $player_score<@s>$ + 5;
@@ -185,7 +185,7 @@ tag structure "wizard_tower" "structures/wizard_tower.json";
185
185
 
186
186
  ### Raw Blocks and Say Commands
187
187
  ```mdl
188
- function game:special_effect<@s> {
188
+ function game:special_effect {
189
189
  $!raw
190
190
  execute as @s run particle minecraft:explosion ~ ~ ~ 1 1 1 0 10
191
191
  execute as @s run playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1
@@ -125,17 +125,17 @@ namespace "game";
125
125
  var num player_score<@s> = 0;
126
126
  var num team_score<@a[team=red]> = 0;
127
127
 
128
- function game:start<@s> {
128
+ function game:start {
129
129
  player_score<@s> = 100;
130
130
  say "Welcome! Your score is $player_score<@s>$";
131
131
  }
132
132
 
133
- on_load game:start<@s>;
133
+ on_load game:start;
134
134
  ```
135
135
 
136
136
  ### Control Structures
137
137
  ```mdl
138
- function game:check_score<@s> {
138
+ function game:check_score {
139
139
  if $player_score<@s>$ > 10 {
140
140
  say "Great score!";
141
141
  player_score<@s> = $player_score<@s>$ + 5;
@@ -164,7 +164,7 @@ tag structure "wizard_tower" "structures/wizard_tower.json";
164
164
 
165
165
  ### Raw Blocks and Say Commands
166
166
  ```mdl
167
- function game:special_effect<@s> {
167
+ function game:special_effect {
168
168
  $!raw
169
169
  execute as @s run particle minecraft:explosion ~ ~ ~ 1 1 1 0 10
170
170
  execute as @s run playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1
@@ -0,0 +1,3 @@
1
+ current: "15.4.40"
2
+ tag: "v15.4.40"
3
+ updated_at: "2025-09-06T06:16:43Z"
@@ -259,7 +259,7 @@ If you prefer to create files manually, you can start with:
259
259
  pack "hello" "My first datapack" 82;
260
260
  namespace "hello";
261
261
 
262
- function hello:main<@s> {
262
+ function hello:main {
263
263
  say "Hello, Minecraft!";
264
264
  }
265
265
 
@@ -305,7 +305,7 @@ var num playerScore<@s> = 0; // Defaults to @s
305
305
  var num globalCounter<@a> = 0; // Global scope
306
306
  var num teamScore<@a[team=red]> = 0; // Team scope
307
307
 
308
- function hello:main<@s> {
308
+ function hello:main {
309
309
  // Use explicit scope in conditions
310
310
  if $playerScore<@s>$ > 10 {
311
311
  say "Current player score is high!";
@@ -14,12 +14,12 @@ A simple datapack that says hello when loaded:
14
14
  pack "hello" "A simple hello world datapack" 82;
15
15
  namespace "hello";
16
16
 
17
- function hello:main<@s> {
17
+ function hello:main {
18
18
  say "Hello, Minecraft!";
19
19
  tellraw @a {"text":"Welcome to my datapack!","color":"green"};
20
20
  }
21
21
 
22
- on_load hello:main<@s>;
22
+ on_load hello:main;
23
23
  ```
24
24
 
25
25
  ## Counter with Scoped Variables
@@ -33,17 +33,17 @@ namespace "counter";
33
33
  var num globalCounter<@a> = 0;
34
34
  var num playerCounter<@s> = 0; // Defaults to player-specific scope
35
35
 
36
- function counter:increment<@s> {
36
+ function counter:increment {
37
37
  globalCounter<@a> = $globalCounter<@a>$ + 1;
38
38
  playerCounter<@s> = $playerCounter<@s>$ + 1;
39
39
  say "Global: $globalCounter<@a>$, Player: $playerCounter<@s>$";
40
40
  }
41
41
 
42
- function counter:show_all<@s> {
42
+ function counter:show_all {
43
43
  exec counter:increment<@a>;
44
44
  }
45
45
 
46
- on_load counter:increment<@s>;
46
+ on_load counter:increment;
47
47
  ```
48
48
 
49
49
  ## While Loop Example
@@ -56,7 +56,7 @@ namespace "loops";
56
56
 
57
57
  var num counter<@a> = 0;
58
58
 
59
- function loops:countdown<@s> {
59
+ function loops:countdown {
60
60
  counter<@a> = 5;
61
61
  while $counter<@a>$ > 0 {
62
62
  say "Countdown: $counter<@a>$";
@@ -65,7 +65,7 @@ function loops:countdown<@s> {
65
65
  say "Blast off!";
66
66
  }
67
67
 
68
- on_load loops:countdown<@s>;
68
+ on_load loops:countdown;
69
69
  ```
70
70
 
71
71
  ## Raw Commands
@@ -76,14 +76,14 @@ Using raw Minecraft commands:
76
76
  pack "raw" "Raw command example" 82;
77
77
  namespace "raw";
78
78
 
79
- function raw:custom<@s> {
79
+ function raw:custom {
80
80
  // Use raw Minecraft commands
81
81
  effect give @s minecraft:speed 10 1;
82
82
  particle minecraft:explosion ~ ~ ~ 1 1 1 0 10;
83
83
  playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1;
84
84
  }
85
85
 
86
- on_load raw:custom<@s>;
86
+ on_load raw:custom;
87
87
  ```
88
88
 
89
89
  ## Complete Game Example
@@ -23,12 +23,12 @@ Create your first MDL file:
23
23
  pack "hello" "My first datapack" 82;
24
24
  namespace "hello";
25
25
 
26
- function hello:main<@s> {
26
+ function hello:main {
27
27
  say "Hello, Minecraft!";
28
28
  tellraw @a {"text":"Welcome to my datapack!","color":"green"};
29
29
  }
30
30
 
31
- on_load hello:main<@s>;
31
+ on_load hello:main;
32
32
  ```
33
33
 
34
34
  Compile it:
@@ -79,7 +79,7 @@ if $playerScore<@s>$ > 100 {
79
79
  Functions contain Minecraft commands:
80
80
 
81
81
  ```mdl
82
- function hello:my_function<@s> {
82
+ function hello:my_function {
83
83
  say "This is my function!";
84
84
  effect give @s minecraft:speed 10 1;
85
85
  }
@@ -107,7 +107,7 @@ The extension highlights the following MDL elements:
107
107
 
108
108
  - **Pack declarations**: `pack "Name" description "Desc" pack_format 48`
109
109
  - **Namespaces**: `namespace "example"`
110
- - **Functions**: `function namespace:name<@s>`
110
+ - **Functions**: `function namespace:name`
111
111
  - **Lifecycle hooks**: `on_load`, `on_tick`
112
112
  - **Tags**: `tag function "minecraft:tick":`
113
113
  - **Comments**: `# This is a comment`
@@ -134,14 +134,14 @@ namespace "example";
134
134
 
135
135
  var num counter<@s> = 0;
136
136
 
137
- function example:hello<@s> {
137
+ function example:hello {
138
138
  say "Hello, Minecraft!";
139
139
  tellraw @a {"text":"Welcome to my datapack!","color":"green"};
140
140
  counter<@s> = $counter<@s>$ + 1;
141
141
  say "Counter: $counter<@s>$";
142
142
  }
143
143
 
144
- on_load example:hello<@s>;
144
+ on_load example:hello;
145
145
  ```
146
146
 
147
147
  ### Build and Run
@@ -0,0 +1,23 @@
1
+ // Hello World example with scope selectors
2
+ pack "hello_world" "A simple hello world datapack" 15;
3
+ namespace "hello_world";
4
+
5
+ // Global counter accessible by all players
6
+ var num globalCounter<@a> = 0;
7
+
8
+ function hello_world:main {
9
+ // Increment global counter
10
+ globalCounter<@a> = $globalCounter<@a>$ + 1;
11
+
12
+ say "Hello, Minecraft!";
13
+ say "Welcome to my datapack!";
14
+ say "Global counter: $globalCounter<@a>$";
15
+ }
16
+
17
+ function hello_world:greet_player {
18
+ // Player-specific greeting
19
+ say "Welcome, player! You are visitor number $globalCounter<@a>$";
20
+ }
21
+
22
+ on_load hello_world:main;
23
+ on_tick hello_world:greet_player<@a>;
@@ -10,25 +10,25 @@ var num playerCounter<@s> = 0;
10
10
 
11
11
  function "increment_global" {
12
12
  // Increment the global counter
13
- globalCounter<@a> = globalCounter<@a> + 1;
14
- say Global counter: $globalCounter$;
13
+ globalCounter<@a> = $globalCounter<@a>$ + 1;
14
+ say "Global counter: $globalCounter<@a>$";
15
15
  }
16
16
 
17
17
  function "increment_player" {
18
18
  // Increment the player-specific counter
19
- playerCounter<@s> = playerCounter<@s> + 1;
20
- say Your counter: $playerCounter$;
19
+ playerCounter<@s> = $playerCounter<@s>$ + 1;
20
+ say "Your counter: $playerCounter<@s>$";
21
21
  }
22
22
 
23
23
  function "show_both" {
24
24
  // Show both counters
25
- say Global: $globalCounter$, Player: $playerCounter$;
25
+ say "Global: $globalCounter<@a>$, Player: $playerCounter<@s>$";
26
26
  }
27
27
 
28
28
  function "reset_player" {
29
29
  // Reset player counter to global value
30
- playerCounter<@s> = globalCounter<@a>;
31
- say Reset to global value: $playerCounter$;
30
+ playerCounter<@s> = $globalCounter<@a>$;
31
+ say "Reset to global value: $playerCounter<@s>$";
32
32
  }
33
33
 
34
34
  function "run_for_all" {
@@ -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 = '15.4.40'
32
- __version_tuple__ = version_tuple = (15, 4, 40)
31
+ __version__ = version = '15.4.41'
32
+ __version_tuple__ = version_tuple = (15, 4, 41)
33
33
 
34
- __commit_id__ = commit_id = 'g80af4f85c'
34
+ __commit_id__ = commit_id = 'gb4437b04f'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.4.40
3
+ Version: 15.4.41
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
@@ -146,17 +146,17 @@ namespace "game";
146
146
  var num player_score<@s> = 0;
147
147
  var num team_score<@a[team=red]> = 0;
148
148
 
149
- function game:start<@s> {
149
+ function game:start {
150
150
  player_score<@s> = 100;
151
151
  say "Welcome! Your score is $player_score<@s>$";
152
152
  }
153
153
 
154
- on_load game:start<@s>;
154
+ on_load game:start;
155
155
  ```
156
156
 
157
157
  ### Control Structures
158
158
  ```mdl
159
- function game:check_score<@s> {
159
+ function game:check_score {
160
160
  if $player_score<@s>$ > 10 {
161
161
  say "Great score!";
162
162
  player_score<@s> = $player_score<@s>$ + 5;
@@ -185,7 +185,7 @@ tag structure "wizard_tower" "structures/wizard_tower.json";
185
185
 
186
186
  ### Raw Blocks and Say Commands
187
187
  ```mdl
188
- function game:special_effect<@s> {
188
+ function game:special_effect {
189
189
  $!raw
190
190
  execute as @s run particle minecraft:explosion ~ ~ ~ 1 1 1 0 10
191
191
  execute as @s run playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1
@@ -18,6 +18,7 @@ test_complex_scenarios.mdl
18
18
  test_comprehensive_fixes.mdl
19
19
  test_if_else_while.mdl
20
20
  test_simple.mdl
21
+ tmp_local_cli_out.zip
21
22
  tmp_test1.mdl
22
23
  tmp_test1.mdl~
23
24
  tmp_test1_confirm.mdl
@@ -363,6 +364,7 @@ structures/diamond_sword.json
363
364
  structures/test_structure.json
364
365
  structures/workshop.json
365
366
  temp_output/pack.mcmeta
367
+ temp_output/data/minecraft/tags/function/load.json
366
368
  temp_output/data/test/function/helper.mcfunction
367
369
  temp_output/data/test/function/load.mcfunction
368
370
  temp_output/data/test/function/main.mcfunction
@@ -7,52 +7,59 @@ var num global_timer<@a> = 0;
7
7
  var num red_team_score<@a[team=red]> = 0;
8
8
  var num blue_team_score<@a[team=blue]> = 0;
9
9
 
10
- // Function that works with any scope
11
- function example:display_score<@s> {
10
+ // Function that works with any scope (player)
11
+ function example:display_score_player {
12
12
  say "Your score: $player_score<@s>$";
13
13
  }
14
14
 
15
- function example:display_score<@a> {
15
+ // Function that works with any scope (global)
16
+ function example:display_score_global {
16
17
  say "Global timer: $global_timer<@a>$";
17
18
  }
18
19
 
19
- function example:display_score<@a[team=red]> {
20
+ // Function that works with any scope (red team)
21
+ function example:display_score_red {
20
22
  say "Red team score: $red_team_score<@a[team=red]>$";
21
23
  }
22
24
 
25
+ // Function that works with any scope (blue team)
26
+ function example:display_score_blue {
27
+ say "Blue team score: $blue_team_score<@a[team=blue]>$";
28
+ }
29
+
23
30
  // Method 1: Multiple exec statements
24
- function example:method1<@s> {
31
+ function example:method1 {
25
32
  say "=== Method 1: Multiple exec statements ===";
26
- exec example:display_score<@s>; // Current player
27
- exec example:display_score<@a>; // All players
28
- exec example:display_score<@a[team=red]>; // Red team
33
+ exec example:display_score_player<@s>; // Current player
34
+ exec example:display_score_global<@a>; // All players
35
+ exec example:display_score_red<@a[team=red]>; // Red team
29
36
  }
30
37
 
31
38
  // Method 2: Raw blocks for complex execution
32
- function example:method2<@s> {
39
+ function example:method2 {
33
40
  say "=== Method 2: Raw blocks ===";
34
41
  $!raw
35
42
  # Execute for current player
36
- execute as @s run function example:display_score
43
+ execute as @s run function example:display_score_player
37
44
 
38
45
  # Execute for all players
39
- execute as @a run function example:display_score
46
+ execute as @a run function example:display_score_global
40
47
 
41
48
  # Execute for red team
42
- execute as @a[team=red] run function example:display_score
49
+ execute as @a[team=red] run function example:display_score_red
43
50
 
44
51
  # Execute for players with high scores
45
- execute as @a[scores={player_score=10..}] run function example:display_score
52
+ execute as @a[scores={player_score=10..}] run function example:display_score_player
46
53
  raw!$
47
54
  }
48
55
 
49
56
  // Method 3: Conditional execution
50
- function example:method3<@s> {
57
+ function example:method3 {
51
58
  say "=== Method 3: Conditional execution ===";
52
59
 
53
60
  // Execute based on player score
54
61
  if $player_score<@s>$ > 5 {
55
- exec example:display_score<@s>;
62
+ exec example:display_score_player<@s>;
56
63
  say "High score player!";
57
64
  } else {
58
65
  say "Keep trying!";
@@ -60,22 +67,22 @@ function example:method3<@s> {
60
67
 
61
68
  // Execute for different teams
62
69
  if $red_team_score<@a[team=red]>$ > $blue_team_score<@a[team=blue]>$ {
63
- exec example:display_score<@a[team=red]>;
70
+ exec example:display_score_red<@a[team=red]>;
64
71
  say "Red team is winning!";
65
72
  } else {
66
- exec example:display_score<@a[team=blue]>;
73
+ exec example:display_score_blue<@a[team=blue]>;
67
74
  say "Blue team is winning!";
68
75
  }
69
76
  }
70
77
 
71
78
  // Method 4: Batch execution with different scopes
72
- function example:method4<@s> {
79
+ function example:method4 {
73
80
  say "=== Method 4: Batch execution ===";
74
81
 
75
82
  // Execute same function for multiple scopes
76
- exec example:display_score<@s>; // Player scope
77
- exec example:display_score<@a>; // Global scope
78
- exec example:display_score<@a[team=red]>; // Team scope
83
+ exec example:display_score_player<@s>; // Player scope
84
+ exec example:display_score_global<@a>; // Global scope
85
+ exec example:display_score_red<@a[team=red]>; // Team scope
79
86
 
80
87
  // You can also chain different functions
81
88
  exec example:method1<@s>;
@@ -83,7 +90,7 @@ function example:method4<@s> {
83
90
  }
84
91
 
85
92
  // Main function to test all methods
86
- function example:test_all<@s> {
93
+ function example:test_all {
87
94
  say "Testing multi-scope execution methods...";
88
95
 
89
96
  // Set some test values
@@ -101,4 +108,4 @@ function example:test_all<@s> {
101
108
  say "All multi-scope tests completed!";
102
109
  }
103
110
 
104
- on_load example:test_all<@s>;
111
+ on_load example:test_all;
@@ -6,8 +6,8 @@ var num player_score<@s> = 0;
6
6
  var num team_score<@a[team=red]> = 0;
7
7
  var num global_timer<@a> = 0;
8
8
 
9
- // Function declared with @s scope
10
- function demo:player_function<@s> {
9
+ // Function: player context
10
+ function demo:player_function {
11
11
  // This function is DESIGNED for player context
12
12
  say "Player function running!";
13
13
 
@@ -21,8 +21,8 @@ function demo:player_function<@s> {
21
21
  say "Red team score: $team_score<@a[team=red]>$";
22
22
  }
23
23
 
24
- // Function declared with @a scope
25
- function demo:global_function<@a> {
24
+ // Function: global context
25
+ function demo:global_function {
26
26
  // This function is DESIGNED for global context
27
27
  say "Global function running!";
28
28
 
@@ -36,8 +36,8 @@ function demo:global_function<@a> {
36
36
  // say "Player score: $player_score<@s>$"; // ❌ This would cause an error!
37
37
  }
38
38
 
39
- // Function declared with team scope
40
- function demo:team_function<@a[team=red]> {
39
+ // Function: team context
40
+ function demo:team_function {
41
41
  // This function is DESIGNED for red team context
42
42
  say "Red team function running!";
43
43
 
@@ -52,7 +52,7 @@ function demo:team_function<@a[team=red]> {
52
52
  }
53
53
 
54
54
  // Now let's see how execution scope works
55
- function demo:test_execution<@s> {
55
+ function demo:test_execution {
56
56
  say "=== Testing Execution Scope ===";
57
57
 
58
58
  // Execute player function with @s scope (matches declaration)
@@ -71,7 +71,7 @@ function demo:test_execution<@s> {
71
71
  }
72
72
 
73
73
  // Test what happens with scope mismatches
74
- function demo:test_scope_validation<@s> {
74
+ function demo:test_scope_validation {
75
75
  say "=== Testing Scope Validation ===";
76
76
 
77
77
  // This should work - function designed for @s, executed with @s
@@ -83,4 +83,4 @@ function demo:test_scope_validation<@s> {
83
83
  say "=== Scope validation tests completed ===";
84
84
  }
85
85
 
86
- on_load demo:test_execution<@s>;
86
+ on_load demo:test_execution;
@@ -73,7 +73,7 @@ def main():
73
73
  )
74
74
  results.append(("Pytest", pytest_result))
75
75
 
76
- # 2. Run specific test files
76
+ # 2. Run specific test files via pytest (ensures proper import paths)
77
77
  test_files = [
78
78
  ("test_comprehensive_end_to_end.py", "End-to-end comprehensive tests"),
79
79
  ("test_complex_scenarios.py", "Complex scenario tests"),
@@ -81,13 +81,13 @@ def main():
81
81
  ("test_python_bindings.py", "Python bindings tests"),
82
82
  ("test_cli.py", "CLI functionality tests"),
83
83
  ]
84
-
84
+
85
85
  for test_file, description in test_files:
86
86
  test_path = Path("tests") / test_file
87
87
  if test_path.exists():
88
88
  result = run_test_suite(
89
- f"Direct {test_file}",
90
- f"python tests/{test_file}",
89
+ f"Pytest {test_file}",
90
+ f"python -m pytest -q tests/{test_file}",
91
91
  description
92
92
  )
93
93
  results.append((test_file, result))
@@ -125,7 +125,7 @@ def main():
125
125
  print("\nTesting Python bindings...")
126
126
  api_result = run_test_suite(
127
127
  "Python Bindings Basic",
128
- "python -c \"from minecraft_datapack_language import Pack; import tempfile; from pathlib import Path; p = Pack('Test', 'Test pack', 82); ns = p.namespace('test'); ns.function('hello', 'say Hello World!'); with tempfile.TemporaryDirectory() as temp_dir: p.build(temp_dir); output = Path(temp_dir) / 'data' / 'test' / 'function' / 'hello.mcfunction'; assert output.exists(); print('Python API test successful')\"",
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)\"",
129
129
  "Test basic Python bindings functionality"
130
130
  )
131
131
  results.append(("Python Bindings", api_result))
@@ -125,12 +125,12 @@ namespace "game";
125
125
  var num player_score<@s> = 0;
126
126
  var num team_score<@a[team=red]> = 0;
127
127
 
128
- function game:start<@s> {
128
+ function game:start {
129
129
  player_score<@s> = 100;
130
130
  say "Welcome! Your score is $player_score<@s>$";
131
131
  }
132
132
 
133
- on_load game:start<@s>;
133
+ on_load game:start;
134
134
  ```
135
135
 
136
136
  ### Using Snippets
@@ -151,7 +151,7 @@ Type the snippet prefix and press Tab to expand:
151
151
  Every variable operation in MDL requires explicit scope specification:
152
152
  - **Reading**: `$variable<@s>$` - Read variable value from player scope
153
153
  - **Writing**: `variable<@s> = value` - Write value to player scope
154
- - **Functions**: `function namespace:name<@s> { ... }` - Function with scope
154
+ - **Functions**: `function namespace:name { ... }` - Function definition
155
155
 
156
156
  ### Variable System
157
157
  - **Types**: Currently supports `num` (number) variables
@@ -1,3 +0,0 @@
1
- current: "15.4.39"
2
- tag: "v15.4.39"
3
- updated_at: "2025-09-05T22:55:57Z"
@@ -1,23 +0,0 @@
1
- // Hello World example with scope selectors
2
- pack "hello_world" "A simple hello world datapack" 15;
3
- namespace "hello_world";
4
-
5
- // Global counter accessible by all players
6
- var num globalCounter<@a> = 0;
7
-
8
- function "main" {
9
- // Increment global counter
10
- globalCounter<@a> = globalCounter<@a> + 1;
11
-
12
- say Hello, Minecraft!;
13
- tellraw @a {"text":"Welcome to my datapack!","color":"green"};
14
- say Global counter: $globalCounter$;
15
- }
16
-
17
- function "greet_player" {
18
- // Player-specific greeting
19
- say Welcome, player! You are visitor number $globalCounter$;
20
- }
21
-
22
- on_load "hello_world:main";
23
- on_tick "hello_world:greet_player<@a>";