minecraft-datapack-language 15.1.89__py3-none-any.whl → 15.1.90__py3-none-any.whl
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/_version.py +2 -2
- minecraft_datapack_language/cli_build.py +14 -10
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/METADATA +1 -1
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/RECORD +8 -8
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/WHEEL +0 -0
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/entry_points.txt +0 -0
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/licenses/LICENSE +0 -0
- {minecraft_datapack_language-15.1.89.dist-info → minecraft_datapack_language-15.1.90.dist-info}/top_level.txt +0 -0
@@ -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.1.
|
32
|
-
__version_tuple__ = version_tuple = (15, 1,
|
31
|
+
__version__ = version = '15.1.90'
|
32
|
+
__version_tuple__ = version_tuple = (15, 1, 90)
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
@@ -261,8 +261,8 @@ def _process_say_command_with_variables(content: str, selector: str) -> str:
|
|
261
261
|
for i, part in enumerate(parts):
|
262
262
|
if i % 2 == 0:
|
263
263
|
# Text part
|
264
|
-
if part: #
|
265
|
-
components.append(f'{{"text":"{part}"}}')
|
264
|
+
if part.strip(): # Only add non-empty text parts
|
265
|
+
components.append(f'{{"text": "{part.strip()}"}}')
|
266
266
|
else:
|
267
267
|
# Variable part
|
268
268
|
var_name = part
|
@@ -278,8 +278,12 @@ def _process_say_command_with_variables(content: str, selector: str) -> str:
|
|
278
278
|
# Simple variable: $variable$ - use server armor stand
|
279
279
|
components.append(f'{{"score":{{"name":"@e[type=armor_stand,tag=mdl_server,limit=1]","objective":"{var_name}"}}}}')
|
280
280
|
|
281
|
-
|
282
|
-
|
281
|
+
for var_name in matches:
|
282
|
+
# Add score component for each variable
|
283
|
+
components.append(f'{{"score": {{"name": "@e[type=armor_stand,tag=mdl_server,limit=1]", "objective": "{var_name}"}}}}')
|
284
|
+
|
285
|
+
# Join components and create tellraw command
|
286
|
+
components_str = ', '.join(components)
|
283
287
|
return f'tellraw @a [{components_str}]'
|
284
288
|
|
285
289
|
|
@@ -643,7 +647,7 @@ def _process_while_loop_recursion(while_statement, namespace: str, function_name
|
|
643
647
|
return [f"execute if {minecraft_condition} run function {namespace}:{loop_func_name}"]
|
644
648
|
|
645
649
|
|
646
|
-
def _process_while_loop_schedule(while_statement, namespace: str, function_name: str, statement_index: int, is_tag_function: bool = False, selector: str = "@s", variable_scopes: Dict[str, str] = None, build_context: BuildContext = None
|
650
|
+
def _process_while_loop_schedule(while_statement, namespace: str, function_name: str, statement_index: int, is_tag_function: bool = False, selector: str = "@s", variable_scopes: Dict[str, str] = None, build_context: BuildContext = None) -> List[str]:
|
647
651
|
"""Process while loops using scheduled functions."""
|
648
652
|
if variable_scopes is None:
|
649
653
|
variable_scopes = {}
|
@@ -661,7 +665,7 @@ def _process_while_loop_schedule(while_statement, namespace: str, function_name:
|
|
661
665
|
# Process loop body
|
662
666
|
body_commands = []
|
663
667
|
for i, stmt in enumerate(body):
|
664
|
-
body_commands.extend(_process_statement(stmt, namespace, loop_body_func_name, i, is_tag_function, selector, variable_scopes, build_context
|
668
|
+
body_commands.extend(_process_statement(stmt, namespace, loop_body_func_name, i, is_tag_function, selector, variable_scopes, build_context))
|
665
669
|
|
666
670
|
# Add the loop continuation command
|
667
671
|
minecraft_condition = _convert_condition_to_minecraft_syntax(condition, selector)
|
@@ -669,9 +673,9 @@ def _process_while_loop_schedule(while_statement, namespace: str, function_name:
|
|
669
673
|
|
670
674
|
# Write loop body function
|
671
675
|
if body_commands:
|
672
|
-
# Use the output directory
|
673
|
-
if output_dir:
|
674
|
-
func_dir = output_dir / "data" / namespace / "function"
|
676
|
+
# Use the output directory from build context
|
677
|
+
if hasattr(build_context, 'output_dir'):
|
678
|
+
func_dir = build_context.output_dir / "data" / namespace / "function"
|
675
679
|
else:
|
676
680
|
func_dir = Path(f"data/{namespace}/function")
|
677
681
|
ensure_dir(str(func_dir))
|
@@ -736,7 +740,7 @@ def _ast_to_pack(ast: Dict[str, Any], mdl_files: List[Path]) -> Pack:
|
|
736
740
|
for i, statement in enumerate(func['body']):
|
737
741
|
try:
|
738
742
|
# Use the same processing logic as the build system
|
739
|
-
commands = _process_statement(statement, namespace_name, function_name, i, False, "@s", {}, BuildContext()
|
743
|
+
commands = _process_statement(statement, namespace_name, function_name, i, False, "@s", {}, BuildContext())
|
740
744
|
function.commands.extend(commands)
|
741
745
|
except Exception as e:
|
742
746
|
# If processing fails, try to add as simple command
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: minecraft-datapack-language
|
3
|
-
Version: 15.1.
|
3
|
+
Version: 15.1.90
|
4
4
|
Summary: Compile JavaScript-style MDL language or Python API 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
|
@@ -1,8 +1,8 @@
|
|
1
1
|
minecraft_datapack_language/__init__.py,sha256=i-qCchbe5b2Fshgc6yCU9mddOLs2UBt9SAcLqfUIrT0,606
|
2
|
-
minecraft_datapack_language/_version.py,sha256=
|
2
|
+
minecraft_datapack_language/_version.py,sha256=yOpzMLbfnlKEce2HqQmpEoDiWCl7A90X3NSpFtT_TDs,708
|
3
3
|
minecraft_datapack_language/ast_nodes.py,sha256=pgjI2Nlap3ixFPgWqGSkqncG9zB91h5BKgRjtcJqMew,2118
|
4
4
|
minecraft_datapack_language/cli.py,sha256=p5A_tEEXugN2NhQFbbgfwi4FxbWYD91RWeKR_A3Vuec,6263
|
5
|
-
minecraft_datapack_language/cli_build.py,sha256=
|
5
|
+
minecraft_datapack_language/cli_build.py,sha256=XDVazfKVMC_3Bb4yGESZ-ApOD4Im4HMuOXXovvuK7v4,42180
|
6
6
|
minecraft_datapack_language/cli_check.py,sha256=bPq9gHsxQ1CIiftkrAtRCifWkVAyjp5c8Oay2NNQ1qs,6277
|
7
7
|
minecraft_datapack_language/cli_help.py,sha256=jUTHUQBONAZKVTdQK9tNPXq4c_6xpsafNOvHDjkEldg,12243
|
8
8
|
minecraft_datapack_language/cli_new.py,sha256=uaKH0VBC43XBt_Hztc35-BfC9bYlsDdLbAfe_42rrtI,8235
|
@@ -16,9 +16,9 @@ minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYa
|
|
16
16
|
minecraft_datapack_language/mdl_parser_js.py,sha256=4VMWx6O7A10afTzjGnnwL_Sh52osIO84ObqHp8KoDZw,38677
|
17
17
|
minecraft_datapack_language/pack.py,sha256=nYiXQ3jgJlDfc4m-65f7C2LFhDRioaUU_XVy6Na4SJI,34625
|
18
18
|
minecraft_datapack_language/utils.py,sha256=Aq0HAGlXqj9BUTEjaEilpvzEW0EtZYYMMwOqG9db6dE,684
|
19
|
-
minecraft_datapack_language-15.1.
|
20
|
-
minecraft_datapack_language-15.1.
|
21
|
-
minecraft_datapack_language-15.1.
|
22
|
-
minecraft_datapack_language-15.1.
|
23
|
-
minecraft_datapack_language-15.1.
|
24
|
-
minecraft_datapack_language-15.1.
|
19
|
+
minecraft_datapack_language-15.1.90.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
20
|
+
minecraft_datapack_language-15.1.90.dist-info/METADATA,sha256=ZHZk2YphCsjnc3R1VmKHiMFTmGdV_184hC-YKhEY9yw,35230
|
21
|
+
minecraft_datapack_language-15.1.90.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
22
|
+
minecraft_datapack_language-15.1.90.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
|
23
|
+
minecraft_datapack_language-15.1.90.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
|
24
|
+
minecraft_datapack_language-15.1.90.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|