minecraft-datapack-language 15.1.69__py3-none-any.whl → 15.1.71__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/cli_build.py +34 -2
- minecraft_datapack_language/cli_utils.py +4 -0
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.dist-info}/METADATA +1 -1
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.dist-info}/RECORD +9 -9
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.dist-info}/WHEEL +0 -0
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.dist-info}/entry_points.txt +0 -0
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.dist-info}/licenses/LICENSE +0 -0
- {minecraft_datapack_language-15.1.69.dist-info → minecraft_datapack_language-15.1.71.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.1.
|
32
|
-
__version_tuple__ = version_tuple = (15, 1,
|
31
|
+
__version__ = version = '15.1.71'
|
32
|
+
__version_tuple__ = version_tuple = (15, 1, 71)
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
@@ -228,8 +228,40 @@ def _process_say_command_with_variables(content: str, selector: str) -> str:
|
|
228
228
|
matches = re.findall(var_pattern, content)
|
229
229
|
|
230
230
|
if not matches:
|
231
|
-
#
|
232
|
-
|
231
|
+
# Check for common variable names that might have been processed
|
232
|
+
# This handles the case where $counter$ was converted to just "counter"
|
233
|
+
word_pattern = r'\b(counter|health|score|value|num|count|timer|level)\b'
|
234
|
+
word_matches = re.findall(word_pattern, content)
|
235
|
+
|
236
|
+
if word_matches:
|
237
|
+
# Found potential variables, convert to score components
|
238
|
+
components = []
|
239
|
+
remaining_content = content
|
240
|
+
|
241
|
+
for var_name in word_matches:
|
242
|
+
# Split content around the variable name
|
243
|
+
parts = remaining_content.split(var_name, 1)
|
244
|
+
if len(parts) == 2:
|
245
|
+
# Add text before variable
|
246
|
+
if parts[0]:
|
247
|
+
components.append(f'{{"text":"{parts[0]}"}}')
|
248
|
+
|
249
|
+
# Add score component for variable
|
250
|
+
components.append(f'{{"score":{{"name":"@e[type=armor_stand,tag=mdl_server,limit=1]","objective":"{var_name}"}}}}')
|
251
|
+
|
252
|
+
# Continue with remaining content
|
253
|
+
remaining_content = parts[1]
|
254
|
+
|
255
|
+
# Add remaining text
|
256
|
+
if remaining_content:
|
257
|
+
components.append(f'{{"text":"{remaining_content}"}}')
|
258
|
+
|
259
|
+
# Combine all components
|
260
|
+
components_str = ','.join(components)
|
261
|
+
return f'tellraw @a [{components_str}]'
|
262
|
+
else:
|
263
|
+
# No variables, return simple tellraw
|
264
|
+
return f'tellraw @a [{{"text":"{content}"}}]'
|
233
265
|
|
234
266
|
# Split content by variable references while preserving the structure
|
235
267
|
parts = re.split(var_pattern, content)
|
@@ -23,6 +23,10 @@ def write_json(path: str, data: Any) -> None:
|
|
23
23
|
def _process_variable_substitutions(command: str, selector: str = "@s") -> str:
|
24
24
|
"""Process $variable$ and $variable<selector>$ substitutions in commands."""
|
25
25
|
|
26
|
+
# Skip say commands - they have their own variable substitution logic
|
27
|
+
if command.strip().startswith('say '):
|
28
|
+
return command
|
29
|
+
|
26
30
|
# Check if this is a tellraw command with JSON
|
27
31
|
if command.strip().startswith('tellraw'):
|
28
32
|
# Special handling for tellraw commands with variable substitutions
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: minecraft-datapack-language
|
3
|
-
Version: 15.1.
|
3
|
+
Version: 15.1.71
|
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,12 +1,12 @@
|
|
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=PKLNGZd-5QsGyNwZB4oYPmxB3tj23RqdTO-egU2I568,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=
|
5
|
+
minecraft_datapack_language/cli_build.py,sha256=4TFvbybSTuGftxgxwMrGHqlxwL5qpTuuxtil3OcRFks,42240
|
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
|
9
|
-
minecraft_datapack_language/cli_utils.py,sha256=
|
9
|
+
minecraft_datapack_language/cli_utils.py,sha256=R6YTvPvv2x20H3cLTVBDAgNunWbYCa8RrXtilB94OlE,9920
|
10
10
|
minecraft_datapack_language/dir_map.py,sha256=HmxFkuvWGkzHF8o_GFb4BpuMCRc6QMw8UbmcAI8JVdY,1788
|
11
11
|
minecraft_datapack_language/expression_processor.py,sha256=GN6cuRNvgI8TrV6YnEHrA9P0X-ACTT7rCBh4WlOPjSI,20140
|
12
12
|
minecraft_datapack_language/linter.py,sha256=7UqbygC5JPCGg-BSOq65NB2xEJBu_OUOYIIgmHItO2M,16567
|
@@ -16,9 +16,9 @@ minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYa
|
|
16
16
|
minecraft_datapack_language/mdl_parser_js.py,sha256=4VMWx6O7A10afTzjGnnwL_Sh52osIO84ObqHp8KoDZw,38677
|
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.1.
|
20
|
-
minecraft_datapack_language-15.1.
|
21
|
-
minecraft_datapack_language-15.1.
|
22
|
-
minecraft_datapack_language-15.1.
|
23
|
-
minecraft_datapack_language-15.1.
|
24
|
-
minecraft_datapack_language-15.1.
|
19
|
+
minecraft_datapack_language-15.1.71.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
20
|
+
minecraft_datapack_language-15.1.71.dist-info/METADATA,sha256=5lq8XA2l4sxH04WHWxGSsMPpLi4WcfuonumrluNHLe4,35230
|
21
|
+
minecraft_datapack_language-15.1.71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
22
|
+
minecraft_datapack_language-15.1.71.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
|
23
|
+
minecraft_datapack_language-15.1.71.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
|
24
|
+
minecraft_datapack_language-15.1.71.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|