minecraft-datapack-language 17.0.3__tar.gz → 17.0.4__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.3 → minecraft_datapack_language-17.0.4}/PKG-INFO +1 -1
- minecraft_datapack_language-17.0.4/docs/_data/version.yml +3 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/cli-reference.md +40 -38
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/docs-hub.md +4 -4
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/examples.md +4 -4
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/getting-started.md +39 -39
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/multi-file-projects.md +38 -35
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/python-bindings.md +22 -114
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/_version.py +3 -3
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/cli.py +35 -19
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/PKG-INFO +1 -1
- minecraft_datapack_language-17.0.3/docs/_data/version.yml +0 -3
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.cursor/rules/aispec.mdc +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/actions/mdl-compile/action.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/workflows/ci.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/workflows/docs.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/workflows/pypi.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/workflows/release.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.github/workflows/update-website-version.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.gitignore +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/load.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/load1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/main.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/main__else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/main__if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/testfunc.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/data/test1/function/testfunc__while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1/pack.mcmeta +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/load.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/load1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/main.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/main__else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/main__if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/testfunc.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/data/test1/function/testfunc__while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.mdl-out-test1-confirm/pack.mcmeta +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.tmp_compile_bwe.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.tmp_compile_bwe2.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.tmp_compile_bwe3.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/.tmp_verify_loops.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/LICENSE +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/Makefile +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/README.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/advancements/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/advancements/first_spell.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/advancements/other_advancement.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/advancements/test_advancement.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/comprehensive_error_test.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/control_test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/control_test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/control_test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/if_test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/if_test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/countdown_while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/countdown_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/loop_demo_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_else_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_if_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_6.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_7.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/main_while_body_7.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/start_game_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/start_game_if_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/start_game_while_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/start_game_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_while_break_while_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/tick_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/tick_if_2.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/while_test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/data/while_test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/dist.zip +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/.env +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/404.html +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/Gemfile +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/README.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_config.yml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/contributing.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/documentation.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/language-reference.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/vscode-extension.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_includes/head-custom.html +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_includes/navigation.html +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_layouts/default.html +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_layouts/page.html +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_plugins/test_version.rb +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_plugins/version_reader.rb +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/assets/css/style.css +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/docs.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/downloads.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/icon-128.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/icon-256.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/icon-512.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/icons/icon-64.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/index.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/examples/hello_world.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/examples/macros_example.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/examples/scope_examples.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/examples/simple_counter.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/icon-128.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/icon-256.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/icon-512.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/icons/icon-64.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/item_modifiers/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/item_modifiers/enchant_tool.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/item_modifiers/test_item_modifier.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/loot_tables/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/loot_tables/epic_loot.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/loot_tables/main_loot.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/loot_tables/test_loot.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/mdllocal.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/__init__.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/ast_nodes.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/dir_map.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/mdl_compiler.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/mdl_errors.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/mdl_lexer.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/mdl_linter.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/mdl_parser.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/python_api.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language/utils.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/SOURCES.txt +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/requires.txt +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/multi_scope_example.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/my_awesome_pack/README.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/predicates/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/predicates/has_mana.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/predicates/other_predicate.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/predicates/test_predicate.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/pyproject.toml +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/pytest.ini +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/custom_pickaxe.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/first.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/inlet.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/main_recipe.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/outlet.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/pipe.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/second.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/test_recipe.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/recipes/wrench.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scope_demo.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scoreboard_test.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/UpdateMDL.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/bootstrap.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/bootstrap.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/build_pkg.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/build_pkg.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/dev_build.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/dev_build.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/dev_setup.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/dev_setup.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/git-bash/test_cli-gitbash.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/release.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/test_cli.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/test_cli.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/test_dev.ps1 +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/test_dev.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/update_docs.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/scripts/update_version_info.sh +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/setup.cfg +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/structures/diamond_sword.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/structures/test_structure.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/structures/workshop.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tellraw_variables_test.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/temp_output/data/minecraft/tags/function/load.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/temp_output/data/test/function/helper.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/temp_output/data/test/function/load.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/temp_output/data/test/function/main.mcfunction +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/temp_output/pack.mcmeta +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_all_registry.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_complex_scenarios.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_comprehensive_fixes.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_if_else_while.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_project/complex_test.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/test_simple.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/__init__.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/run_all_tests.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_arithmetic_codegen.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_cli.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_codegen_naming_and_logic.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_compiler_fixes.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_complex_logic_and_arithmetic.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_complex_scenarios.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_comprehensive_end_to_end.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_examples.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_global_scope.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_macros.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_python_api.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_python_bindings.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_scheduledwhile.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tests/test_user_regression_test1.py +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tmp_local_cli_out.zip +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tmp_test1.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tmp_test1.mdl~ +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/tmp_test1_confirm.mdl +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/README.md +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/icon-128.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/icon-256.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/icons/icon-512.png +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/language-configuration.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/package-lock.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/package.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/snippets/mdl.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/src/extension.ts +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/vscode-extension/themes/mdl-color-theme.json +0 -0
- {minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/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.4
|
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,41 +18,46 @@ pipx install minecraft-datapack-language
|
|
18
18
|
|
19
19
|
### Build Command
|
20
20
|
|
21
|
-
Build MDL files into Minecraft datapacks:
|
21
|
+
Build MDL files into Minecraft datapacks. Defaults: `--mdl .` and `-o dist`.
|
22
22
|
|
23
23
|
```bash
|
24
|
-
|
24
|
+
# Simplest
|
25
|
+
mdl build
|
26
|
+
|
27
|
+
# Explicit
|
28
|
+
mdl build --mdl <path> -o <output_dir>
|
25
29
|
# Zips by default -> creates <output_dir>.zip
|
26
30
|
# Use --no-zip to skip archive creation
|
27
31
|
```
|
28
32
|
|
29
33
|
**Examples:**
|
30
34
|
```bash
|
31
|
-
# Build single file
|
32
|
-
mdl build --mdl hello.mdl
|
33
|
-
|
34
|
-
# Build entire directory
|
35
|
-
mdl build --mdl myproject/ -o dist
|
35
|
+
# Build single file (output defaults to dist)
|
36
|
+
mdl build --mdl hello.mdl
|
36
37
|
|
37
|
-
# Build
|
38
|
-
mdl build
|
38
|
+
# Build entire directory (both default)
|
39
|
+
mdl build
|
39
40
|
|
40
|
-
# Build with
|
41
|
-
mdl build --mdl
|
41
|
+
# Build with custom output
|
42
|
+
mdl build --mdl myproject/ -o out
|
42
43
|
```
|
43
44
|
|
44
45
|
**Options:**
|
45
|
-
- `--mdl <
|
46
|
-
- `-o <output_dir>`: Output directory for compiled datapack
|
46
|
+
- `--mdl <path>`: Path to a single `.mdl` file or a directory to build (default: `.`)
|
47
|
+
- `-o <output_dir>`: Output directory for compiled datapack (default: `dist`)
|
47
48
|
- `--verbose`: Show detailed build information
|
48
49
|
- `--wrapper <name>`: Custom wrapper name for the datapack
|
49
50
|
|
50
51
|
### Check Command
|
51
52
|
|
52
|
-
Validate MDL files for syntax and semantic errors
|
53
|
+
Validate MDL files for syntax and semantic errors. If no paths are given, it scans the current directory for `**/*.mdl`.
|
53
54
|
|
54
55
|
```bash
|
55
|
-
|
56
|
+
# Simplest
|
57
|
+
mdl check
|
58
|
+
|
59
|
+
# Explicit
|
60
|
+
mdl check <files_or_directories>
|
56
61
|
```
|
57
62
|
|
58
63
|
**Examples:**
|
@@ -60,10 +65,10 @@ mdl check <files>
|
|
60
65
|
# Check single file
|
61
66
|
mdl check hello.mdl
|
62
67
|
|
63
|
-
# Check current directory
|
64
|
-
mdl check
|
68
|
+
# Check current directory (implicit)
|
69
|
+
mdl check
|
65
70
|
|
66
|
-
# Check
|
71
|
+
# Check a specific directory
|
67
72
|
mdl check myproject/
|
68
73
|
|
69
74
|
# Check with warnings suppressed
|
@@ -120,11 +125,9 @@ mdl new projects/survival_plus
|
|
120
125
|
```
|
121
126
|
|
122
127
|
**What it creates:**
|
123
|
-
The new command generates a
|
124
|
-
- `README.md` -
|
125
|
-
- `main.mdl` -
|
126
|
-
- Proper pack declaration and namespace setup
|
127
|
-
- Example functions and basic syntax
|
128
|
+
The new command generates a minimal project structure with:
|
129
|
+
- `README.md` - Quick start with build instructions
|
130
|
+
- `main.mdl` - Hello world (pack, namespace, simple function, on_load)
|
128
131
|
|
129
132
|
**Generated project structure:**
|
130
133
|
```
|
@@ -136,9 +139,8 @@ my_awesome_pack/
|
|
136
139
|
**Template content includes:**
|
137
140
|
- Pack metadata (name, description, format)
|
138
141
|
- Namespace declaration
|
139
|
-
-
|
140
|
-
-
|
141
|
-
- Load function setup
|
142
|
+
- One function that says hello
|
143
|
+
- on_load hook
|
142
144
|
|
143
145
|
## Command Options
|
144
146
|
|
@@ -146,8 +148,8 @@ my_awesome_pack/
|
|
146
148
|
|
147
149
|
| Option | Description | Example |
|
148
150
|
|--------|-------------|---------|
|
149
|
-
| `--mdl <
|
150
|
-
| `-o <dir>` | Output directory | `-o dist` |
|
151
|
+
| `--mdl <path>` | .mdl file or directory to build (default: `.`) | `--mdl .` |
|
152
|
+
| `-o <dir>` | Output directory (default: `dist`) | `-o dist` |
|
151
153
|
| `--verbose` | Show detailed output | `--verbose` |
|
152
154
|
| `--wrapper <name>` | Custom wrapper name | `--wrapper mypack` |
|
153
155
|
| `--no-zip` | Skip creating zip archive (zip is default) | `--no-zip` |
|
@@ -245,7 +247,7 @@ mdl check hello_world/main.mdl
|
|
245
247
|
|
246
248
|
3. **Build the datapack:**
|
247
249
|
```bash
|
248
|
-
mdl build --mdl hello_world/main.mdl
|
250
|
+
mdl build --mdl hello_world/main.mdl
|
249
251
|
```
|
250
252
|
|
251
253
|
4. **Install in Minecraft:**
|
@@ -273,7 +275,7 @@ mdl check hello.mdl
|
|
273
275
|
|
274
276
|
3. **Build the datapack:**
|
275
277
|
```bash
|
276
|
-
mdl build --mdl hello.mdl
|
278
|
+
mdl build --mdl hello.mdl
|
277
279
|
```
|
278
280
|
|
279
281
|
4. **Install in Minecraft:**
|
@@ -292,7 +294,7 @@ my_project/
|
|
292
294
|
|
293
295
|
**Build command:**
|
294
296
|
```bash
|
295
|
-
mdl build
|
297
|
+
mdl build
|
296
298
|
```
|
297
299
|
|
298
300
|
### Explicit Scopes in Conditions
|
@@ -337,7 +339,7 @@ function hello:main {
|
|
337
339
|
Get detailed information about the build process:
|
338
340
|
|
339
341
|
```bash
|
340
|
-
mdl build --mdl hello.mdl
|
342
|
+
mdl build --mdl hello.mdl --verbose
|
341
343
|
```
|
342
344
|
|
343
345
|
Output includes:
|
@@ -356,10 +358,10 @@ Output includes:
|
|
356
358
|
ls *.mdl
|
357
359
|
|
358
360
|
# Use explicit file paths
|
359
|
-
mdl build --mdl ./myfile.mdl
|
361
|
+
mdl build --mdl ./myfile.mdl
|
360
362
|
|
361
363
|
# or build the directory itself
|
362
|
-
mdl build
|
364
|
+
mdl build
|
363
365
|
```
|
364
366
|
|
365
367
|
**"Failed to parse MDL files"**
|
@@ -381,7 +383,7 @@ mdl check myproject/
|
|
381
383
|
Use verbose mode to get more information:
|
382
384
|
|
383
385
|
```bash
|
384
|
-
mdl build --mdl myfile.mdl
|
386
|
+
mdl build --mdl myfile.mdl --verbose
|
385
387
|
mdl check myfile.mdl --verbose
|
386
388
|
```
|
387
389
|
|
@@ -413,7 +415,7 @@ dist/
|
|
413
415
|
.PHONY: build clean
|
414
416
|
|
415
417
|
build:
|
416
|
-
mdl build
|
418
|
+
mdl build
|
417
419
|
|
418
420
|
clean:
|
419
421
|
rm -rf dist/
|
@@ -426,7 +428,7 @@ check:
|
|
426
428
|
```json
|
427
429
|
{
|
428
430
|
"scripts": {
|
429
|
-
"build": "mdl build
|
431
|
+
"build": "mdl build",
|
430
432
|
"check": "mdl check .",
|
431
433
|
"clean": "rm -rf dist/"
|
432
434
|
}
|
@@ -450,6 +452,6 @@ jobs:
|
|
450
452
|
python-version: '3.9'
|
451
453
|
- run: pip install minecraft-datapack-language
|
452
454
|
- run: mdl check .
|
453
|
-
- run: mdl build
|
455
|
+
- run: mdl build
|
454
456
|
- run: mdl check .
|
455
457
|
```
|
{minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/docs-hub.md
RENAMED
@@ -57,14 +57,14 @@ Search and browse all available documentation for the Minecraft Datapack Languag
|
|
57
57
|
<a href="{{ site.baseurl }}/docs/multi-file-projects/" class="doc-link">Project Structure →</a>
|
58
58
|
</div>
|
59
59
|
|
60
|
-
<div class="doc-card" data-categories="python
|
60
|
+
<div class="doc-card" data-categories="python bindings programming">
|
61
61
|
<h3>🐍 Python Bindings</h3>
|
62
|
-
<p>Programmatic access to MDL
|
62
|
+
<p>Programmatic access to MDL for automation and integration.</p>
|
63
63
|
<div class="doc-meta">
|
64
|
-
<span class="category">
|
64
|
+
<span class="category">Bindings</span>
|
65
65
|
<span class="category">Python</span>
|
66
66
|
</div>
|
67
|
-
<a href="{{ site.baseurl }}/docs/python-
|
67
|
+
<a href="{{ site.baseurl }}/docs/python-bindings/" class="doc-link">Bindings Guide →</a>
|
68
68
|
</div>
|
69
69
|
|
70
70
|
<div class="doc-card" data-categories="vscode extension ide">
|
{minecraft_datapack_language-17.0.3 → minecraft_datapack_language-17.0.4}/docs/_docs/examples.md
RENAMED
@@ -136,10 +136,10 @@ pack "raw" "Raw command example" 82;
|
|
136
136
|
namespace "raw";
|
137
137
|
|
138
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
|
139
|
+
// Use raw Minecraft commands via single-line raw blocks
|
140
|
+
$!raw effect give @s minecraft:speed 10 1 raw!$
|
141
|
+
$!raw particle minecraft:explosion ~ ~ ~ 1 1 1 0 10 raw!$
|
142
|
+
$!raw playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1 raw!$
|
143
143
|
}
|
144
144
|
|
145
145
|
on_load raw:custom;
|
@@ -43,33 +43,33 @@ The compiled datapack will be in the `dist` folder. Copy it to your Minecraft wo
|
|
43
43
|
|
44
44
|
### Variables
|
45
45
|
|
46
|
-
Variables store numbers and can be scoped to different entities. MDL uses an **explicit scope system** where
|
46
|
+
Variables store numbers and can be scoped to different entities. MDL uses an **explicit scope system** where scopes can be specified explicitly, but are optional; when omitted, the scope defaults to `@s` (current entity):
|
47
47
|
|
48
48
|
```mdl
|
49
|
-
// Player-specific variable (default)
|
50
|
-
var num playerScore
|
49
|
+
// Player-specific variable (default @s)
|
50
|
+
var num playerScore = 0;
|
51
51
|
|
52
|
-
// Server-wide variable
|
53
|
-
var num globalCounter
|
52
|
+
// Server-wide/global variable (singleton armor stand)
|
53
|
+
var num globalCounter<global> = 0;
|
54
54
|
|
55
55
|
// Team-specific variable
|
56
56
|
var num teamScore<@a[team=red]> = 0;
|
57
57
|
|
58
|
-
// Access variables
|
59
|
-
playerScore
|
60
|
-
globalCounter
|
61
|
-
teamScore<@a[team=red]> = 5;
|
58
|
+
// Access variables (explicit or default scopes)
|
59
|
+
playerScore = 42; // Defaults to @s
|
60
|
+
globalCounter<global> = 100; // Global scope
|
61
|
+
teamScore<@a[team=red]> = 5; // Team scope
|
62
62
|
```
|
63
63
|
|
64
64
|
### Variable Substitution
|
65
65
|
|
66
|
-
Use `$variable$` to read variable values.
|
66
|
+
Use `$variable$` or `$variable<scope>$` to read variable values. If the scope is omitted, it defaults to `@s`:
|
67
67
|
|
68
68
|
```mdl
|
69
|
-
say "Your score: $playerScore
|
70
|
-
tellraw @a {"text":"Global counter: $globalCounter
|
69
|
+
say "Your score: $playerScore$";
|
70
|
+
tellraw @a {"text":"Global counter: $globalCounter<global>$","color":"gold"};
|
71
71
|
|
72
|
-
if $playerScore
|
72
|
+
if $playerScore$ > 100 {
|
73
73
|
say "High score!";
|
74
74
|
}
|
75
75
|
```
|
@@ -97,54 +97,54 @@ MDL supports real if/else statements and while loops:
|
|
97
97
|
|
98
98
|
```mdl
|
99
99
|
// If statement
|
100
|
-
if $playerScore
|
101
|
-
say Great job
|
100
|
+
if $playerScore$ > 50 {
|
101
|
+
say "Great job!";
|
102
102
|
} else {
|
103
|
-
say Keep trying
|
103
|
+
say "Keep trying!";
|
104
104
|
}
|
105
105
|
|
106
106
|
// While loop
|
107
|
-
while
|
108
|
-
say Counter: $counter
|
107
|
+
while $counter$ < 5 {
|
108
|
+
say "Counter: $counter$";
|
109
109
|
counter = counter + 1;
|
110
110
|
}
|
111
111
|
```
|
112
112
|
|
113
|
-
###
|
113
|
+
### Reading with Explicit Selectors
|
114
114
|
|
115
|
-
You can
|
115
|
+
You can read variables using explicit selectors in conditions without affecting how they were declared:
|
116
116
|
|
117
117
|
```mdl
|
118
118
|
// Check current player's score
|
119
|
-
if
|
119
|
+
if $playerScore<@s>$ > 50 {
|
120
120
|
say "Your score is high!";
|
121
121
|
}
|
122
122
|
|
123
123
|
// Check global counter
|
124
|
-
if
|
124
|
+
if $globalCounter<global>$ > 100 {
|
125
125
|
say "Global milestone reached!";
|
126
126
|
}
|
127
127
|
|
128
128
|
// Check another player's score
|
129
|
-
if
|
129
|
+
if $playerScore<@p[name=Steve]>$ > 20 {
|
130
130
|
say "Steve has a good score!";
|
131
131
|
}
|
132
132
|
|
133
133
|
// Check team score
|
134
|
-
if
|
134
|
+
if $teamScore<@a[team=red]>$ > 50 {
|
135
135
|
say "Red team is winning!";
|
136
136
|
}
|
137
137
|
```
|
138
138
|
|
139
|
-
This allows you to
|
139
|
+
This allows you to read variables at different selectors without any special linkage to where they were declared.
|
140
140
|
|
141
141
|
### Hooks
|
142
142
|
|
143
143
|
Automatically run functions:
|
144
144
|
|
145
145
|
```mdl
|
146
|
-
on_load
|
147
|
-
on_tick
|
146
|
+
on_load hello:init; // Runs when datapack loads
|
147
|
+
on_tick hello:update; // Runs every tick
|
148
148
|
```
|
149
149
|
|
150
150
|
## Complete Example
|
@@ -156,40 +156,40 @@ pack "example" "Complete example" 82;
|
|
156
156
|
namespace "example";
|
157
157
|
|
158
158
|
// Variables
|
159
|
-
var num playerScore = 0; // Defaults to player-specific scope
|
160
|
-
var num globalTimer
|
159
|
+
var num playerScore = 0; // Defaults to player-specific scope (@s)
|
160
|
+
var num globalTimer<global> = 0;
|
161
161
|
|
162
162
|
// Initialize function
|
163
163
|
function "init" {
|
164
|
-
playerScore
|
164
|
+
playerScore = 0;
|
165
165
|
globalTimer<global> = 0;
|
166
|
-
say Game initialized
|
166
|
+
say "Game initialized!";
|
167
167
|
}
|
168
168
|
|
169
169
|
// Update function
|
170
170
|
function "update" {
|
171
171
|
globalTimer<global> = globalTimer<global> + 1;
|
172
172
|
|
173
|
-
if
|
174
|
-
say High score
|
173
|
+
if $playerScore$ > 100 {
|
174
|
+
say "High score!";
|
175
175
|
tellraw @a {"text":"Player has a high score!","color":"gold"};
|
176
176
|
}
|
177
177
|
|
178
|
-
if
|
178
|
+
if $globalTimer<global>$ >= 1200 { // 60 seconds
|
179
179
|
globalTimer<global> = 0;
|
180
|
-
say Time's up
|
180
|
+
say "Time's up!";
|
181
181
|
}
|
182
182
|
}
|
183
183
|
|
184
184
|
// Score function
|
185
185
|
function "add_score" {
|
186
|
-
playerScore
|
187
|
-
say Score: $playerScore
|
186
|
+
playerScore = playerScore + 10;
|
187
|
+
say "Score: $playerScore$";
|
188
188
|
}
|
189
189
|
|
190
190
|
// Hooks
|
191
|
-
on_load
|
192
|
-
on_tick
|
191
|
+
on_load example:init;
|
192
|
+
on_tick example:update;
|
193
193
|
```
|
194
194
|
|
195
195
|
## Building and Testing
|
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
layout: page
|
3
|
-
title: Multi
|
3
|
+
title: Multi-File Projects
|
4
4
|
permalink: /docs/multi-file-projects/
|
5
5
|
---
|
6
6
|
|
@@ -10,21 +10,21 @@ MDL supports organizing code across multiple files for better project structure.
|
|
10
10
|
|
11
11
|
### Main File (with pack declaration)
|
12
12
|
|
13
|
-
Only the
|
13
|
+
Only the main entry file needs a pack declaration:
|
14
14
|
|
15
15
|
```mdl
|
16
16
|
// main.mdl
|
17
17
|
pack "my_project" "A multi-file project" 82;
|
18
18
|
namespace "core";
|
19
19
|
|
20
|
-
var num playerCount
|
20
|
+
var num playerCount<global> = 0;
|
21
21
|
|
22
22
|
function "init" {
|
23
23
|
playerCount<global> = 0;
|
24
|
-
say Core system initialized
|
24
|
+
say "Core system initialized!";
|
25
25
|
}
|
26
26
|
|
27
|
-
on_load
|
27
|
+
on_load core:init;
|
28
28
|
```
|
29
29
|
|
30
30
|
### Additional Files (no pack declaration)
|
@@ -35,12 +35,12 @@ Other files don't need pack declarations:
|
|
35
35
|
// ui.mdl
|
36
36
|
namespace "ui";
|
37
37
|
|
38
|
-
function
|
39
|
-
tellraw @a {"text":"Players: $playerCount
|
38
|
+
function ui:show_hud {
|
39
|
+
tellraw @a {"text":"Players: $playerCount<global>$","color":"green"};
|
40
40
|
}
|
41
41
|
|
42
|
-
function
|
43
|
-
|
42
|
+
function ui:update_hud {
|
43
|
+
exec ui:show_hud<@a>;
|
44
44
|
}
|
45
45
|
```
|
46
46
|
|
@@ -48,9 +48,9 @@ function "update_hud" {
|
|
48
48
|
// game.mdl
|
49
49
|
namespace "game";
|
50
50
|
|
51
|
-
function
|
52
|
-
say Game started
|
53
|
-
|
51
|
+
function game:start {
|
52
|
+
say "Game started!";
|
53
|
+
exec ui:update_hud;
|
54
54
|
}
|
55
55
|
```
|
56
56
|
|
@@ -59,7 +59,7 @@ function "start" {
|
|
59
59
|
### Build All Files Together
|
60
60
|
|
61
61
|
```bash
|
62
|
-
mdl build --mdl
|
62
|
+
mdl build --mdl . -o dist
|
63
63
|
```
|
64
64
|
|
65
65
|
### Build Entire Directory
|
@@ -95,10 +95,10 @@ namespace "magic";
|
|
95
95
|
|
96
96
|
var num mana = 100; // Defaults to player-specific scope
|
97
97
|
|
98
|
-
function
|
99
|
-
if
|
100
|
-
mana
|
101
|
-
say Spell cast! Mana: $mana
|
98
|
+
function magic:cast_spell {
|
99
|
+
if $mana$ >= 20 {
|
100
|
+
mana = $mana$ - 20;
|
101
|
+
say "Spell cast! Mana: $mana$";
|
102
102
|
}
|
103
103
|
}
|
104
104
|
```
|
@@ -109,14 +109,15 @@ Variables from all files are automatically merged:
|
|
109
109
|
|
110
110
|
```mdl
|
111
111
|
// core.mdl
|
112
|
-
var num globalTimer
|
112
|
+
var num globalTimer<global> = 0;
|
113
113
|
var num playerScore = 0; // Defaults to player-specific scope
|
114
114
|
```
|
115
115
|
|
116
116
|
```mdl
|
117
117
|
// ui.mdl
|
118
|
-
|
119
|
-
|
118
|
+
namespace "ui";
|
119
|
+
function ui:show_stats {
|
120
|
+
tellraw @a {"text":"Timer: $globalTimer<global>$, Score: $playerScore$","color":"gold"};
|
120
121
|
}
|
121
122
|
```
|
122
123
|
|
@@ -126,22 +127,23 @@ When working with multiple files, you can use explicit scope selectors in condit
|
|
126
127
|
|
127
128
|
```mdl
|
128
129
|
// core.mdl
|
129
|
-
|
130
|
+
namespace "core";
|
131
|
+
var num globalTimer<global> = 0;
|
130
132
|
var num playerScore = 0; // Defaults to player-specific scope
|
131
133
|
|
132
|
-
function
|
134
|
+
function core:check_status {
|
133
135
|
// Check global timer
|
134
|
-
if
|
136
|
+
if $globalTimer<global>$ > 1000 {
|
135
137
|
say "Game has been running for a while!";
|
136
138
|
}
|
137
139
|
|
138
140
|
// Check current player's score
|
139
|
-
if
|
141
|
+
if $playerScore<@s>$ > 50 {
|
140
142
|
say "You have a high score!";
|
141
143
|
}
|
142
144
|
|
143
145
|
// Check if any player has a very high score
|
144
|
-
if
|
146
|
+
if $playerScore<@a>$ > 100 {
|
145
147
|
say "Someone has an amazing score!";
|
146
148
|
}
|
147
149
|
}
|
@@ -149,9 +151,10 @@ function "check_status" {
|
|
149
151
|
|
150
152
|
```mdl
|
151
153
|
// ui.mdl
|
152
|
-
|
154
|
+
namespace "ui";
|
155
|
+
function ui:show_leaderboard {
|
153
156
|
// Compare scores across different players
|
154
|
-
if
|
157
|
+
if $playerScore<@p[name=Alice]>$ > $playerScore<@p[name=Bob]>$ {
|
155
158
|
tellraw @a {"text":"Alice is winning!","color":"green"};
|
156
159
|
} else {
|
157
160
|
tellraw @a {"text":"Bob is winning!","color":"blue"};
|
@@ -217,23 +220,23 @@ function "update_ui" {
|
|
217
220
|
```mdl
|
218
221
|
namespace "game";
|
219
222
|
|
220
|
-
function
|
223
|
+
function game:start {
|
221
224
|
gameState<global> = 1;
|
222
|
-
say Game started
|
223
|
-
|
225
|
+
say "Game started!";
|
226
|
+
exec ui:update_ui;
|
224
227
|
}
|
225
228
|
|
226
|
-
function
|
229
|
+
function game:level_up {
|
227
230
|
if "$playerLevel$ < 10" {
|
228
231
|
playerLevel<@s> = playerLevel<@s> + 1;
|
229
|
-
say Level up! New level: $playerLevel
|
232
|
+
say "Level up! New level: $playerLevel$";
|
230
233
|
}
|
231
234
|
}
|
232
235
|
```
|
233
236
|
|
234
237
|
Build the project:
|
235
238
|
```bash
|
236
|
-
mdl build --mdl
|
239
|
+
mdl build --mdl . -o dist
|
237
240
|
```
|
238
241
|
|
239
242
|
## Best Practices
|
@@ -243,8 +246,8 @@ mdl build --mdl "main.mdl combat.mdl ui.mdl game.mdl" -o dist
|
|
243
246
|
3. **Clear naming**: Use descriptive file and namespace names
|
244
247
|
4. **Shared variables**: Declare shared variables in the main file
|
245
248
|
5. **Function organization**: Group related functions in the same file
|
246
|
-
6. **Proper scoping**: Use
|
247
|
-
7. **Explicit scope access**:
|
249
|
+
6. **Proper scoping**: Use `<global>` for server-wide variables, omit scope for player-specific (defaults to @s)
|
250
|
+
7. **Explicit scope access**: Omit scope for @s; use `<...>` only when you need a different selector
|
248
251
|
|
249
252
|
## File Structure Example
|
250
253
|
|