minecraft-datapack-language 15.3.9__py3-none-any.whl → 15.3.11__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.3.9'
32
- __version_tuple__ = version_tuple = (15, 3, 9)
31
+ __version__ = version = '15.3.11'
32
+ __version_tuple__ = version_tuple = (15, 3, 11)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -218,18 +218,19 @@ def _generate_load_function(scoreboard_commands: List[str], output_dir: Path, na
218
218
  f.write('\n'.join(load_content))
219
219
 
220
220
 
221
- def _process_say_command_with_variables(content: str, selector: str) -> str:
221
+ def _process_say_command_with_variables(content: str, selector: str, variable_scopes: Dict[str, str] = None) -> str:
222
222
  """Process say command content with variable substitution, converting to tellraw with score components."""
223
223
  import re
224
224
 
225
225
  print(f"DEBUG: _process_say_command_with_variables called with content: {repr(content)}, selector: {selector}")
226
+ print(f"DEBUG: Variable scopes available: {variable_scopes}")
226
227
 
227
228
  # Clean up the content - remove quotes if present
228
229
  content = content.strip()
229
230
  if content.startswith('"') and content.endswith('"'):
230
231
  content = content[1:-1] # Remove surrounding quotes
231
232
 
232
- # Find all variable references like $variable$ or $variable<selector>$
233
+ # Look for traditional $variable$ syntax
233
234
  var_pattern = r'\$([^$]+)\$'
234
235
  matches = re.findall(var_pattern, content)
235
236
 
@@ -275,8 +276,19 @@ def _process_say_command_with_variables(content: str, selector: str) -> str:
275
276
  var_selector = var_parts[1][:-1] # Remove trailing >
276
277
  components.append(f'{{"score":{{"name":"{var_selector}","objective":"{base_var}"}}}}')
277
278
  else:
278
- # Simple variable: $variable$ - use server armor stand
279
- components.append(f'{{"score":{{"name":"@e[type=armor_stand,tag=mdl_server,limit=1]","objective":"{var_name}"}}}}')
279
+ # Simple variable: $variable$ - determine selector based on declared scope
280
+ var_selector = "@e[type=armor_stand,tag=mdl_server,limit=1]" # Default to global
281
+ if variable_scopes and var_name in variable_scopes:
282
+ declared_scope = variable_scopes[var_name]
283
+ if declared_scope == 'global':
284
+ var_selector = "@e[type=armor_stand,tag=mdl_server,limit=1]"
285
+ else:
286
+ var_selector = declared_scope
287
+ print(f"DEBUG: Variable {var_name} using declared scope {declared_scope} -> selector {var_selector}")
288
+ else:
289
+ print(f"DEBUG: Variable {var_name} has no declared scope, using default global selector")
290
+
291
+ components.append(f'{{"score":{{"name":"{var_selector}","objective":"{var_name}"}}}}')
280
292
 
281
293
  # Join components and create tellraw command
282
294
  components_str = ','.join(components)
@@ -303,7 +315,7 @@ def _process_statement(statement: Any, namespace: str, function_name: str, state
303
315
  content = command[4:] # Remove "say " prefix
304
316
  print(f"DEBUG: Say command content: {repr(content)}")
305
317
  # Convert to Minecraft tellraw format
306
- processed_command = _process_say_command_with_variables(content, selector)
318
+ processed_command = _process_say_command_with_variables(content, selector, variable_scopes)
307
319
  print(f"DEBUG: Processed say command: {repr(processed_command)}")
308
320
  commands.append(processed_command)
309
321
  elif command.startswith('tellraw @a ') or command.startswith('tellraw @ a '):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.3.9
3
+ Version: 15.3.11
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=u8xiMMddLianRPLPTYMkNK6NmyrjVCeWMdyb4ntk6sM,706
2
+ minecraft_datapack_language/_version.py,sha256=wty85STj39LbQK_ZS5i7nysrTGZlh7A4qzbRAjbOAog,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=wZBmhF3xVQ7VCZkHAZmbSmnYZQu9iKdi8akpRAE8j8g,45985
5
+ minecraft_datapack_language/cli_build.py,sha256=NLgpYfXCKiZhWD_8K_GKLvUmUlQvFNTVwQ_hCHoodhY,46785
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=Ap7EDpC5wbu1qFmC8htzd8rRqSyYugt58h0AppfDD6s,40171
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.3.9.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.3.9.dist-info/METADATA,sha256=S-yC7e80Hs0QR7bT6K9ZoW5vIz0SZxI42zweDTl0kKQ,35229
21
- minecraft_datapack_language-15.3.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.3.9.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.3.9.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.3.9.dist-info/RECORD,,
19
+ minecraft_datapack_language-15.3.11.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ minecraft_datapack_language-15.3.11.dist-info/METADATA,sha256=cZYXpnKp5sARVj6FAhyNxQrLdM8Yp4xjiogmh6R7548,35230
21
+ minecraft_datapack_language-15.3.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ minecraft_datapack_language-15.3.11.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
+ minecraft_datapack_language-15.3.11.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
+ minecraft_datapack_language-15.3.11.dist-info/RECORD,,