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.
- minecraft_datapack_language/_version.py +2 -2
- minecraft_datapack_language/mdl_lexer_js.py +39 -1
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.dist-info}/METADATA +1 -1
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.dist-info}/RECORD +8 -8
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.dist-info}/WHEEL +0 -0
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.dist-info}/entry_points.txt +0 -0
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.dist-info}/licenses/LICENSE +0 -0
- {minecraft_datapack_language-15.3.12.dist-info → minecraft_datapack_language-15.3.14.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.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
|
-
|
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.
|
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=
|
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=
|
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.
|
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.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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|