minecraft-datapack-language 15.3.10__py3-none-any.whl → 15.3.12__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.10'
32
- __version_tuple__ = version_tuple = (15, 3, 10)
31
+ __version__ = version = '15.3.12'
32
+ __version_tuple__ = version_tuple = (15, 3, 12)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -223,39 +223,14 @@ def _process_say_command_with_variables(content: str, selector: str, variable_sc
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
- # First, check for MDL-style variable references (no $ symbols)
233
- # Look for common variable names that might be in the content
234
- if variable_scopes:
235
- for var_name, var_scope in variable_scopes.items():
236
- if var_name in content:
237
- # Found a variable reference, convert to score component
238
- if var_scope == 'global':
239
- var_selector = "@e[type=armor_stand,tag=mdl_server,limit=1]"
240
- else:
241
- var_selector = var_scope
242
-
243
- # Split content around the variable
244
- parts = content.split(var_name)
245
- if len(parts) == 2:
246
- # Build tellraw components
247
- components = []
248
- if parts[0]: # Text before variable
249
- components.append(f'{{"text":"{parts[0]}"}}')
250
- # Variable as score component
251
- components.append(f'{{"score":{{"name":"{var_selector}","objective":"{var_name}"}}}}')
252
- if parts[1]: # Text after variable
253
- components.append(f'{{"text":"{parts[1]}"}}')
254
-
255
- components_str = ','.join(components)
256
- return f'tellraw @a [{components_str}]'
257
-
258
- # Fallback: Look for traditional $variable$ syntax
233
+ # Look for traditional $variable$ syntax
259
234
  var_pattern = r'\$([^$]+)\$'
260
235
  matches = re.findall(var_pattern, content)
261
236
 
@@ -301,8 +276,19 @@ def _process_say_command_with_variables(content: str, selector: str, variable_sc
301
276
  var_selector = var_parts[1][:-1] # Remove trailing >
302
277
  components.append(f'{{"score":{{"name":"{var_selector}","objective":"{base_var}"}}}}')
303
278
  else:
304
- # Simple variable: $variable$ - use server armor stand
305
- 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}"}}}}')
306
292
 
307
293
  # Join components and create tellraw command
308
294
  components_str = ','.join(components)
@@ -328,6 +314,7 @@ def _process_statement(statement: Any, namespace: str, function_name: str, state
328
314
  # Convert say command to tellraw command
329
315
  content = command[4:] # Remove "say " prefix
330
316
  print(f"DEBUG: Say command content: {repr(content)}")
317
+ print(f"DEBUG: Raw command from AST: {repr(statement['command'])}")
331
318
  # Convert to Minecraft tellraw format
332
319
  processed_command = _process_say_command_with_variables(content, selector, variable_scopes)
333
320
  print(f"DEBUG: Processed say command: {repr(processed_command)}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.3.10
3
+ Version: 15.3.12
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=jlQaM5mHBhSD-7nY4sOnfZHzOvMmAugJtfBhm4Zwqis,708
2
+ minecraft_datapack_language/_version.py,sha256=SEaJwGPSMY2ZYwIuCPbqTWFsxievlIY6RlkIouAEL68,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=bPgcawetrB3c076uqSGILFNAPIfYpn8So4wICa93Bqw,47329
5
+ minecraft_datapack_language/cli_build.py,sha256=0k5h64D3rOXtuVCr9XctuKjzAl7bFhzyDaexLpmMeK8,46865
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.10.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.3.10.dist-info/METADATA,sha256=s11HAIHRS-uAI_zTVPeIJkp9ol4X6rGxwZ9PEHKLfCo,35230
21
- minecraft_datapack_language-15.3.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.3.10.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.3.10.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.3.10.dist-info/RECORD,,
19
+ minecraft_datapack_language-15.3.12.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ minecraft_datapack_language-15.3.12.dist-info/METADATA,sha256=Ht7RmQkajS6h7U3ruFW5VdQ23Whl_Y9R0yIl4MK6MxQ,35230
21
+ minecraft_datapack_language-15.3.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ minecraft_datapack_language-15.3.12.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
+ minecraft_datapack_language-15.3.12.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
+ minecraft_datapack_language-15.3.12.dist-info/RECORD,,