minecraft-datapack-language 16.0.26__tar.gz → 16.0.28__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-16.0.26 → minecraft_datapack_language-16.0.28}/PKG-INFO +1 -1
- minecraft_datapack_language-16.0.28/docs/_data/version.yml +3 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/language-reference.md +25 -10
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/_version.py +3 -3
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/mdl_compiler.py +14 -5
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/mdl_parser.py +30 -28
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/PKG-INFO +1 -1
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_codegen_naming_and_logic.py +10 -10
- minecraft_datapack_language-16.0.26/docs/_data/version.yml +0 -3
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.cursor/rules/aispec.mdc +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/actions/mdl-compile/action.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/ci.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/docs.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/pypi.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/release.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/update-website-version.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.gitignore +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/load.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/load1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/main.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/main__else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/main__if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/testfunc.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/data/test1/function/testfunc__while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1/pack.mcmeta +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/load.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/load1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/main.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/main__else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/main__if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/testfunc.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/data/test1/function/testfunc__while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.mdl-out-test1-confirm/pack.mcmeta +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe2.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe3.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_verify_loops.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/LICENSE +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/Makefile +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/README.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/advancements/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/advancements/first_spell.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/advancements/other_advancement.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/advancements/test_advancement.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/comprehensive_error_test.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/control_test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/control_test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/control_test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/if_test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/if_test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/countdown_while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/countdown_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/loop_demo_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_else_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_if_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_6.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_7.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/main_while_body_7.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/start_game_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/start_game_if_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/start_game_while_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/start_game_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_while_break_while_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/tick_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/tick_if_2.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/while_test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/data/while_test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/dist.zip +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/.env +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/404.html +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/Gemfile +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/README.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_config.yml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/cli-reference.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/contributing.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/docs-hub.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/documentation.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/examples.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/getting-started.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/multi-file-projects.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/python-bindings.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_docs/vscode-extension.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_includes/head-custom.html +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_includes/navigation.html +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_layouts/default.html +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_layouts/page.html +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_plugins/test_version.rb +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/_plugins/version_reader.rb +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/assets/css/style.css +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/docs.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/downloads.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/icon-128.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/icon-256.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/icon-512.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/icons/icon-64.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/docs/index.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/examples/hello_world.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/examples/macros_example.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/examples/scope_examples.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/examples/simple_counter.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/icon-128.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/icon-256.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/icon-512.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/icons/icon-64.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/item_modifiers/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/item_modifiers/enchant_tool.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/item_modifiers/test_item_modifier.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/loot_tables/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/loot_tables/epic_loot.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/loot_tables/main_loot.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/loot_tables/test_loot.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/mdllocal.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/__init__.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/ast_nodes.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/cli.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/dir_map.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/mdl_errors.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/mdl_lexer.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/mdl_linter.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/python_api.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language/utils.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/SOURCES.txt +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/requires.txt +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/multi_scope_example.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/my_awesome_pack/README.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/predicates/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/predicates/has_mana.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/predicates/other_predicate.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/predicates/test_predicate.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/pyproject.toml +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/pytest.ini +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/custom_pickaxe.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/first.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/inlet.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/main_recipe.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/outlet.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/pipe.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/second.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/test_recipe.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/recipes/wrench.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scope_demo.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scoreboard_test.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/UpdateMDL.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/bootstrap.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/bootstrap.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/build_pkg.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/build_pkg.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/dev_build.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/dev_build.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/dev_setup.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/dev_setup.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/git-bash/test_cli-gitbash.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/release.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/test_cli.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/test_cli.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/test_dev.ps1 +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/test_dev.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/update_docs.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/scripts/update_version_info.sh +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/setup.cfg +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/structures/diamond_sword.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/structures/test_structure.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/structures/workshop.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tellraw_variables_test.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/temp_output/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/temp_output/data/test/function/helper.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/temp_output/data/test/function/load.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/temp_output/data/test/function/main.mcfunction +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/temp_output/pack.mcmeta +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_all_registry.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_complex_scenarios.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_comprehensive_fixes.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_if_else_while.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_project/complex_test.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/test_simple.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/__init__.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/run_all_tests.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_arithmetic_codegen.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_cli.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_compiler_fixes.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_complex_logic_and_arithmetic.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_complex_scenarios.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_comprehensive_end_to_end.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_examples.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_global_scope.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_macros.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_python_api.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_python_bindings.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_scheduledwhile.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tests/test_user_regression_test1.py +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tmp_local_cli_out.zip +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tmp_test1.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tmp_test1.mdl~ +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/tmp_test1_confirm.mdl +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/README.md +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/icon-128.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/icon-256.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/icons/icon-512.png +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/language-configuration.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/package-lock.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/package.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/snippets/mdl.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/src/extension.ts +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/themes/mdl-color-theme.json +0 -0
- {minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/vscode-extension/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: minecraft-datapack-language
|
3
|
-
Version: 16.0.
|
3
|
+
Version: 16.0.28
|
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
|
@@ -11,9 +11,9 @@ MDL is a simple, scope-aware language that compiles to Minecraft datapack `.mcfu
|
|
11
11
|
## Core Language Design
|
12
12
|
|
13
13
|
### Philosophy
|
14
|
-
- **Explicit scoping**:
|
15
|
-
- **Clear reading vs writing**: Use `$variable<scope>$` for reading, `variable<scope>` for writing
|
16
|
-
- **No scope inheritance**: Each operation uses its own explicitly defined scope
|
14
|
+
- **Explicit scoping**: Variables support explicit `<scope>`; if omitted, `@s` (current player) is assumed
|
15
|
+
- **Clear reading vs writing**: Use `$variable<scope>$` or `$variable$` for reading, and `variable<scope>` or `variable` for writing
|
16
|
+
- **No scope inheritance**: Each operation uses its own explicitly defined scope (or defaults to `@s` when omitted)
|
17
17
|
- **Default scope**: When no scope specified, always use `@s` (current player)
|
18
18
|
- **No return values**: All functions are void - they execute commands and modify state
|
19
19
|
- **No quotes needed**: Use `$variable<scope>$` syntax directly instead of string literals
|
@@ -63,16 +63,17 @@ tag structure "custom_house" "structures/custom_house.json";
|
|
63
63
|
|
64
64
|
### Variable Declaration
|
65
65
|
```mdl
|
66
|
-
// Declare variables
|
66
|
+
// Declare variables (scope optional; defaults to @s)
|
67
67
|
var num player_score<@a> = 0; // Global scope - accessible by all players
|
68
68
|
var num player_health<@s> = 20; // Player-specific scope
|
69
|
+
var num player_health = 20; // Same as player_health<@s> = 20
|
69
70
|
var num team_score<@a[team=red]> = 0; // Team scope
|
70
71
|
var num entity_data<@e[type=armor_stand,tag=mdl_server,limit=1]> = 0; // Custom entity scope
|
71
72
|
```
|
72
73
|
|
73
74
|
### Variable Assignment
|
74
75
|
```mdl
|
75
|
-
//
|
76
|
+
// Scope optional; defaults to @s for both reads and writes when omitted
|
76
77
|
player_score<@s> = $player_score<@s>$ + 1; // Add 1 to current player's score
|
77
78
|
player_health<@a> = $player_health<@s>$; // Read from @s, write to @a
|
78
79
|
team_score<@a[team=red]> = 5; // Set red team score to 5
|
@@ -83,13 +84,15 @@ player_score = 0; // Same as player_score<@s> = 0
|
|
83
84
|
|
84
85
|
### Variable Substitution
|
85
86
|
```mdl
|
86
|
-
// Use $variable<scope>$
|
87
|
+
// Use $variable<scope>$ or $variable$ anywhere in the code
|
88
|
+
// $variable$ defaults to <@s>
|
87
89
|
tellraw @s {"text":"You have ","extra":[{"score":{"name":"@s","objective":"player_score"}}," points"]};
|
90
|
+
tellraw @s {"text":"You have ","extra":[{"score":{"name":"@s","objective":"player_score"}}," points"]}; // $player_score$
|
88
91
|
execute if score @s player_score matches 10.. run game:celebrate;
|
89
92
|
|
90
93
|
// In conditions
|
91
|
-
if $player_score
|
92
|
-
player_score
|
94
|
+
if $player_score$ > 10 {
|
95
|
+
player_score = 0; // defaults to <@s>
|
93
96
|
}
|
94
97
|
```
|
95
98
|
|
@@ -241,8 +244,8 @@ $summon minecraft:cow ~ ~ ~ {CustomName:'{"text":"$(name)"}'}
|
|
241
244
|
|
242
245
|
### Core Scope Rules
|
243
246
|
|
244
|
-
1. **Variable Writing**: Use `variable<scope>` for assignments and declarations
|
245
|
-
2. **Variable Reading**: Use `$variable<scope>$` for reading values
|
247
|
+
1. **Variable Writing**: Use `variable<scope>` for assignments and declarations; `variable` defaults to `<@s>`
|
248
|
+
2. **Variable Reading**: Use `$variable<scope>$` for reading values; `$variable$` defaults to `<@s>`
|
246
249
|
3. **Function Execution**: Use `exec` keyword to run any function (with or without scope)
|
247
250
|
4. **No Inheritance**: Functions do not inherit scope from their caller
|
248
251
|
5. **Default Scope**: When no scope specified, always use `@s` (current player)
|
@@ -272,6 +275,7 @@ var num global_counter<@a> = 0;
|
|
272
275
|
global_counter<@s> = 5; // Set current player's counter to 5
|
273
276
|
global_counter<@a> = $global_counter<@a>$ + 1; // Increment global counter
|
274
277
|
global_counter = 10; // Same as global_counter<@s> = 10 (defaults to @s)
|
278
|
+
say "Player has $global_counter$ points"; // $global_counter$ defaults to <@s>
|
275
279
|
|
276
280
|
// Function calls
|
277
281
|
exec game:increment; // Execute function
|
@@ -693,6 +697,17 @@ Tokenized as:
|
|
693
697
|
5. `RANGLE` (`>`)
|
694
698
|
6. `DOLLAR` (`$`)
|
695
699
|
|
700
|
+
#### **Shorthand (Default Scope)**
|
701
|
+
```
|
702
|
+
$player_score$
|
703
|
+
```
|
704
|
+
Tokenized as:
|
705
|
+
1. `DOLLAR` (`$`)
|
706
|
+
2. `IDENTIFIER` (`player_score`)
|
707
|
+
3. `DOLLAR` (`$`)
|
708
|
+
|
709
|
+
Note: When the scope is omitted, the parser defaults it to `<@s>` during AST construction.
|
710
|
+
|
696
711
|
#### **Complex Substitution**
|
697
712
|
```
|
698
713
|
$team_score<@a[team=red]>$
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '16.0.
|
32
|
-
__version_tuple__ = version_tuple = (16, 0,
|
31
|
+
__version__ = version = '16.0.28'
|
32
|
+
__version_tuple__ = version_tuple = (16, 0, 28)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'ge7a572b95'
|
@@ -463,10 +463,15 @@ class MDLCompiler:
|
|
463
463
|
current_pos = 0
|
464
464
|
|
465
465
|
for var in variables:
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
466
|
+
# Support both $name<scope>$ and $name$ forms; parser already defaults scope to <@s>
|
467
|
+
with_scope = f"${var.name}{var.scope}$"
|
468
|
+
no_scope = f"${var.name}$"
|
469
|
+
pos_with = message.find(with_scope, current_pos)
|
470
|
+
pos_no = message.find(no_scope, current_pos)
|
471
|
+
# Choose the earliest valid occurrence >= current_pos
|
472
|
+
candidates = [p for p in [pos_with, pos_no] if p != -1]
|
473
|
+
if candidates:
|
474
|
+
var_pos = min(candidates)
|
470
475
|
if var_pos > current_pos:
|
471
476
|
text_before = message[current_pos:var_pos]
|
472
477
|
parts.append(f'{{"text":"{text_before}"}}')
|
@@ -475,7 +480,11 @@ class MDLCompiler:
|
|
475
480
|
scope = self._resolve_scope(var.scope)
|
476
481
|
parts.append(f'{{"score":{{"name":"{scope}","objective":"{objective}"}}}}')
|
477
482
|
|
478
|
-
|
483
|
+
# Advance past whichever token we matched
|
484
|
+
if var_pos == pos_with:
|
485
|
+
current_pos = var_pos + len(with_scope)
|
486
|
+
else:
|
487
|
+
current_pos = var_pos + len(no_scope)
|
479
488
|
|
480
489
|
if current_pos < len(message):
|
481
490
|
text_after = message[current_pos:]
|
@@ -181,14 +181,17 @@ class MDLParser:
|
|
181
181
|
"Use: recipe, loot_table, advancement, item_modifier, predicate, or structure")
|
182
182
|
|
183
183
|
def _parse_variable_declaration(self) -> VariableDeclaration:
|
184
|
-
"""Parse variable declaration: var num name<scope
|
184
|
+
"""Parse variable declaration: var num name<scope?> = value; defaults to <@s>."""
|
185
185
|
self._expect(TokenType.VAR, "Expected 'var' keyword")
|
186
186
|
|
187
187
|
self._expect(TokenType.NUM, "Expected 'num' keyword")
|
188
188
|
|
189
189
|
name = self._expect_identifier("Expected variable name")
|
190
|
-
|
191
|
-
|
190
|
+
# Optional scope selector; default to <@s>
|
191
|
+
if self._peek().type == TokenType.LANGLE:
|
192
|
+
scope = self._parse_scope_selector()
|
193
|
+
else:
|
194
|
+
scope = "<@s>"
|
192
195
|
|
193
196
|
self._expect(TokenType.ASSIGN, "Expected '=' after variable declaration")
|
194
197
|
|
@@ -204,10 +207,14 @@ class MDLParser:
|
|
204
207
|
)
|
205
208
|
|
206
209
|
def _parse_variable_assignment(self) -> VariableAssignment:
|
207
|
-
"""Parse variable assignment: name<scope
|
210
|
+
"""Parse variable assignment: name<scope?> = value; defaults to <@s>."""
|
208
211
|
name = self._expect_identifier("Expected variable name")
|
209
212
|
|
210
|
-
scope
|
213
|
+
# Optional scope selector; default to <@s>
|
214
|
+
if self._peek().type == TokenType.LANGLE:
|
215
|
+
scope = self._parse_scope_selector()
|
216
|
+
else:
|
217
|
+
scope = "<@s>"
|
211
218
|
|
212
219
|
self._expect(TokenType.ASSIGN, "Expected '=' after variable name")
|
213
220
|
|
@@ -423,17 +430,12 @@ class MDLParser:
|
|
423
430
|
|
424
431
|
# Extract variables from the message content
|
425
432
|
variables = []
|
426
|
-
#
|
433
|
+
# Support both $var<scope>$ and $var$
|
427
434
|
import re
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
# Parse the variable name and scope from the match
|
433
|
-
if '<' in match and '>' in match:
|
434
|
-
name = match[:match.index('<')]
|
435
|
-
scope = match[match.index('<'):match.index('>')+1]
|
436
|
-
variables.append(VariableSubstitution(name=name, scope=scope))
|
435
|
+
for m in re.finditer(r'\$([a-zA-Z_][a-zA-Z0-9_]*)(<[^>]+>)?\$', message):
|
436
|
+
name = m.group(1)
|
437
|
+
scope = m.group(2) if m.group(2) else "<@s>"
|
438
|
+
variables.append(VariableSubstitution(name=name, scope=scope))
|
437
439
|
|
438
440
|
self._expect(TokenType.QUOTE, "Expected closing quote for say message")
|
439
441
|
self._expect(TokenType.SEMICOLON, "Expected semicolon after say command")
|
@@ -441,23 +443,23 @@ class MDLParser:
|
|
441
443
|
return SayCommand(message=message, variables=variables)
|
442
444
|
|
443
445
|
def _parse_variable_substitution(self) -> VariableSubstitution:
|
444
|
-
"""Parse variable substitution: $variable<scope
|
446
|
+
"""Parse variable substitution: $variable<scope?>$; defaults to <@s>."""
|
445
447
|
self._expect(TokenType.DOLLAR, "Expected '$' to start variable substitution")
|
446
448
|
|
447
449
|
name = self._expect_identifier("Expected variable name")
|
448
450
|
|
449
|
-
#
|
450
|
-
self.
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
451
|
+
# Optional scope selector; if absent, default to <@s>
|
452
|
+
if self._peek().type == TokenType.LANGLE:
|
453
|
+
# Parse the selector content
|
454
|
+
self._advance() # consume '<'
|
455
|
+
selector_content = ""
|
456
|
+
while not self._is_at_end() and self._peek().type != TokenType.RANGLE:
|
457
|
+
selector_content += self._peek().value
|
458
|
+
self._advance()
|
459
|
+
self._expect(TokenType.RANGLE, "Expected '>' to close scope selector")
|
460
|
+
scope = f"<{selector_content}>"
|
461
|
+
else:
|
462
|
+
scope = "<@s>"
|
461
463
|
|
462
464
|
self._expect(TokenType.DOLLAR, "Expected '$' to end variable substitution")
|
463
465
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: minecraft-datapack-language
|
3
|
-
Version: 16.0.
|
3
|
+
Version: 16.0.28
|
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
|
@@ -18,9 +18,9 @@ def test_generated_if_function_names_unique_per_parent():
|
|
18
18
|
src = (
|
19
19
|
'pack "ns" "desc" 82;\n'
|
20
20
|
'namespace "ns";\n'
|
21
|
-
'var num a
|
22
|
-
'function ns:f1 { if $a
|
23
|
-
'function ns:f2 { if $a
|
21
|
+
'var num a = 0;\n' # default to <@s>
|
22
|
+
'function ns:f1 { if $a$ > 1 { say "hi"; } }\n'
|
23
|
+
'function ns:f2 { if $a$ > 1 { say "hi2"; } }\n'
|
24
24
|
)
|
25
25
|
out, tmp = compile_source(src)
|
26
26
|
func_dir = out / 'data' / 'ns' / 'function'
|
@@ -39,8 +39,8 @@ def test_while_loop_generates_recursive_function_and_condition():
|
|
39
39
|
src = (
|
40
40
|
'pack "ns" "desc" 82;\n'
|
41
41
|
'namespace "ns";\n'
|
42
|
-
'var num c
|
43
|
-
'function ns:loop { while $c
|
42
|
+
'var num c = 0;\n'
|
43
|
+
'function ns:loop { while $c$ < 3 { c = $c$ + 1; } }\n'
|
44
44
|
)
|
45
45
|
out, tmp = compile_source(src)
|
46
46
|
func_dir = out / 'data' / 'ns' / 'function'
|
@@ -58,9 +58,9 @@ def test_complex_expression_temp_operations_present():
|
|
58
58
|
src = (
|
59
59
|
'pack "ns" "desc" 82;\n'
|
60
60
|
'namespace "ns";\n'
|
61
|
-
'var num x
|
62
|
-
'var num y
|
63
|
-
'function ns:math { x
|
61
|
+
'var num x = 2;\n'
|
62
|
+
'var num y = 3;\n'
|
63
|
+
'function ns:math { x = ($x$ + 5) * ($y$ - 1) / 2; }\n'
|
64
64
|
)
|
65
65
|
out, tmp = compile_source(src)
|
66
66
|
func_dir = out / 'data' / 'ns' / 'function'
|
@@ -79,8 +79,8 @@ def test_else_branch_written_separately():
|
|
79
79
|
src = (
|
80
80
|
'pack "ns" "desc" 82;\n'
|
81
81
|
'namespace "ns";\n'
|
82
|
-
'var num a
|
83
|
-
'function ns:f { if $a
|
82
|
+
'var num a = 0;\n'
|
83
|
+
'function ns:f { if $a$ > 1 { say "high"; } else { say "low"; } }\n'
|
84
84
|
)
|
85
85
|
out, tmp = compile_source(src)
|
86
86
|
func_dir = out / 'data' / 'ns' / 'function'
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.cursor/rules/aispec.mdc
RENAMED
File without changes
|
File without changes
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.github/workflows/ci.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe.py
RENAMED
File without changes
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe2.py
RENAMED
File without changes
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_compile_bwe3.py
RENAMED
File without changes
|
{minecraft_datapack_language-16.0.26 → minecraft_datapack_language-16.0.28}/.tmp_verify_loops.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|