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.
- minecraft_datapack_language/_version.py +2 -2
- minecraft_datapack_language/mdl_lexer_js.py +11 -3
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/METADATA +1 -1
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/RECORD +8 -8
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/WHEEL +0 -0
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/entry_points.txt +0 -0
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/licenses/LICENSE +0 -0
- {minecraft_datapack_language-15.3.13.dist-info → minecraft_datapack_language-15.3.15.dist-info}/top_level.txt +0 -0
@@ -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.
|
32
|
-
__version_tuple__ = version_tuple = (15, 3,
|
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
|
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'
|
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.
|
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=
|
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=
|
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.
|
20
|
-
minecraft_datapack_language-15.3.
|
21
|
-
minecraft_datapack_language-15.3.
|
22
|
-
minecraft_datapack_language-15.3.
|
23
|
-
minecraft_datapack_language-15.3.
|
24
|
-
minecraft_datapack_language-15.3.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|