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