minecraft-datapack-language 15.4.29__tar.gz → 15.4.31__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-15.4.29/minecraft_datapack_language.egg-info → minecraft_datapack_language-15.4.31}/PKG-INFO +1 -1
- minecraft_datapack_language-15.4.31/comprehensive_error_test.mdl +30 -0
- minecraft_datapack_language-15.4.31/docs/_data/version.yml +3 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/cli-reference.md +19 -42
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/examples.md +45 -45
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/getting-started.md +17 -17
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/multi-file-projects.md +7 -7
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/python-api.md +3 -3
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/vscode-extension.md +1 -1
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/index.md +11 -12
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/__init__.py +6 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/_version.py +3 -3
- minecraft_datapack_language-15.4.31/minecraft_datapack_language/cli.py +296 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31/minecraft_datapack_language.egg-info}/PKG-INFO +1 -1
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language.egg-info/SOURCES.txt +6 -0
- minecraft_datapack_language-15.4.31/tellraw_variables_test.mdl +62 -0
- minecraft_datapack_language-15.4.31/test_project/complex_test.mdl +27 -0
- minecraft_datapack_language-15.4.31/test_simple.mdl +11 -0
- minecraft_datapack_language-15.4.29/docs/_data/version.yml +0 -3
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.cursor/rules/aispec.mdc +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/actions/mdl-compile/action.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/ci.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/docs.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/pypi.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/release.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/test-examples.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.github/workflows/update-website-version.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/.gitignore +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/CONDITIONALS_IMPLEMENTATION.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/LICENSE +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/Makefile +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/README.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/advancements/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/advancements/first_spell.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/advancements/other_advancement.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/advancements/test_advancement.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/complex_scopes/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/complex_scopes/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_basic_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_complex_if_if_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_complex_expressions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_complex_expressions_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_variable_substitution_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_with_raw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_with_scopes_if_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_with_tellraw_else_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_with_tellraw_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_control_with_tellraw_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_else_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_if_else_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_else_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_else_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_else_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_2_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/comprehensive_control_test/function/test_nested_if_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/control_test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/control_test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/control_test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/if_test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/if_test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_else_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_if_3_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_if_3_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_if_3_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/conditional_demo_if_3_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/countdown_while_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/countdown_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/increase_tick_per_player_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/increase_tick_per_player_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/loop_demo_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/loop_demo_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/loop_demo_while_body_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/loop_demo_while_body_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/loop_demo_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_else_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_if_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_6.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_7.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/main_while_body_7.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/scoreboard_demo_while_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/scoreboard_demo_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/scoreboard_demo_while_body_3_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/start_game_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/start_game_if_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/start_game_while_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/start_game_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_while_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_while_while_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_while_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_basic_while_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_if_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_if_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2_else_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2_if_1_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_nested_control_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_scope_scenarios_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_scope_scenarios_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_scope_scenarios_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_scope_scenarios_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_while_while_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_while_while_6.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_while_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_complex_while_while_body_6.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_complex_expressions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_complex_expressions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_complex_expressions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_complex_expressions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_error_handling_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_error_handling_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_error_handling_while_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_error_handling_while_body_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_body_4_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_performance_while_body_4_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_scoped_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_scoped_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_scoped_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_scoped_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_variable_substitution_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_variable_substitution_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_variable_substitution_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_variable_substitution_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_assignments_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_assignments_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_assignments_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_assignments_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_functions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_functions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_functions_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_functions_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_raw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_raw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_raw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_scopes_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_scopes_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_scopes_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_scopes_if_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_tellraw_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_tellraw_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_tellraw_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_tellraw_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_control_with_tellraw_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_else_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_else_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_if_else_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_else_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_else_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_else_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_1_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_1_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_1_if_0_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_1_if_0_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_2_else_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_nested_if_if_2_if_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_while_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_while_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_while_body_4.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_conditionals_while_body_5.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_interactions_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_interactions_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_scope_interactions_if_3.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_while_break_while_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_while_break_while_body_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_while_break_while_body_2_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/test_while_break_while_body_2_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/tick_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/tick_if_2.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/tick_if_2_while_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/tick_if_2_while_body_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/weapon_effects_else_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test/function/weapon_effects_if_1.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test_final_template_fixed/function/main_else_8.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/test_final_template_fixed/function/main_if_8.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/while_test/function/main_while_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/data/while_test/function/main_while_body_0.mcfunction +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/dist.zip +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/.env +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/404.html +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/Gemfile +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/README.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_config.yml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/contributing.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/docs-hub.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/documentation.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/language-reference.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_includes/head-custom.html +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_includes/navigation.html +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_layouts/default.html +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_layouts/page.html +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_plugins/test_version.rb +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_plugins/version_reader.rb +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/assets/css/style.css +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/docs.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/downloads.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/icon-128.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/icon-256.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/icon-512.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/icons/icon-64.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/examples/hello_world.mdl +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/examples/scope_examples.mdl +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/examples/simple_counter.mdl +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/icon-128.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/icon-256.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/icon-512.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/icons/icon-64.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/item_modifiers/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/item_modifiers/enchant_tool.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/item_modifiers/test_item_modifier.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/loot_tables/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/loot_tables/epic_loot.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/loot_tables/main_loot.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/loot_tables/test_loot.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/ast_nodes.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/dir_map.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/mdl_compiler.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/mdl_errors.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/mdl_lexer.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/mdl_linter.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/mdl_parser.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language/utils.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language.egg-info/dependency_links.txt +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language.egg-info/entry_points.txt +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language.egg-info/requires.txt +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/minecraft_datapack_language.egg-info/top_level.txt +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/my_awesome_pack/README.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/my_awesome_pack/minecraft_datapack_language.mdl +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/predicates/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/predicates/has_mana.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/predicates/other_predicate.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/predicates/test_predicate.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/pyproject.toml +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/custom_pickaxe.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/first.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/inlet.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/main_recipe.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/outlet.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/pipe.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/second.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/test_recipe.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/recipes/wrench.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/UpdateMDL.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/bootstrap.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/bootstrap.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/build_pkg.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/build_pkg.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/dev_build.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/dev_build.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/dev_setup.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/dev_setup.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/git-bash/bootstrap-gitbash.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/git-bash/build_pkg-gitbash.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/git-bash/test_cli-gitbash.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/release.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/test_cli.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/test_cli.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/test_dev.ps1 +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/test_dev.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/update_docs.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/scripts/update_version_info.sh +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/setup.cfg +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/structures/diamond_sword.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/structures/test_structure.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/structures/workshop.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/test_all_registry.mdl +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/test_complex_scenarios.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/test_comprehensive_end_to_end.py +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/README.md +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/favicon-16.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/favicon-32.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/favicon-48.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/favicon-64.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/icon-1024.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/icon-128.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/icon-256.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/icons/icon-512.png +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/language-configuration.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/package-lock.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/package.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/snippets/mdl.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/src/extension.ts +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/syntaxes/mdl.tmLanguage.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/themes/mdl-color-theme.json +0 -0
- {minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/vscode-extension/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: minecraft-datapack-language
|
3
|
-
Version: 15.4.
|
3
|
+
Version: 15.4.31
|
4
4
|
Summary: Compile MDL language with explicit scoping into a Minecraft datapack (1.21+ ready). Features variables, control flow, error handling, and VS Code extension.
|
5
5
|
Project-URL: Homepage, https://www.mcmdl.com
|
6
6
|
Project-URL: Documentation, https://www.mcmdl.com/docs
|
@@ -0,0 +1,30 @@
|
|
1
|
+
pack "comprehensive_error_test" "Testing comprehensive error reporting" 82;
|
2
|
+
namespace "comprehensive";
|
3
|
+
|
4
|
+
// Test 1: Lexer errors (should be caught)
|
5
|
+
var num counter<@s> = 0;
|
6
|
+
|
7
|
+
// Test 2: Parser errors (should be caught) - FIXED
|
8
|
+
function test:parser_error<@s> {
|
9
|
+
if $counter<@s>$ > 5 {
|
10
|
+
say "High counter!";
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
// Test 3: Unclosed string - FIXED
|
15
|
+
function test:unclosed_string<@s> {
|
16
|
+
say "This string is now closed";
|
17
|
+
}
|
18
|
+
|
19
|
+
// Test 4: Invalid scope syntax (should be caught by parser)
|
20
|
+
var num bad_scope<@a[invalid=]> = 0;
|
21
|
+
|
22
|
+
// Test 5: Missing semicolon - FIXED
|
23
|
+
var num missing_semicolon<@s> = 0;
|
24
|
+
|
25
|
+
// Test 6: Invalid function call (should be caught by parser)
|
26
|
+
function test:invalid_call<@s> {
|
27
|
+
exec test:undefined_function;
|
28
|
+
}
|
29
|
+
|
30
|
+
on_load test:parser_error<@s>;
|
@@ -47,29 +47,6 @@ mdl build --mdl . -o dist --ignore-warnings
|
|
47
47
|
|
48
48
|
### Check Command
|
49
49
|
|
50
|
-
Validate MDL files without building:
|
51
|
-
|
52
|
-
```bash
|
53
|
-
mdl check <files>
|
54
|
-
```
|
55
|
-
|
56
|
-
**Examples:**
|
57
|
-
```bash
|
58
|
-
# Check single file
|
59
|
-
mdl check hello.mdl
|
60
|
-
|
61
|
-
# Check current directory
|
62
|
-
mdl check .
|
63
|
-
|
64
|
-
# Check entire directory
|
65
|
-
mdl check myproject/
|
66
|
-
|
67
|
-
# Check with warnings suppressed
|
68
|
-
mdl check myproject/ --ignore-warnings
|
69
|
-
```
|
70
|
-
|
71
|
-
### Check Command
|
72
|
-
|
73
50
|
Validate MDL files for syntax and semantic errors:
|
74
51
|
|
75
52
|
```bash
|
@@ -103,9 +80,9 @@ The check command provides comprehensive error reporting with:
|
|
103
80
|
Error 1: MDLSyntaxError in test.mdl:15:8
|
104
81
|
Missing closing brace for if statement
|
105
82
|
Context:
|
106
|
-
13: if
|
83
|
+
13: if $score<@s>$ > 10 {
|
107
84
|
14: say "High score!"
|
108
|
-
15: score = 0
|
85
|
+
15: score<@s> = 0
|
109
86
|
16: }
|
110
87
|
|
111
88
|
Suggestion: Add closing brace '}' after line 15
|
@@ -114,7 +91,7 @@ Error 2: MDLLexerError in test.mdl:22:12
|
|
114
91
|
Unterminated string literal
|
115
92
|
Context:
|
116
93
|
20: say "Hello world
|
117
|
-
21: score = 10
|
94
|
+
21: score<@s> = 10
|
118
95
|
22: say "Goodbye
|
119
96
|
|
120
97
|
Suggestion: Add closing quote '"' at the end of line 20
|
@@ -230,7 +207,7 @@ Error 2: MDLLexerError in test.mdl:22:12
|
|
230
207
|
Unterminated string literal
|
231
208
|
Context:
|
232
209
|
20: say "Hello world
|
233
|
-
21: score = 10
|
210
|
+
21: score<@s> = 10
|
234
211
|
22: say "Goodbye
|
235
212
|
|
236
213
|
Suggestion: Add closing quote '"' at the end of line 20
|
@@ -238,10 +215,10 @@ Suggestion: Add closing quote '"' at the end of line 20
|
|
238
215
|
Error 3: MDLValidationError in test.mdl:8:5
|
239
216
|
Undefined variable 'player_score'
|
240
217
|
Context:
|
241
|
-
6: score = 10
|
242
|
-
7: lives = 3
|
243
|
-
8: player_score = 5
|
244
|
-
9: say "Score: $score
|
218
|
+
6: score<@s> = 10
|
219
|
+
7: lives<@s> = 3
|
220
|
+
8: player_score<@s> = 5
|
221
|
+
9: say "Score: $score<@s>$"
|
245
222
|
|
246
223
|
Suggestion: Declare the variable first with 'variable player_score = 0'
|
247
224
|
|
@@ -279,11 +256,11 @@ If you prefer to create files manually, you can start with:
|
|
279
256
|
pack "hello" "My first datapack" 82;
|
280
257
|
namespace "hello";
|
281
258
|
|
282
|
-
function
|
283
|
-
say Hello, Minecraft
|
259
|
+
function hello:main<@s> {
|
260
|
+
say "Hello, Minecraft!";
|
284
261
|
}
|
285
262
|
|
286
|
-
on_load
|
263
|
+
on_load hello:main<@s>;
|
287
264
|
```
|
288
265
|
|
289
266
|
2. **Check the file:**
|
@@ -321,26 +298,26 @@ MDL supports explicit scope selectors in if/while conditions, allowing you to ov
|
|
321
298
|
|
322
299
|
```mdl
|
323
300
|
// Variables with different scopes
|
324
|
-
var num playerScore = 0; // Defaults to @s
|
325
|
-
var num globalCounter
|
326
|
-
var num teamScore
|
301
|
+
var num playerScore<@s> = 0; // Defaults to @s
|
302
|
+
var num globalCounter<@a> = 0; // Global scope
|
303
|
+
var num teamScore<@a[team=red]> = 0; // Team scope
|
327
304
|
|
328
|
-
function
|
305
|
+
function hello:main<@s> {
|
329
306
|
// Use explicit scope in conditions
|
330
|
-
if
|
307
|
+
if $playerScore<@s>$ > 10 {
|
331
308
|
say "Current player score is high!";
|
332
309
|
}
|
333
310
|
|
334
|
-
if
|
311
|
+
if $globalCounter<@a>$ > 100 {
|
335
312
|
say "Global counter reached milestone!";
|
336
313
|
}
|
337
314
|
|
338
|
-
if
|
315
|
+
if $teamScore<@a[team=red]>$ > 50 {
|
339
316
|
say "Red team is winning!";
|
340
317
|
}
|
341
318
|
|
342
319
|
// Check another player's score
|
343
|
-
if
|
320
|
+
if $playerScore<@p[name=Steve]>$ > 5 {
|
344
321
|
say "Steve has a good score!";
|
345
322
|
}
|
346
323
|
}
|
{minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/examples.md
RENAMED
@@ -14,12 +14,12 @@ A simple datapack that says hello when loaded:
|
|
14
14
|
pack "hello" "A simple hello world datapack" 82;
|
15
15
|
namespace "hello";
|
16
16
|
|
17
|
-
function
|
18
|
-
say Hello, Minecraft
|
17
|
+
function hello:main<@s> {
|
18
|
+
say "Hello, Minecraft!";
|
19
19
|
tellraw @a {"text":"Welcome to my datapack!","color":"green"};
|
20
20
|
}
|
21
21
|
|
22
|
-
on_load
|
22
|
+
on_load hello:main<@s>;
|
23
23
|
```
|
24
24
|
|
25
25
|
## Counter with Scoped Variables
|
@@ -30,20 +30,20 @@ Demonstrates variables with different scopes:
|
|
30
30
|
pack "counter" "Counter example" 82;
|
31
31
|
namespace "counter";
|
32
32
|
|
33
|
-
var num globalCounter
|
34
|
-
var num playerCounter = 0; // Defaults to player-specific scope
|
33
|
+
var num globalCounter<@a> = 0;
|
34
|
+
var num playerCounter<@s> = 0; // Defaults to player-specific scope
|
35
35
|
|
36
|
-
function
|
37
|
-
globalCounter
|
38
|
-
playerCounter<@s> = playerCounter<@s
|
39
|
-
say Global: $globalCounter
|
36
|
+
function counter:increment<@s> {
|
37
|
+
globalCounter<@a> = $globalCounter<@a>$ + 1;
|
38
|
+
playerCounter<@s> = $playerCounter<@s>$ + 1;
|
39
|
+
say "Global: $globalCounter<@a>$, Player: $playerCounter<@s>$";
|
40
40
|
}
|
41
41
|
|
42
|
-
function
|
43
|
-
|
42
|
+
function counter:show_all<@s> {
|
43
|
+
exec counter:increment<@a>;
|
44
44
|
}
|
45
45
|
|
46
|
-
on_load
|
46
|
+
on_load counter:increment<@s>;
|
47
47
|
```
|
48
48
|
|
49
49
|
## While Loop Example
|
@@ -54,18 +54,18 @@ A countdown timer using a while loop:
|
|
54
54
|
pack "loops" "Loop example" 82;
|
55
55
|
namespace "loops";
|
56
56
|
|
57
|
-
var num counter
|
57
|
+
var num counter<@a> = 0;
|
58
58
|
|
59
|
-
function
|
60
|
-
counter
|
61
|
-
while
|
62
|
-
say Countdown: $counter
|
63
|
-
counter
|
59
|
+
function loops:countdown<@s> {
|
60
|
+
counter<@a> = 5;
|
61
|
+
while $counter<@a>$ > 0 {
|
62
|
+
say "Countdown: $counter<@a>$";
|
63
|
+
counter<@a> = $counter<@a>$ - 1;
|
64
64
|
}
|
65
|
-
say Blast off
|
65
|
+
say "Blast off!";
|
66
66
|
}
|
67
67
|
|
68
|
-
on_load
|
68
|
+
on_load loops:countdown<@s>;
|
69
69
|
```
|
70
70
|
|
71
71
|
## Raw Commands
|
@@ -76,14 +76,14 @@ Using raw Minecraft commands:
|
|
76
76
|
pack "raw" "Raw command example" 82;
|
77
77
|
namespace "raw";
|
78
78
|
|
79
|
-
function
|
79
|
+
function raw:custom<@s> {
|
80
80
|
// Use raw Minecraft commands
|
81
81
|
effect give @s minecraft:speed 10 1;
|
82
82
|
particle minecraft:explosion ~ ~ ~ 1 1 1 0 10;
|
83
83
|
playsound minecraft:entity.player.levelup player @s ~ ~ ~ 1 1;
|
84
84
|
}
|
85
85
|
|
86
|
-
on_load
|
86
|
+
on_load raw:custom<@s>;
|
87
87
|
```
|
88
88
|
|
89
89
|
## Complete Game Example
|
@@ -95,23 +95,23 @@ pack "game" "Complete game example" 82;
|
|
95
95
|
namespace "game";
|
96
96
|
|
97
97
|
// Variables
|
98
|
-
var num score = 0; // Defaults to player-specific scope
|
99
|
-
var num level = 1; // Defaults to player-specific scope
|
100
|
-
var num globalTimer
|
98
|
+
var num score<@s> = 0; // Defaults to player-specific scope
|
99
|
+
var num level<@s> = 1; // Defaults to player-specific scope
|
100
|
+
var num globalTimer<@a> = 0;
|
101
101
|
|
102
102
|
// Main game function
|
103
103
|
function "start_game" {
|
104
104
|
score<@s> = 0;
|
105
105
|
level<@s> = 1;
|
106
|
-
|
106
|
+
say "Game started! Level: $level<@s>$, Score: $score<@s>$";
|
107
107
|
}
|
108
108
|
|
109
109
|
// Level up function
|
110
110
|
function "level_up" {
|
111
|
-
if
|
111
|
+
if $score<@s>$ >= 100 {
|
112
112
|
level<@s> = level<@s> + 1;
|
113
113
|
score<@s> = score<@s> - 100;
|
114
|
-
say Level up! New level: $level
|
114
|
+
say "Level up! New level: $level<@s>$";
|
115
115
|
tellraw @a {"text":"Player leveled up!","color":"gold"};
|
116
116
|
}
|
117
117
|
}
|
@@ -119,16 +119,16 @@ function "level_up" {
|
|
119
119
|
// Timer function
|
120
120
|
function "update_timer" {
|
121
121
|
globalTimer<global> = globalTimer<global> + 1;
|
122
|
-
if
|
122
|
+
if $globalTimer<@a>$ >= 1200 { // 60 seconds
|
123
123
|
globalTimer<global> = 0;
|
124
|
-
say Time's up! Final score: $score
|
124
|
+
say "Time's up! Final score: $score<@s>$";
|
125
125
|
}
|
126
126
|
}
|
127
127
|
|
128
128
|
// Add score function
|
129
129
|
function "add_score" {
|
130
130
|
score<@s> = score<@s> + 10;
|
131
|
-
|
131
|
+
say "Score: $score<@s>$";
|
132
132
|
function "game:level_up";
|
133
133
|
}
|
134
134
|
|
@@ -146,9 +146,9 @@ pack "teams" "Team system example" 82;
|
|
146
146
|
namespace "teams";
|
147
147
|
|
148
148
|
// Team variables
|
149
|
-
var num redScore
|
150
|
-
var num blueScore
|
151
|
-
var num gameTimer
|
149
|
+
var num redScore<@a[team=red]> = 0;
|
150
|
+
var num blueScore<@a[team=blue]> = 0;
|
151
|
+
var num gameTimer<@a> = 0;
|
152
152
|
|
153
153
|
// Initialize teams
|
154
154
|
function "init" {
|
@@ -162,13 +162,13 @@ function "init" {
|
|
162
162
|
function "update" {
|
163
163
|
gameTimer<global> = gameTimer<global> + 1;
|
164
164
|
|
165
|
-
if
|
165
|
+
if $gameTimer<@a>$ >= 2400 { // 2 minutes
|
166
166
|
gameTimer<global> = 0;
|
167
|
-
say Game over! Red: $redScore
|
167
|
+
say "Game over! Red: $redScore<@a[team=red]>$, Blue: $blueScore<@a[team=blue]>$";
|
168
168
|
|
169
|
-
if
|
169
|
+
if $redScore<@a[team=red]>$ > $blueScore<@a[team=blue]>$ {
|
170
170
|
tellraw @a {"text":"Red team wins!","color":"red"};
|
171
|
-
} else if
|
171
|
+
} else if $blueScore<@a[team=blue]>$ > $redScore<@a[team=red]>$ {
|
172
172
|
tellraw @a {"text":"Blue team wins!","color":"blue"};
|
173
173
|
} else {
|
174
174
|
tellraw @a {"text":"It's a tie!","color":"yellow"};
|
@@ -179,13 +179,13 @@ function "update" {
|
|
179
179
|
// Add points to red team
|
180
180
|
function "red_point" {
|
181
181
|
redScore<@a[team=red]> = redScore<@a[team=red]> + 1;
|
182
|
-
|
182
|
+
say "Red team score: $redScore<@a[team=red]>$";
|
183
183
|
}
|
184
184
|
|
185
185
|
// Add points to blue team
|
186
186
|
function "blue_point" {
|
187
187
|
blueScore<@a[team=blue]> = blueScore<@a[team=blue]> + 1;
|
188
|
-
|
188
|
+
say "Blue team score: $blueScore<@a[team=blue]>$";
|
189
189
|
}
|
190
190
|
|
191
191
|
// Hooks
|
@@ -202,7 +202,7 @@ Organizing code across multiple files:
|
|
202
202
|
pack "multifile" "Multi-file example" 82;
|
203
203
|
namespace "core";
|
204
204
|
|
205
|
-
var num playerCount
|
205
|
+
var num playerCount<@a> = 0;
|
206
206
|
|
207
207
|
function "init" {
|
208
208
|
playerCount = 0;
|
@@ -217,7 +217,7 @@ on_load "core:init";
|
|
217
217
|
namespace "ui";
|
218
218
|
|
219
219
|
function "show_hud" {
|
220
|
-
tellraw @a {"text":"Players: $playerCount
|
220
|
+
tellraw @a {"text":"Players: $playerCount<@a>$","color":"green"};
|
221
221
|
}
|
222
222
|
|
223
223
|
function "update_hud" {
|
@@ -250,8 +250,8 @@ namespace "scopes";
|
|
250
250
|
|
251
251
|
// Variables with different scopes
|
252
252
|
var num playerScore = 0; // Defaults to @s
|
253
|
-
var num globalCounter
|
254
|
-
var num teamScore
|
253
|
+
var num globalCounter<@a> = 0; // Global scope
|
254
|
+
var num teamScore<@a[team=red]> = 0; // Team scope
|
255
255
|
|
256
256
|
function "main" {
|
257
257
|
// Test explicit scope overrides in if conditions
|
@@ -280,7 +280,7 @@ function "main" {
|
|
280
280
|
// Use explicit scopes in while loops too
|
281
281
|
while "$globalCounter<global>$ < 10" {
|
282
282
|
globalCounter<global> = globalCounter<global> + 1;
|
283
|
-
say "Counter: $globalCounter
|
283
|
+
say "Counter: $globalCounter<@a>$";
|
284
284
|
}
|
285
285
|
}
|
286
286
|
|
@@ -23,12 +23,12 @@ Create your first MDL file:
|
|
23
23
|
pack "hello" "My first datapack" 82;
|
24
24
|
namespace "hello";
|
25
25
|
|
26
|
-
function
|
27
|
-
say Hello, Minecraft
|
26
|
+
function hello:main<@s> {
|
27
|
+
say "Hello, Minecraft!";
|
28
28
|
tellraw @a {"text":"Welcome to my datapack!","color":"green"};
|
29
29
|
}
|
30
30
|
|
31
|
-
on_load
|
31
|
+
on_load hello:main<@s>;
|
32
32
|
```
|
33
33
|
|
34
34
|
Compile it:
|
@@ -47,17 +47,17 @@ Variables store numbers and can be scoped to different entities. MDL uses an **e
|
|
47
47
|
|
48
48
|
```mdl
|
49
49
|
// Player-specific variable (default)
|
50
|
-
var num playerScore = 0;
|
50
|
+
var num playerScore<@s> = 0;
|
51
51
|
|
52
52
|
// Server-wide variable
|
53
|
-
var num globalCounter
|
53
|
+
var num globalCounter<@a> = 0;
|
54
54
|
|
55
55
|
// Team-specific variable
|
56
|
-
var num teamScore
|
56
|
+
var num teamScore<@a[team=red]> = 0;
|
57
57
|
|
58
58
|
// Access variables with explicit scopes
|
59
59
|
playerScore<@s> = 42; // Player scope
|
60
|
-
globalCounter
|
60
|
+
globalCounter<@a> = 100; // Global scope
|
61
61
|
teamScore<@a[team=red]> = 5; // Team scope
|
62
62
|
```
|
63
63
|
|
@@ -66,11 +66,11 @@ teamScore<@a[team=red]> = 5; // Team scope
|
|
66
66
|
Use `$variable$` to read variable values. Variables automatically resolve to their declared scopes:
|
67
67
|
|
68
68
|
```mdl
|
69
|
-
say Your score: $playerScore
|
70
|
-
tellraw @a {"text":"Global counter: $globalCounter
|
69
|
+
say "Your score: $playerScore<@s>$";
|
70
|
+
tellraw @a {"text":"Global counter: $globalCounter<@a>$","color":"gold"};
|
71
71
|
|
72
|
-
if
|
73
|
-
say High score
|
72
|
+
if $playerScore<@s>$ > 100 {
|
73
|
+
say "High score!";
|
74
74
|
}
|
75
75
|
```
|
76
76
|
|
@@ -79,16 +79,16 @@ if "$playerScore$ > 100" {
|
|
79
79
|
Functions contain Minecraft commands:
|
80
80
|
|
81
81
|
```mdl
|
82
|
-
function
|
83
|
-
say This is my function
|
82
|
+
function hello:my_function<@s> {
|
83
|
+
say "This is my function!";
|
84
84
|
effect give @s minecraft:speed 10 1;
|
85
85
|
}
|
86
86
|
|
87
87
|
// Call a function
|
88
|
-
|
88
|
+
exec hello:my_function<@s>;
|
89
89
|
|
90
90
|
// Call a function for all players
|
91
|
-
|
91
|
+
exec hello:my_function<@a>;
|
92
92
|
```
|
93
93
|
|
94
94
|
### Control Structures
|
@@ -97,7 +97,7 @@ MDL supports real if/else statements and while loops:
|
|
97
97
|
|
98
98
|
```mdl
|
99
99
|
// If statement
|
100
|
-
if
|
100
|
+
if $playerScore<@s>$ > 50 {
|
101
101
|
say Great job!;
|
102
102
|
} else {
|
103
103
|
say Keep trying!;
|
@@ -157,7 +157,7 @@ namespace "example";
|
|
157
157
|
|
158
158
|
// Variables
|
159
159
|
var num playerScore = 0; // Defaults to player-specific scope
|
160
|
-
var num globalTimer
|
160
|
+
var num globalTimer<@a> = 0;
|
161
161
|
|
162
162
|
// Initialize function
|
163
163
|
function "init" {
|
@@ -17,7 +17,7 @@ Only the first file needs a pack declaration:
|
|
17
17
|
pack "my_project" "A multi-file project" 82;
|
18
18
|
namespace "core";
|
19
19
|
|
20
|
-
var num playerCount
|
20
|
+
var num playerCount<@a> = 0;
|
21
21
|
|
22
22
|
function "init" {
|
23
23
|
playerCount<global> = 0;
|
@@ -109,7 +109,7 @@ Variables from all files are automatically merged:
|
|
109
109
|
|
110
110
|
```mdl
|
111
111
|
// core.mdl
|
112
|
-
var num globalTimer
|
112
|
+
var num globalTimer<@a> = 0;
|
113
113
|
var num playerScore = 0; // Defaults to player-specific scope
|
114
114
|
```
|
115
115
|
|
@@ -126,12 +126,12 @@ When working with multiple files, you can use explicit scope selectors in condit
|
|
126
126
|
|
127
127
|
```mdl
|
128
128
|
// core.mdl
|
129
|
-
var num globalTimer
|
129
|
+
var num globalTimer<@a> = 0;
|
130
130
|
var num playerScore = 0; // Defaults to player-specific scope
|
131
131
|
|
132
132
|
function "check_status" {
|
133
133
|
// Check global timer
|
134
|
-
if "$globalTimer
|
134
|
+
if "$globalTimer<@a>$ > 1000" {
|
135
135
|
say "Game has been running for a while!";
|
136
136
|
}
|
137
137
|
|
@@ -170,11 +170,11 @@ Here's a complete example with multiple files:
|
|
170
170
|
pack "adventure" "Adventure game" 82;
|
171
171
|
namespace "core";
|
172
172
|
|
173
|
-
var num gameState
|
173
|
+
var num gameState<@a> = 0;
|
174
174
|
var num playerLevel = 1; // Defaults to player-specific scope
|
175
175
|
|
176
176
|
function "init" {
|
177
|
-
gameState
|
177
|
+
gameState<@a> = 0;
|
178
178
|
playerLevel<@s> = 1;
|
179
179
|
say Adventure game initialized!;
|
180
180
|
}
|
@@ -243,7 +243,7 @@ mdl build --mdl "main.mdl combat.mdl ui.mdl game.mdl" -o dist
|
|
243
243
|
3. **Clear naming**: Use descriptive file and namespace names
|
244
244
|
4. **Shared variables**: Declare shared variables in the main file
|
245
245
|
5. **Function organization**: Group related functions in the same file
|
246
|
-
6. **Proper scoping**: Use
|
246
|
+
6. **Proper scoping**: Use `<@a>` for server-wide variables, no scope for player-specific variables
|
247
247
|
7. **Explicit scope access**: Always access variables with their scope like `variable<scope>`
|
248
248
|
|
249
249
|
## File Structure Example
|
{minecraft_datapack_language-15.4.29 → minecraft_datapack_language-15.4.31}/docs/_docs/python-api.md
RENAMED
@@ -133,7 +133,7 @@ def create_advanced_pack():
|
|
133
133
|
|
134
134
|
# Functions with variables and control flow using explicit scopes
|
135
135
|
ns.function("variable_demo",
|
136
|
-
"var num counter
|
136
|
+
"var num counter<@a> = 0",
|
137
137
|
"counter<global> = 10",
|
138
138
|
"counter<global> = counter<global> + 5",
|
139
139
|
"if \"$counter$ >= 15\" {",
|
@@ -154,7 +154,7 @@ def create_advanced_pack():
|
|
154
154
|
)
|
155
155
|
|
156
156
|
ns.function("loop_demo",
|
157
|
-
"var num countdown
|
157
|
+
"var num countdown<@a> = 5",
|
158
158
|
"while \"$countdown$ > 0\" {",
|
159
159
|
" say Countdown: $countdown$",
|
160
160
|
" countdown<global> = countdown<global> - 1",
|
@@ -433,7 +433,7 @@ def create_complete_pack():
|
|
433
433
|
# Core namespace
|
434
434
|
core = p.namespace("core")
|
435
435
|
core.function("init",
|
436
|
-
"var num gameState
|
436
|
+
"var num gameState<@a> = 0",
|
437
437
|
"var num playerLevel = 1",
|
438
438
|
"gameState<global> = 0",
|
439
439
|
"playerLevel<@s> = 1",
|
@@ -107,7 +107,7 @@ The extension highlights the following MDL elements:
|
|
107
107
|
|
108
108
|
- **Pack declarations**: `pack "Name" description "Desc" pack_format 48`
|
109
109
|
- **Namespaces**: `namespace "example"`
|
110
|
-
- **Functions**: `function
|
110
|
+
- **Functions**: `function namespace:name<@s>`
|
111
111
|
- **Lifecycle hooks**: `on_load`, `on_tick`
|
112
112
|
- **Tags**: `tag function "minecraft:tick":`
|
113
113
|
- **Comments**: `# This is a comment`
|
@@ -130,19 +130,18 @@ pip install minecraft-datapack-language
|
|
130
130
|
```mdl
|
131
131
|
// hello.mdl
|
132
132
|
pack "My First Pack" "A simple example" 82;
|
133
|
-
|
134
133
|
namespace "example";
|
135
134
|
|
136
|
-
var num counter = 0;
|
135
|
+
var num counter<@s> = 0;
|
137
136
|
|
138
|
-
function
|
139
|
-
say Hello, Minecraft
|
137
|
+
function example:hello<@s> {
|
138
|
+
say "Hello, Minecraft!";
|
140
139
|
tellraw @a {"text":"Welcome to my datapack!","color":"green"};
|
141
|
-
counter = counter + 1;
|
142
|
-
say Counter: $counter
|
140
|
+
counter<@s> = $counter<@s>$ + 1;
|
141
|
+
say "Counter: $counter<@s>$";
|
143
142
|
}
|
144
143
|
|
145
|
-
on_load
|
144
|
+
on_load example:hello<@s>;
|
146
145
|
```
|
147
146
|
|
148
147
|
### Build and Run
|
@@ -171,11 +170,11 @@ execute unless score @s counter matches 5.. run say Low counter!
|
|
171
170
|
**MDL:**
|
172
171
|
```mdl
|
173
172
|
// Clean, readable, and maintainable
|
174
|
-
counter = counter + 1;
|
175
|
-
if
|
176
|
-
say High counter
|
173
|
+
counter<@s> = $counter<@s>$ + 1;
|
174
|
+
if $counter<@s>$ > 5 {
|
175
|
+
say "High counter!";
|
177
176
|
} else {
|
178
|
-
say Low counter
|
177
|
+
say "Low counter!";
|
179
178
|
}
|
180
179
|
```
|
181
180
|
|
@@ -196,7 +195,7 @@ if "$counter$ > 5" {
|
|
196
195
|
Write real if/else statements and while loops:
|
197
196
|
|
198
197
|
```mdl
|
199
|
-
if
|
198
|
+
if $health<@s>$ < 10 {
|
200
199
|
say Health is low!;
|
201
200
|
effect give @s minecraft:regeneration 10 1;
|
202
201
|
} else if "$health$ < 20" {
|
@@ -16,6 +16,12 @@ __all__ = [
|
|
16
16
|
"DirMap"
|
17
17
|
]
|
18
18
|
|
19
|
+
# CLI entry point
|
20
|
+
def main():
|
21
|
+
"""CLI entry point for the mdl command."""
|
22
|
+
from .cli import main as cli_main
|
23
|
+
return cli_main()
|
24
|
+
|
19
25
|
try:
|
20
26
|
from ._version import version as __version__ # written by setuptools-scm
|
21
27
|
except Exception:
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '15.4.
|
32
|
-
__version_tuple__ = version_tuple = (15, 4,
|
31
|
+
__version__ = version = '15.4.31'
|
32
|
+
__version_tuple__ = version_tuple = (15, 4, 31)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'g7e43b014b'
|