minecraft-datapack-language 16.0.9__py3-none-any.whl → 16.0.10__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 = '16.0.9'
32
- __version_tuple__ = version_tuple = (16, 0, 9)
31
+ __version__ = version = '16.0.10'
32
+ __version_tuple__ = version_tuple = (16, 0, 10)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -29,6 +29,8 @@ class MDLCompiler:
29
29
  self.dir_map: Optional[DirMap] = None
30
30
  self.current_namespace = "mdl"
31
31
  self.variables: Dict[str, str] = {} # name -> objective mapping
32
+ # Preserve declared variables so we can initialize defaults in load.mcfunction
33
+ self.declared_variables: List[VariableDeclaration] = []
32
34
  # Track any temporary scoreboard variables generated during compilation
33
35
  self.temp_variables: Set[str] = set()
34
36
 
@@ -123,6 +125,7 @@ class MDLCompiler:
123
125
  for var in variables:
124
126
  objective_name = var.name
125
127
  self.variables[var.name] = objective_name
128
+ self.declared_variables.append(var)
126
129
  print(f"Variable: {var.name} -> scoreboard objective '{objective_name}'")
127
130
 
128
131
  def _compile_functions(self, functions: List[FunctionDeclaration], data_dir: Path):
@@ -301,6 +304,33 @@ class MDLCompiler:
301
304
  for var_name, objective in self.variables.items():
302
305
  lines.append(f"scoreboard objectives add {objective} dummy \"{var_name}\"")
303
306
 
307
+ # Initialize declared variables with explicit initial values
308
+ # Use @a for any @s-scoped variable since load runs without an executor
309
+ for decl in self.declared_variables:
310
+ if getattr(decl, 'initial_value', None) is None:
311
+ continue
312
+ objective = self.variables.get(decl.name, decl.name)
313
+ scope = decl.scope.strip("<>") if decl.scope else "@a"
314
+ if scope == "@s":
315
+ scope = "@a"
316
+ init = decl.initial_value
317
+ from .ast_nodes import LiteralExpression, VariableSubstitution
318
+ if isinstance(init, LiteralExpression):
319
+ # Normalize number to int if possible
320
+ val = init.value
321
+ try:
322
+ v = float(val)
323
+ val_str = str(int(v)) if v.is_integer() else str(v)
324
+ except Exception:
325
+ val_str = str(val)
326
+ lines.append(f"scoreboard players set {scope} {objective} {val_str}")
327
+ elif isinstance(init, VariableSubstitution):
328
+ src_obj = self.variables.get(init.name, init.name)
329
+ src_scope = init.scope.strip("<>") if init.scope else "@a"
330
+ if src_scope == "@s":
331
+ src_scope = "@a"
332
+ lines.append(f"scoreboard players operation {scope} {objective} = {src_scope} {src_obj}")
333
+
304
334
  lines.append("")
305
335
 
306
336
  # Add on_load hook calls
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 16.0.9
3
+ Version: 16.0.10
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=AgQ3-U3QvZRWaep60aMJS4uzMmg1zOKYeKdKmJUIvl8,706
2
+ minecraft_datapack_language/_version.py,sha256=dZda77pKR25C-gzKOLtFrN3v3AWdh2iDLxfsjCp57hA,708
3
3
  minecraft_datapack_language/ast_nodes.py,sha256=L5izavSeXDr766vsfRvJrcnflXNJyXcy0WSfyJPq2ZA,4484
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=0I_M31_X5kkIoOkpRLY2atFadnykw9Vhzgm8PfIK9Q0,48608
6
+ minecraft_datapack_language/mdl_compiler.py,sha256=_-Ieu3GKjVfubpg2YZYiqAriAEbNHTpBg8QFOf8j9_Q,50198
7
7
  minecraft_datapack_language/mdl_errors.py,sha256=r0Gu3KhoX1YLPAVW_iO7Q_fPgaf_Dv9tOGSOdKNSzmw,16114
8
8
  minecraft_datapack_language/mdl_lexer.py,sha256=rfsW2QNcZxa9HAHpU9HFReshQSmjOrrK6xY_r43mKFk,23485
9
9
  minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYaLDcGNRAl-RAI,17253
10
10
  minecraft_datapack_language/mdl_parser.py,sha256=Krk7Y_E9OKNCcsDOCT7ATvQLbJII951AU2qzEY00GLE,26068
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-16.0.9.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
14
- minecraft_datapack_language-16.0.9.dist-info/METADATA,sha256=Feg5iSn6rbKF9QnHPQnM7mF6FqbYtjzXSmZI8HOLhuw,8343
15
- minecraft_datapack_language-16.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- minecraft_datapack_language-16.0.9.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
17
- minecraft_datapack_language-16.0.9.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
18
- minecraft_datapack_language-16.0.9.dist-info/RECORD,,
13
+ minecraft_datapack_language-16.0.10.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
14
+ minecraft_datapack_language-16.0.10.dist-info/METADATA,sha256=pbOEaWKauZwcBrJkRDbNSbAKvJB3rsveGNxzhMsGmAE,8344
15
+ minecraft_datapack_language-16.0.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ minecraft_datapack_language-16.0.10.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
17
+ minecraft_datapack_language-16.0.10.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
18
+ minecraft_datapack_language-16.0.10.dist-info/RECORD,,