minecraft-datapack-language 15.3.12__py3-none-any.whl → 15.3.14__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.12'
32
- __version_tuple__ = version_tuple = (15, 3, 12)
31
+ __version__ = version = '15.3.14'
32
+ __version_tuple__ = version_tuple = (15, 3, 14)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -482,6 +482,8 @@ class MDLLexer:
482
482
 
483
483
  def _scan_say_command(self, source: str):
484
484
  """Scan a say command and its content until semicolon."""
485
+ print(f"DEBUG: _scan_say_command called at position {self.current}, char: {source[self.current:self.current+10]}")
486
+
485
487
  # Consume 'say'
486
488
  self.current += 3
487
489
  self.column += 3
@@ -499,7 +501,9 @@ class MDLLexer:
499
501
  self.column += 1
500
502
  self.current += 1
501
503
 
502
- # Scan content until we find a semicolon
504
+ print(f"DEBUG: After whitespace, position {self.current}, char: {source[self.current:self.current+20]}")
505
+
506
+ # Scan content until we find a semicolon, but preserve $variable$ syntax
503
507
  content_parts = []
504
508
  while self.current < len(source):
505
509
  char = source[self.current]
@@ -508,6 +512,39 @@ class MDLLexer:
508
512
  # Found the end of the say command
509
513
  break
510
514
 
515
+ # Check for variable substitution syntax
516
+ if char == '$':
517
+ print(f"DEBUG: Found $ at position {self.current}")
518
+ # This might be the start of a variable substitution
519
+ # Look ahead to see if it's a valid variable name
520
+ temp_current = self.current + 1
521
+ temp_column = self.column + 1
522
+ variable_name = ""
523
+
524
+ # Scan potential variable name
525
+ while (temp_current < len(source) and
526
+ (source[temp_current].isalnum() or source[temp_current] == '_')):
527
+ variable_name += source[temp_current]
528
+ temp_current += 1
529
+
530
+ print(f"DEBUG: Variable name: '{variable_name}', next char: '{source[temp_current] if temp_current < len(source) else 'EOF'}'")
531
+
532
+ # Check if we have a valid variable substitution
533
+ if (variable_name and
534
+ temp_current < len(source) and
535
+ source[temp_current] == '$' and
536
+ (not variable_name[0].isdigit())):
537
+ print(f"DEBUG: Valid variable substitution: ${variable_name}$")
538
+ # This is a valid variable substitution, preserve the $variable$ syntax
539
+ content_parts.append(char)
540
+ content_parts.append(variable_name)
541
+ content_parts.append('$')
542
+
543
+ # Update position
544
+ self.current = temp_current + 1
545
+ self.column = temp_current + 1
546
+ continue
547
+
511
548
  # Add character to content
512
549
  content_parts.append(char)
513
550
 
@@ -537,6 +574,7 @@ class MDLLexer:
537
574
  # Create the say command token with full content
538
575
  content = ''.join(content_parts).strip()
539
576
  full_command = f"say {content};"
577
+ print(f"DEBUG: Final say command: '{full_command}'")
540
578
  self.tokens.append(Token(TokenType.SAY, full_command, say_start_line, say_start_column))
541
579
 
542
580
  def _scan_execute_command(self, source: str):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.3.12
3
+ Version: 15.3.14
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,5 +1,5 @@
1
1
  minecraft_datapack_language/__init__.py,sha256=i-qCchbe5b2Fshgc6yCU9mddOLs2UBt9SAcLqfUIrT0,606
2
- minecraft_datapack_language/_version.py,sha256=SEaJwGPSMY2ZYwIuCPbqTWFsxievlIY6RlkIouAEL68,708
2
+ minecraft_datapack_language/_version.py,sha256=mAWKYiG8VoJpBkohOflEwvE-sGp8IC7X5aCCZ1Li02A,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
5
  minecraft_datapack_language/cli_build.py,sha256=0k5h64D3rOXtuVCr9XctuKjzAl7bFhzyDaexLpmMeK8,46865
@@ -11,14 +11,14 @@ minecraft_datapack_language/dir_map.py,sha256=HmxFkuvWGkzHF8o_GFb4BpuMCRc6QMw8Ub
11
11
  minecraft_datapack_language/expression_processor.py,sha256=GN6cuRNvgI8TrV6YnEHrA9P0X-ACTT7rCBh4WlOPjSI,20140
12
12
  minecraft_datapack_language/linter.py,sha256=7UqbygC5JPCGg-BSOq65NB2xEJBu_OUOYIIgmHItO2M,16567
13
13
  minecraft_datapack_language/mdl_errors.py,sha256=a_-683gjF3gfGRpDMbRgCXmXD9_aYYBmLodNH6fe29A,11596
14
- minecraft_datapack_language/mdl_lexer_js.py,sha256=F8I6A2CjV1sGn8a7OgG66nRKm-0jKxQpOq3fkUgkYlA,26201
14
+ minecraft_datapack_language/mdl_lexer_js.py,sha256=uNaoTkr7efWR12yiqe19mvpA8amAnRrsiLGggnhqwCs,28235
15
15
  minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYaLDcGNRAl-RAI,17253
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.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,,
19
+ minecraft_datapack_language-15.3.14.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ minecraft_datapack_language-15.3.14.dist-info/METADATA,sha256=16Tf7q6njoeaCpuA7pYJuYTQG1WBF3yoGUa8ZZw_L3Y,35230
21
+ minecraft_datapack_language-15.3.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ minecraft_datapack_language-15.3.14.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
+ minecraft_datapack_language-15.3.14.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
+ minecraft_datapack_language-15.3.14.dist-info/RECORD,,