minecraft-datapack-language 15.4.42__py3-none-any.whl → 15.4.43__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.4.42'
32
- __version_tuple__ = version_tuple = (15, 4, 42)
31
+ __version__ = version = '15.4.43'
32
+ __version_tuple__ = version_tuple = (15, 4, 43)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -166,11 +166,27 @@ class MDLCompiler:
166
166
  for statement in func.body:
167
167
  cmd = self._statement_to_command(statement)
168
168
  if cmd:
169
- lines.append(cmd)
169
+ lines.append(self._ensure_macro_prefix(cmd))
170
170
  # Done routing temp commands for this function body
171
171
  self._temp_sink_stack.pop()
172
172
 
173
173
  return "\n".join(lines)
174
+
175
+ def _ensure_macro_prefix(self, text: str) -> str:
176
+ """Ensure any line containing a macro placeholder $(var) starts with '$'.
177
+ Handles multi-line text by processing each line independently.
178
+ """
179
+ import re
180
+ macro_re = re.compile(r"\$\([A-Za-z_][A-Za-z0-9_]*\)")
181
+ def process_line(line: str) -> str:
182
+ if macro_re.search(line):
183
+ stripped = line.lstrip()
184
+ if not stripped.startswith('$'):
185
+ return '$' + line
186
+ return line
187
+ if '\n' in text:
188
+ return '\n'.join(process_line(ln) for ln in text.split('\n'))
189
+ return process_line(text)
174
190
 
175
191
  def _compile_hooks(self, hooks: List[HookDeclaration], namespace_dir: Path):
176
192
  """Compile hook declarations."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.4.42
3
+ Version: 15.4.43
4
4
  Summary: Compile MDL language with explicit scoping 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,18 +1,18 @@
1
1
  minecraft_datapack_language/__init__.py,sha256=0KVXBE4ScRaRUrf83aA2tVB-y8A_jplyaxVvtHH6Uw0,1199
2
- minecraft_datapack_language/_version.py,sha256=ABeTqXifUkxtZdjz6siLkCIP2z8wQH4fvvWWue5JRi4,708
2
+ minecraft_datapack_language/_version.py,sha256=6f2gaPXMU8K3LcbQn-JSmdlistnzJIqRlovy7echBYs,708
3
3
  minecraft_datapack_language/ast_nodes.py,sha256=UzUxKLkjBisUd5Gu7sAiNXIIPIjNoRzELq4LfIFcnSY,4290
4
4
  minecraft_datapack_language/cli.py,sha256=R4QZYtox-Da9B8pr_kCg_9qc9aI-ORTah7kMkhsI5tw,10373
5
5
  minecraft_datapack_language/dir_map.py,sha256=HmxFkuvWGkzHF8o_GFb4BpuMCRc6QMw8UbmcAI8JVdY,1788
6
- minecraft_datapack_language/mdl_compiler.py,sha256=-7UKB-VkFvca3RKmSEuzqyj_4wEemPXnL8PRlNea8ZQ,41719
6
+ minecraft_datapack_language/mdl_compiler.py,sha256=9o9NXd9_szEKEmmZ0HPanFA9W8UOPOVA5Jbw-9XyM1w,42414
7
7
  minecraft_datapack_language/mdl_errors.py,sha256=r0Gu3KhoX1YLPAVW_iO7Q_fPgaf_Dv9tOGSOdKNSzmw,16114
8
8
  minecraft_datapack_language/mdl_lexer.py,sha256=dVwdgUmdQI7EJaFtoKZpq6rj5156YVjt44mMee-MDIs,23388
9
9
  minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYaLDcGNRAl-RAI,17253
10
10
  minecraft_datapack_language/mdl_parser.py,sha256=axyjdrcgqeOpbmWolasiIZAjV_RpFaP5QiafLPXAhms,25223
11
11
  minecraft_datapack_language/python_api.py,sha256=Iao1jbdeW6ekeA80BZG6gNqHVjxQJEheB3DbpVsuTZQ,12304
12
12
  minecraft_datapack_language/utils.py,sha256=Aq0HAGlXqj9BUTEjaEilpvzEW0EtZYYMMwOqG9db6dE,684
13
- minecraft_datapack_language-15.4.42.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
14
- minecraft_datapack_language-15.4.42.dist-info/METADATA,sha256=C0MQeYXEQ_Z-vpg6fSS9GsjcDVEpmKnl2m4GuAtBw9U,8344
15
- minecraft_datapack_language-15.4.42.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- minecraft_datapack_language-15.4.42.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
17
- minecraft_datapack_language-15.4.42.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
18
- minecraft_datapack_language-15.4.42.dist-info/RECORD,,
13
+ minecraft_datapack_language-15.4.43.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
14
+ minecraft_datapack_language-15.4.43.dist-info/METADATA,sha256=ZIf4a5lzXA4fLPfsIZOC38wgK9JjpnNscdutjZC3rZE,8344
15
+ minecraft_datapack_language-15.4.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ minecraft_datapack_language-15.4.43.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
17
+ minecraft_datapack_language-15.4.43.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
18
+ minecraft_datapack_language-15.4.43.dist-info/RECORD,,