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.
@@ -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.69'
32
- __version_tuple__ = version_tuple = (15, 1, 69)
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
- # No variables, return simple tellraw
232
- return f'tellraw @a [{{"text":"{content}"}}]'
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.69
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=6TxlCSuF8-kojdWBSSn-IN5P1XVgmQA6v2TqLiCUpZ0,708
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=mYZlzS574q0OrHKvmV9UwwnGsAF9sPyrnd6tIb9il6U,40758
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=OF64njFa_19qGJ-1EBMI8btMs8OUi-0wGoFAQo6525U,9775
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.69.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.1.69.dist-info/METADATA,sha256=7TlpvweYFL4mHjbE_Y8N-Vq_zX6nNWROZn3pJPeUwU4,35230
21
- minecraft_datapack_language-15.1.69.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.1.69.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.1.69.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.1.69.dist-info/RECORD,,
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,,