minecraft-datapack-language 15.3.20__py3-none-any.whl → 15.3.22__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.3.20'
32
- __version_tuple__ = version_tuple = (15, 3, 20)
31
+ __version__ = version = '15.3.22'
32
+ __version_tuple__ = version_tuple = (15, 3, 22)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -581,13 +581,24 @@ def _generate_hook_files(ast: Dict[str, Any], output_dir: Path, namespace: str,
581
581
  if hook['hook_type'] == 'load':
582
582
  load_values.append(hook['function_name'])
583
583
 
584
- # Add pack-specific load function if pack name is available
584
+ # Add pack-specific load function if pack name is available and different from namespace
585
585
  if 'pack' in ast and 'name' in ast['pack']:
586
586
  pack_name = ast['pack']['name']
587
- load_values.append(f"{pack_name}:load")
587
+ pack_load_function = f"{pack_name}:load"
588
+ # Only add if it's not already in the list (avoids duplicates when pack name == namespace)
589
+ if pack_load_function not in load_values:
590
+ load_values.append(pack_load_function)
591
+
592
+ # Remove duplicates while preserving order
593
+ seen = set()
594
+ unique_load_values = []
595
+ for value in load_values:
596
+ if value not in seen:
597
+ seen.add(value)
598
+ unique_load_values.append(value)
588
599
 
589
600
  load_tag_content = {
590
- "values": load_values
601
+ "values": unique_load_values
591
602
  }
592
603
  write_json(str(load_tag_dir / "load.json"), load_tag_content)
593
604
 
@@ -599,8 +610,16 @@ def _generate_hook_files(ast: Dict[str, Any], output_dir: Path, namespace: str,
599
610
  tick_functions.append(f"{namespace}:{func['name']}")
600
611
 
601
612
  if tick_functions:
613
+ # Remove duplicates while preserving order
614
+ seen = set()
615
+ unique_tick_functions = []
616
+ for value in tick_functions:
617
+ if value not in seen:
618
+ seen.add(value)
619
+ unique_tick_functions.append(value)
620
+
602
621
  tick_tag_content = {
603
- "values": tick_functions
622
+ "values": unique_tick_functions
604
623
  }
605
624
  write_json(str(load_tag_dir / "tick.json"), tick_tag_content)
606
625
 
@@ -114,8 +114,8 @@ function "main" {{
114
114
  say Game over!;
115
115
  }}
116
116
 
117
- // Load function - this runs when the datapack loads
118
- function "load" {{
117
+ // Init function - this runs when the datapack loads
118
+ function "init" {{
119
119
  say [GAME] {pack_name} loaded successfully!;
120
120
  say Type: /function {project_name}:main;
121
121
  }}
@@ -149,7 +149,8 @@ raw!$
149
149
  // Example advancement (optional)
150
150
  // advancement "first_diamond" "first_diamond.json";
151
151
 
152
- on_load "{project_name}:main";
152
+ // Hook the init function to run when the datapack loads
153
+ on_load "{project_name}:init";
153
154
  '''
154
155
 
155
156
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minecraft-datapack-language
3
- Version: 15.3.20
3
+ Version: 15.3.22
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,11 +1,11 @@
1
1
  minecraft_datapack_language/__init__.py,sha256=i-qCchbe5b2Fshgc6yCU9mddOLs2UBt9SAcLqfUIrT0,606
2
- minecraft_datapack_language/_version.py,sha256=mVMtahWynBQ_pL9q1wKbEeIP72aGKSAN4H_gow9L00M,708
2
+ minecraft_datapack_language/_version.py,sha256=_j6Nog9rgLrKi1oT19URxdv0BMbvxOpA0i4dukQFomg,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=0k5h64D3rOXtuVCr9XctuKjzAl7bFhzyDaexLpmMeK8,46865
5
+ minecraft_datapack_language/cli_build.py,sha256=YEEStmQfZg4uZqbhDQc3z8jExCNJ08dAuP632wOBC7M,47610
6
6
  minecraft_datapack_language/cli_check.py,sha256=bPq9gHsxQ1CIiftkrAtRCifWkVAyjp5c8Oay2NNQ1qs,6277
7
7
  minecraft_datapack_language/cli_help.py,sha256=jUTHUQBONAZKVTdQK9tNPXq4c_6xpsafNOvHDjkEldg,12243
8
- minecraft_datapack_language/cli_new.py,sha256=lEtQ2CLgS_E0sIT1VjGSegLD8gi7ToqnFBqHXY9EDp0,8055
8
+ minecraft_datapack_language/cli_new.py,sha256=Uw-xuW6KTTRTeOsnS3wgoZnna7xA203SM8qvUUDFHTk,8112
9
9
  minecraft_datapack_language/cli_utils.py,sha256=nl22j96vpCW0XRMpD_zjwamnMU4e4LXEjACsnwiFGzs,9931
10
10
  minecraft_datapack_language/dir_map.py,sha256=HmxFkuvWGkzHF8o_GFb4BpuMCRc6QMw8UbmcAI8JVdY,1788
11
11
  minecraft_datapack_language/expression_processor.py,sha256=GN6cuRNvgI8TrV6YnEHrA9P0X-ACTT7rCBh4WlOPjSI,20140
@@ -16,9 +16,9 @@ minecraft_datapack_language/mdl_linter.py,sha256=z85xoAglENurCh30bR7kEHZ_JeMxcYa
16
16
  minecraft_datapack_language/mdl_parser_js.py,sha256=SQzc67pKls3NVnQaT0xIILGqpZYAmcZn78TQ0KIM4TE,40216
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.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
- minecraft_datapack_language-15.3.20.dist-info/METADATA,sha256=RERKgTE8iiqa1O9-pxS-QMS00d7fe9tRijLpBHuwAgw,35230
21
- minecraft_datapack_language-15.3.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- minecraft_datapack_language-15.3.20.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
- minecraft_datapack_language-15.3.20.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
- minecraft_datapack_language-15.3.20.dist-info/RECORD,,
19
+ minecraft_datapack_language-15.3.22.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ minecraft_datapack_language-15.3.22.dist-info/METADATA,sha256=mqcDwoZMHS3OoF_D9ki4DLFE0OUnZtNdJwN6EacP6Ec,35230
21
+ minecraft_datapack_language-15.3.22.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ minecraft_datapack_language-15.3.22.dist-info/entry_points.txt,sha256=c6vjBeCiyQflvPHBRyBk2nJCSfYt3Oc7Sc9V87ySi_U,108
23
+ minecraft_datapack_language-15.3.22.dist-info/top_level.txt,sha256=ADtFI476tbKLLxEAA-aJQAfg53MA3k_DOb0KTFiggfw,28
24
+ minecraft_datapack_language-15.3.22.dist-info/RECORD,,