minecraft-datapack-language 15.3.13__py3-none-any.whl → 15.3.15__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.13'
32
- __version_tuple__ = version_tuple = (15, 3, 13)
31
+ __version__ = version = '15.3.15'
32
+ __version_tuple__ = version_tuple = (15, 3, 15)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -176,11 +176,10 @@ class MDLLexer:
176
176
 
177
177
  # Handle identifiers and keywords
178
178
  if char.isalpha() or char == '_':
179
- # Special handling for 'say' command - but be more careful about context
179
+ # Special handling for 'say' command
180
180
  if (char == 's' and
181
181
  self.current + 2 < len(source) and
182
- source[self.current:self.current + 3] == 'say' and
183
- not self._is_inside_control_structure(source)):
182
+ source[self.current:self.current + 3] == 'say'):
184
183
  self._scan_say_command(source)
185
184
  return
186
185
  else:
@@ -482,6 +481,8 @@ class MDLLexer:
482
481
 
483
482
  def _scan_say_command(self, source: str):
484
483
  """Scan a say command and its content until semicolon."""
484
+ print(f"DEBUG: _scan_say_command called at position {self.current}, char: {source[self.current:self.current+10]}")
485
+
485
486
  # Consume 'say'
486
487
  self.current += 3
487
488
  self.column += 3
@@ -499,6 +500,8 @@ class MDLLexer:
499
500
  self.column += 1
500
501
  self.current += 1
501
502
 
503
+ print(f"DEBUG: After whitespace, position {self.current}, char: {source[self.current:self.current+20]}")
504
+
502
505
  # Scan content until we find a semicolon, but preserve $variable$ syntax
503
506
  content_parts = []
504
507
  while self.current < len(source):
@@ -510,6 +513,7 @@ class MDLLexer:
510
513
 
511
514
  # Check for variable substitution syntax
512
515
  if char == '$':
516
+ print(f"DEBUG: Found $ at position {self.current}")
513
517
  # This might be the start of a variable substitution
514
518
  # Look ahead to see if it's a valid variable name
515
519
  temp_current = self.current + 1
@@ -522,11 +526,14 @@ class MDLLexer:
522
526
  variable_name += source[temp_current]
523
527
  temp_current += 1
524
528
 
529
+ print(f"DEBUG: Variable name: '{variable_name}', next char: '{source[temp_current] if temp_current < len(source) else 'EOF'}'")
530
+
525
531
  # Check if we have a valid variable substitution
526
532
  if (variable_name and
527
533
  temp_current < len(source) and
528
534
  source[temp_current] == '$' and
529
535
  (not variable_name[0].isdigit())):
536
+ print(f"DEBUG: Valid variable substitution: ${variable_name}$")
530
537
  # This is a valid variable substitution, preserve the $variable$ syntax
531
538
  content_parts.append(char)
532
539
  content_parts.append(variable_name)
@@ -566,6 +573,7 @@ class MDLLexer:
566
573
  # Create the say command token with full content
567
574
  content = ''.join(content_parts).strip()
568
575
  full_command = f"say {content};"
576
+ print(f"DEBUG: Final say command: '{full_command}'")
569
577
  self.tokens.append(Token(TokenType.SAY, full_command, say_start_line, say_start_column))
570
578
 
571
579
  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.13
3
+ Version: 15.3.15
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=fsv8gSjbJBOIzWGPPUp0moMUQelRJsUyTgniMb7owWE,708
2
+ minecraft_datapack_language/_version.py,sha256=Dz6gqvHBb2efkRfQF4uZ8HXQpxhN_1G3x2cwpbMcgaM,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=UfIYPPDlRG0n4g8sqwhN2H2sJWh2e6k-ORsU55MZ8R0,27607
14
+ minecraft_datapack_language/mdl_lexer_js.py,sha256=KjEKiqPe95gVvoSZXbTkfBzOaXJ9DZWcLO4G-Me3o1g,28133
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.13.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.3.13.dist-info/METADATA,sha256=CvH3G47WwCyaQOoMyrmbby8cZH06qGiuzDGTVoEB2J0,35230
21
- minecraft_datapack_language-15.3.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.3.13.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.3.13.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.3.13.dist-info/RECORD,,
19
+ minecraft_datapack_language-15.3.15.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ minecraft_datapack_language-15.3.15.dist-info/METADATA,sha256=5j4jsSIXhYfTeX37elYEaqs10pp4qrkhPX4BTEql5fk,35230
21
+ minecraft_datapack_language-15.3.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ minecraft_datapack_language-15.3.15.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
+ minecraft_datapack_language-15.3.15.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
+ minecraft_datapack_language-15.3.15.dist-info/RECORD,,