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.
@@ -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.89'
32
- __version_tuple__ = version_tuple = (15, 1, 89)
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: # Add text component if not empty
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
- # Combine all components
282
- components_str = ','.join(components)
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, output_dir: Path = None) -> List[str]:
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, output_dir))
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 parameter
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(), None)
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.89
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=ObDGX9vqgStavy3kxAxz1JvfSrbCphoqcEjTATobpMs,708
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=Ac4KcP0DQrmyJNVvcWa5C3lJiKNYcKJBSrUyyu8_joQ,41928
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.89.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.1.89.dist-info/METADATA,sha256=MbIGaFhie0yThP2slKqSU_DXrRaodp-FIxCWYEYf6F8,35230
21
- minecraft_datapack_language-15.1.89.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.1.89.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.1.89.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.1.89.dist-info/RECORD,,
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,,