amulet-core 1.9.24__tar.gz → 2.0a3__tar.gz

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.

Potentially problematic release.


This version of amulet-core might be problematic. Click here for more details.

Files changed (458) hide show
  1. amulet_core-2.0a3/MANIFEST.in +1 -0
  2. {amulet_core-1.9.24 → amulet_core-2.0a3}/PKG-INFO +103 -98
  3. {amulet_core-1.9.24 → amulet_core-2.0a3}/README.md +71 -71
  4. {amulet_core-1.9.24 → amulet_core-2.0a3}/pyproject.toml +9 -9
  5. {amulet_core-1.9.24 → amulet_core-2.0a3}/setup.cfg +75 -54
  6. amulet_core-2.0a3/setup.py +55 -0
  7. amulet_core-2.0a3/src/amulet/__init__.py.cpp +39 -0
  8. amulet_core-2.0a3/src/amulet/__init__.pyi +30 -0
  9. amulet_core-2.0a3/src/amulet/__pyinstaller/__init__.py +2 -0
  10. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/__pyinstaller/hook-amulet.py +4 -4
  11. amulet_core-2.0a3/src/amulet/_init.py +28 -0
  12. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/_version.py +21 -21
  13. amulet_core-2.0a3/src/amulet/biome.cpp +36 -0
  14. amulet_core-2.0a3/src/amulet/biome.hpp +43 -0
  15. amulet_core-2.0a3/src/amulet/biome.py.cpp +122 -0
  16. amulet_core-2.0a3/src/amulet/biome.pyi +77 -0
  17. amulet_core-2.0a3/src/amulet/block.cpp +435 -0
  18. amulet_core-2.0a3/src/amulet/block.hpp +119 -0
  19. amulet_core-2.0a3/src/amulet/block.py.cpp +377 -0
  20. amulet_core-2.0a3/src/amulet/block.pyi +273 -0
  21. amulet_core-2.0a3/src/amulet/block_entity.cpp +12 -0
  22. amulet_core-2.0a3/src/amulet/block_entity.hpp +56 -0
  23. amulet_core-2.0a3/src/amulet/block_entity.py.cpp +115 -0
  24. amulet_core-2.0a3/src/amulet/block_entity.pyi +80 -0
  25. amulet_core-2.0a3/src/amulet/chunk.cpp +16 -0
  26. amulet_core-2.0a3/src/amulet/chunk.hpp +99 -0
  27. amulet_core-2.0a3/src/amulet/chunk.py.cpp +80 -0
  28. amulet_core-2.0a3/src/amulet/chunk.pyi +30 -0
  29. amulet_core-2.0a3/src/amulet/chunk_/components/biome.py +155 -0
  30. amulet_core-2.0a3/src/amulet/chunk_/components/block_entity.py +117 -0
  31. amulet_core-2.0a3/src/amulet/chunk_/components/entity.py +64 -0
  32. amulet_core-2.0a3/src/amulet/chunk_/components/height_2d.py +16 -0
  33. amulet_core-2.0a3/src/amulet/chunk_components/_init_chunk_components.py.cpp +11 -0
  34. amulet_core-2.0a3/src/amulet/chunk_components/biome_3d_component.cpp +5 -0
  35. amulet_core-2.0a3/src/amulet/chunk_components/biome_3d_component.hpp +79 -0
  36. amulet_core-2.0a3/src/amulet/chunk_components/block_component.cpp +41 -0
  37. amulet_core-2.0a3/src/amulet/chunk_components/block_component.hpp +88 -0
  38. amulet_core-2.0a3/src/amulet/chunk_components/block_component.py.cpp +51 -0
  39. amulet_core-2.0a3/src/amulet/chunk_components/block_entity_component.cpp +5 -0
  40. amulet_core-2.0a3/src/amulet/chunk_components/block_entity_component.hpp +146 -0
  41. amulet_core-2.0a3/src/amulet/chunk_components/section_array_map.cpp +129 -0
  42. amulet_core-2.0a3/src/amulet/chunk_components/section_array_map.hpp +147 -0
  43. amulet_core-2.0a3/src/amulet/chunk_components/section_array_map.py.cpp +271 -0
  44. amulet_core-2.0a3/src/amulet/chunk_components.pyi +95 -0
  45. amulet_core-2.0a3/src/amulet/collections/collections.py.cpp +19 -0
  46. amulet_core-2.0a3/src/amulet/collections/eq.py.hpp +37 -0
  47. amulet_core-2.0a3/src/amulet/collections/hash.py.hpp +27 -0
  48. amulet_core-2.0a3/src/amulet/collections/holder.py.cpp +11 -0
  49. amulet_core-2.0a3/src/amulet/collections/holder.py.hpp +37 -0
  50. amulet_core-2.0a3/src/amulet/collections/iterator.py.cpp +36 -0
  51. amulet_core-2.0a3/src/amulet/collections/iterator.py.hpp +80 -0
  52. amulet_core-2.0a3/src/amulet/collections/mapping.py.cpp +44 -0
  53. amulet_core-2.0a3/src/amulet/collections/mapping.py.hpp +192 -0
  54. amulet_core-2.0a3/src/amulet/collections/mutable_mapping.py.cpp +31 -0
  55. amulet_core-2.0a3/src/amulet/collections/mutable_mapping.py.hpp +215 -0
  56. amulet_core-2.0a3/src/amulet/collections/sequence.py.hpp +163 -0
  57. amulet_core-2.0a3/src/amulet/collections.pyi +37 -0
  58. amulet_core-2.0a3/src/amulet/data_types.py +29 -0
  59. amulet_core-2.0a3/src/amulet/entity.py +180 -0
  60. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/errors.py +63 -119
  61. amulet_core-2.0a3/src/amulet/game/__init__.py +7 -0
  62. amulet_core-2.0a3/src/amulet/game/_game.py +152 -0
  63. amulet_core-2.0a3/src/amulet/game/_universal/__init__.py +1 -0
  64. amulet_core-2.0a3/src/amulet/game/_universal/_biome.py +17 -0
  65. amulet_core-2.0a3/src/amulet/game/_universal/_block.py +47 -0
  66. amulet_core-2.0a3/src/amulet/game/_universal/_version.py +68 -0
  67. amulet_core-2.0a3/src/amulet/game/abc/__init__.py +22 -0
  68. amulet_core-2.0a3/src/amulet/game/abc/_block_specification.py +150 -0
  69. amulet_core-2.0a3/src/amulet/game/abc/biome.py +213 -0
  70. amulet_core-2.0a3/src/amulet/game/abc/block.py +331 -0
  71. amulet_core-2.0a3/src/amulet/game/abc/game_version_container.py +25 -0
  72. amulet_core-2.0a3/src/amulet/game/abc/json_interface.py +27 -0
  73. amulet_core-2.0a3/src/amulet/game/abc/version.py +44 -0
  74. amulet_core-2.0a3/src/amulet/game/bedrock/__init__.py +1 -0
  75. amulet_core-2.0a3/src/amulet/game/bedrock/_biome.py +35 -0
  76. amulet_core-2.0a3/src/amulet/game/bedrock/_block.py +42 -0
  77. amulet_core-2.0a3/src/amulet/game/bedrock/_version.py +165 -0
  78. amulet_core-2.0a3/src/amulet/game/java/__init__.py +2 -0
  79. amulet_core-2.0a3/src/amulet/game/java/_biome.py +35 -0
  80. amulet_core-2.0a3/src/amulet/game/java/_block.py +60 -0
  81. amulet_core-2.0a3/src/amulet/game/java/_version.py +176 -0
  82. amulet_core-2.0a3/src/amulet/game/translate/__init__.py +12 -0
  83. amulet_core-2.0a3/src/amulet/game/translate/_functions/__init__.py +15 -0
  84. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/_text.py +553 -0
  85. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/banner_pattern.py +67 -0
  86. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/bedrock_chest_connection.py +152 -0
  87. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/bedrock_moving_block_pos.py +88 -0
  88. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/bedrock_sign.py +152 -0
  89. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/bedrock_skull_rotation.py +16 -0
  90. amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions/custom_name.py +146 -0
  91. amulet_core-2.0a3/src/amulet/game/translate/_functions/_frozen.py +66 -0
  92. amulet_core-2.0a3/src/amulet/game/translate/_functions/_state.py +54 -0
  93. amulet_core-2.0a3/src/amulet/game/translate/_functions/_typing.py +98 -0
  94. amulet_core-2.0a3/src/amulet/game/translate/_functions/abc.py +116 -0
  95. amulet_core-2.0a3/src/amulet/game/translate/_functions/carry_nbt.py +160 -0
  96. amulet_core-2.0a3/src/amulet/game/translate/_functions/carry_properties.py +80 -0
  97. amulet_core-2.0a3/src/amulet/game/translate/_functions/code.py +143 -0
  98. amulet_core-2.0a3/src/amulet/game/translate/_functions/map_block_name.py +66 -0
  99. amulet_core-2.0a3/src/amulet/game/translate/_functions/map_nbt.py +111 -0
  100. amulet_core-2.0a3/src/amulet/game/translate/_functions/map_properties.py +93 -0
  101. amulet_core-2.0a3/src/amulet/game/translate/_functions/multiblock.py +112 -0
  102. amulet_core-2.0a3/src/amulet/game/translate/_functions/new_block.py +42 -0
  103. amulet_core-2.0a3/src/amulet/game/translate/_functions/new_entity.py +43 -0
  104. amulet_core-2.0a3/src/amulet/game/translate/_functions/new_nbt.py +206 -0
  105. amulet_core-2.0a3/src/amulet/game/translate/_functions/new_properties.py +64 -0
  106. amulet_core-2.0a3/src/amulet/game/translate/_functions/sequence.py +51 -0
  107. amulet_core-2.0a3/src/amulet/game/translate/_functions/walk_input_nbt.py +331 -0
  108. amulet_core-2.0a3/src/amulet/game/translate/_translator.py +433 -0
  109. amulet_core-2.0a3/src/amulet/io/binary_reader.hpp +44 -0
  110. amulet_core-2.0a3/src/amulet/io/binary_writer.hpp +30 -0
  111. amulet_core-2.0a3/src/amulet/item.py +75 -0
  112. amulet_core-2.0a3/src/amulet/level/__init__.pyi +27 -0
  113. amulet_core-2.0a3/src/amulet/level/_init_level.py.cpp +30 -0
  114. amulet_core-2.0a3/src/amulet/level/_load.py +100 -0
  115. amulet_core-2.0a3/src/amulet/level/abc/__init__.py +12 -0
  116. amulet_core-2.0a3/src/amulet/level/abc/_chunk_handle.py +335 -0
  117. amulet_core-2.0a3/src/amulet/level/abc/_dimension.py +86 -0
  118. amulet_core-2.0a3/src/amulet/level/abc/_history/__init__.py +1 -0
  119. amulet_core-2.0a3/src/amulet/level/abc/_history/_cache.py +224 -0
  120. amulet_core-2.0a3/src/amulet/level/abc/_history/_history_manager.py +291 -0
  121. amulet_core-2.0a3/src/amulet/level/abc/_level/__init__.py +5 -0
  122. amulet_core-2.0a3/src/amulet/level/abc/_level/_compactable_level.py +10 -0
  123. amulet_core-2.0a3/src/amulet/level/abc/_level/_creatable_level.py +29 -0
  124. amulet_core-2.0a3/src/amulet/level/abc/_level/_disk_level.py +17 -0
  125. amulet_core-2.0a3/src/amulet/level/abc/_level/_level.py +453 -0
  126. amulet_core-2.0a3/src/amulet/level/abc/_level/_loadable_level.py +42 -0
  127. amulet_core-2.0a3/src/amulet/level/abc/_player_storage.py +7 -0
  128. amulet_core-2.0a3/src/amulet/level/abc/_raw_level.py +187 -0
  129. amulet_core-2.0a3/src/amulet/level/abc/_registry.py +40 -0
  130. amulet_core-2.0a3/src/amulet/level/bedrock/__init__.py +2 -0
  131. amulet_core-2.0a3/src/amulet/level/bedrock/_chunk_handle.py +19 -0
  132. amulet_core-2.0a3/src/amulet/level/bedrock/_dimension.py +22 -0
  133. amulet_core-2.0a3/src/amulet/level/bedrock/_level.py +187 -0
  134. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/__init__.py +5 -0
  135. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_actor_counter.py +53 -0
  136. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_chunk.py +54 -0
  137. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_chunk_decode.py +668 -0
  138. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_chunk_encode.py +602 -0
  139. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_constant.py +9 -0
  140. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_dimension.py +343 -0
  141. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_level.py +463 -0
  142. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_level_dat.py +90 -0
  143. amulet_core-2.0a3/src/amulet/level/bedrock/_raw/_typing.py +6 -0
  144. {amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk → amulet_core-2.0a3/src/amulet/level/bedrock/_raw}/leveldb_chunk_versions.py +83 -79
  145. amulet_core-2.0a3/src/amulet/level/bedrock/chunk/__init__.py +1 -0
  146. amulet_core-2.0a3/src/amulet/level/bedrock/chunk/_chunk.py +126 -0
  147. amulet_core-2.0a3/src/amulet/level/bedrock/chunk/components/chunk_version.py +12 -0
  148. amulet_core-2.0a3/src/amulet/level/bedrock/chunk/components/finalised_state.py +13 -0
  149. amulet_core-2.0a3/src/amulet/level/bedrock/chunk/components/raw_chunk.py +15 -0
  150. amulet_core-2.0a3/src/amulet/level/java/__init__.pyi +21 -0
  151. amulet_core-2.0a3/src/amulet/level/java/__init_java.py.cpp +26 -0
  152. amulet_core-2.0a3/src/amulet/level/java/_chunk_handle.py +17 -0
  153. amulet_core-2.0a3/src/amulet/level/java/_chunk_handle.pyi +15 -0
  154. amulet_core-2.0a3/src/amulet/level/java/_dimension.py +20 -0
  155. amulet_core-2.0a3/src/amulet/level/java/_dimension.pyi +13 -0
  156. amulet_core-2.0a3/src/amulet/level/java/_level.py +184 -0
  157. amulet_core-2.0a3/src/amulet/level/java/_level.pyi +120 -0
  158. amulet_core-2.0a3/src/amulet/level/java/_raw/__init__.pyi +19 -0
  159. amulet_core-2.0a3/src/amulet/level/java/_raw/__init_java_raw.py.cpp +36 -0
  160. amulet_core-2.0a3/src/amulet/level/java/_raw/_chunk.pyi +23 -0
  161. amulet_core-2.0a3/src/amulet/level/java/_raw/_chunk_decode.py +561 -0
  162. amulet_core-2.0a3/src/amulet/level/java/_raw/_chunk_encode.py +463 -0
  163. amulet_core-2.0a3/src/amulet/level/java/_raw/_constant.py +9 -0
  164. amulet_core-2.0a3/src/amulet/level/java/_raw/_constant.pyi +20 -0
  165. {amulet_core-1.9.24/amulet/level/formats/anvil_world/data_pack → amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack}/__init__.py +2 -2
  166. amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack/__init__.pyi +8 -0
  167. {amulet_core-1.9.24/amulet/level/formats/anvil_world/data_pack → amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack}/data_pack.py +241 -224
  168. amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack/data_pack.pyi +197 -0
  169. {amulet_core-1.9.24/amulet/level/formats/anvil_world/data_pack → amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack}/data_pack_manager.py +77 -77
  170. amulet_core-2.0a3/src/amulet/level/java/_raw/_data_pack/data_pack_manager.pyi +75 -0
  171. amulet_core-2.0a3/src/amulet/level/java/_raw/_dimension.py +86 -0
  172. amulet_core-2.0a3/src/amulet/level/java/_raw/_dimension.pyi +72 -0
  173. amulet_core-2.0a3/src/amulet/level/java/_raw/_level.py +507 -0
  174. amulet_core-2.0a3/src/amulet/level/java/_raw/_level.pyi +238 -0
  175. amulet_core-2.0a3/src/amulet/level/java/_raw/_typing.py +3 -0
  176. amulet_core-2.0a3/src/amulet/level/java/_raw/_typing.pyi +5 -0
  177. amulet_core-2.0a3/src/amulet/level/java/_raw/java_chunk_decode.cpp +533 -0
  178. amulet_core-2.0a3/src/amulet/level/java/_raw/java_chunk_decode.hpp +23 -0
  179. amulet_core-2.0a3/src/amulet/level/java/_raw/java_chunk_encode.cpp +25 -0
  180. amulet_core-2.0a3/src/amulet/level/java/_raw/java_chunk_encode.hpp +23 -0
  181. amulet_core-2.0a3/src/amulet/level/java/anvil/__init__.py +2 -0
  182. amulet_core-2.0a3/src/amulet/level/java/anvil/__init__.pyi +11 -0
  183. amulet_core-1.9.24/amulet/level/formats/anvil_world/dimension.py → amulet_core-2.0a3/src/amulet/level/java/anvil/_dimension.py +170 -177
  184. amulet_core-2.0a3/src/amulet/level/java/anvil/_dimension.pyi +109 -0
  185. amulet_core-1.9.24/amulet/level/formats/anvil_world/region.py → amulet_core-2.0a3/src/amulet/level/java/anvil/_region.py +421 -432
  186. amulet_core-2.0a3/src/amulet/level/java/anvil/_region.pyi +197 -0
  187. {amulet_core-1.9.24/amulet/level/formats/anvil_world → amulet_core-2.0a3/src/amulet/level/java/anvil}/_sector_manager.py +223 -291
  188. amulet_core-2.0a3/src/amulet/level/java/anvil/_sector_manager.pyi +142 -0
  189. amulet_core-2.0a3/src/amulet/level/java/chunk.pyi +81 -0
  190. amulet_core-2.0a3/src/amulet/level/java/chunk_/_chunk.py +260 -0
  191. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/inhabited_time.py +12 -0
  192. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/last_update.py +12 -0
  193. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/legacy_version.py +12 -0
  194. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/light_populated.py +12 -0
  195. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/named_height_2d.py +37 -0
  196. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/status.py +11 -0
  197. amulet_core-2.0a3/src/amulet/level/java/chunk_/components/terrain_populated.py +12 -0
  198. amulet_core-2.0a3/src/amulet/level/java/chunk_components/_init_java_chunk_components.py.cpp +13 -0
  199. amulet_core-2.0a3/src/amulet/level/java/chunk_components/data_version_component.cpp +32 -0
  200. amulet_core-2.0a3/src/amulet/level/java/chunk_components/data_version_component.hpp +31 -0
  201. amulet_core-2.0a3/src/amulet/level/java/chunk_components/data_version_component.py.cpp +23 -0
  202. amulet_core-2.0a3/src/amulet/level/java/chunk_components/java_raw_chunk_component.cpp +56 -0
  203. amulet_core-2.0a3/src/amulet/level/java/chunk_components/java_raw_chunk_component.hpp +45 -0
  204. amulet_core-2.0a3/src/amulet/level/java/chunk_components/java_raw_chunk_component.py.cpp +51 -0
  205. amulet_core-2.0a3/src/amulet/level/java/chunk_components.pyi +22 -0
  206. amulet_core-2.0a3/src/amulet/level/java/java_chunk.cpp +170 -0
  207. amulet_core-2.0a3/src/amulet/level/java/java_chunk.hpp +141 -0
  208. amulet_core-2.0a3/src/amulet/level/java/java_chunk.py.cpp +161 -0
  209. amulet_core-2.0a3/src/amulet/level/java/long_array.hpp +175 -0
  210. amulet_core-2.0a3/src/amulet/level/java/long_array.py.cpp +192 -0
  211. amulet_core-2.0a3/src/amulet/level/java/long_array.pyi +38 -0
  212. amulet_core-2.0a3/src/amulet/level/temporary_level/__init__.py +1 -0
  213. amulet_core-2.0a3/src/amulet/level/temporary_level/_level.py +16 -0
  214. amulet_core-2.0a3/src/amulet/palette/__init__.pyi +8 -0
  215. amulet_core-2.0a3/src/amulet/palette/_init_palette.py.cpp +18 -0
  216. amulet_core-2.0a3/src/amulet/palette/biome_palette.hpp +85 -0
  217. amulet_core-2.0a3/src/amulet/palette/biome_palette.py.cpp +102 -0
  218. amulet_core-2.0a3/src/amulet/palette/biome_palette.pyi +45 -0
  219. amulet_core-2.0a3/src/amulet/palette/block_palette.cpp +32 -0
  220. amulet_core-2.0a3/src/amulet/palette/block_palette.hpp +93 -0
  221. amulet_core-2.0a3/src/amulet/palette/block_palette.py.cpp +102 -0
  222. amulet_core-2.0a3/src/amulet/palette/block_palette.pyi +45 -0
  223. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/player.py +64 -65
  224. amulet_core-2.0a3/src/amulet/pybind11/collections.hpp +76 -0
  225. amulet_core-2.0a3/src/amulet/pybind11/py_module.hpp +69 -0
  226. amulet_core-2.0a3/src/amulet/pybind11/python.hpp +25 -0
  227. amulet_core-2.0a3/src/amulet/pybind11/types.hpp +17 -0
  228. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/selection/__init__.py +2 -2
  229. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/selection/abstract_selection.py +342 -315
  230. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/selection/box.py +852 -803
  231. {amulet_core-1.9.24/amulet/api → amulet_core-2.0a3/src/amulet}/selection/group.py +481 -486
  232. amulet_core-2.0a3/src/amulet/utils/__init__.pyi +28 -0
  233. amulet_core-2.0a3/src/amulet/utils/_init_utils.py.cpp +18 -0
  234. amulet_core-2.0a3/src/amulet/utils/call_spec/__init__.py +24 -0
  235. amulet_core-2.0a3/src/amulet/utils/call_spec/__init__.pyi +53 -0
  236. amulet_core-2.0a3/src/amulet/utils/call_spec/_call_spec.py +262 -0
  237. amulet_core-2.0a3/src/amulet/utils/call_spec/_call_spec.pyi +272 -0
  238. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/utils/format_utils.py +41 -41
  239. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/utils/generator.py +18 -15
  240. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/utils/matrix.py +243 -243
  241. amulet_core-2.0a3/src/amulet/utils/matrix.pyi +177 -0
  242. amulet_core-2.0a3/src/amulet/utils/numpy.hpp +36 -0
  243. amulet_core-2.0a3/src/amulet/utils/numpy.py.cpp +59 -0
  244. amulet_core-2.0a3/src/amulet/utils/numpy.pyi +11 -0
  245. amulet_core-2.0a3/src/amulet/utils/numpy_helpers.py +19 -0
  246. amulet_core-2.0a3/src/amulet/utils/shareable_lock.py +335 -0
  247. amulet_core-2.0a3/src/amulet/utils/shareable_lock.pyi +190 -0
  248. amulet_core-2.0a3/src/amulet/utils/signal/__init__.py +10 -0
  249. amulet_core-2.0a3/src/amulet/utils/signal/__init__.pyi +25 -0
  250. amulet_core-2.0a3/src/amulet/utils/signal/_signal.py +228 -0
  251. amulet_core-2.0a3/src/amulet/utils/signal/_signal.pyi +84 -0
  252. amulet_core-2.0a3/src/amulet/utils/task_manager.py +235 -0
  253. amulet_core-2.0a3/src/amulet/utils/task_manager.pyi +168 -0
  254. amulet_core-2.0a3/src/amulet/utils/typed_property.py +111 -0
  255. amulet_core-2.0a3/src/amulet/utils/typing.py +4 -0
  256. amulet_core-2.0a3/src/amulet/utils/typing.pyi +6 -0
  257. amulet_core-2.0a3/src/amulet/utils/weakref.py +70 -0
  258. amulet_core-2.0a3/src/amulet/utils/weakref.pyi +50 -0
  259. amulet_core-2.0a3/src/amulet/utils/world_utils.py +102 -0
  260. amulet_core-2.0a3/src/amulet/utils/world_utils.pyi +109 -0
  261. amulet_core-2.0a3/src/amulet/version.cpp +136 -0
  262. amulet_core-2.0a3/src/amulet/version.hpp +142 -0
  263. amulet_core-2.0a3/src/amulet/version.py.cpp +281 -0
  264. amulet_core-2.0a3/src/amulet/version.pyi +94 -0
  265. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet_core.egg-info/PKG-INFO +103 -98
  266. amulet_core-2.0a3/src/amulet_core.egg-info/SOURCES.txt +287 -0
  267. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet_core.egg-info/requires.txt +8 -3
  268. amulet_core-1.9.24/MANIFEST.in +0 -1
  269. amulet_core-1.9.24/amulet/__init__.py +0 -27
  270. amulet_core-1.9.24/amulet/__pyinstaller/__init__.py +0 -2
  271. amulet_core-1.9.24/amulet/api/__init__.py +0 -2
  272. amulet_core-1.9.24/amulet/api/abstract_base_entity.py +0 -128
  273. amulet_core-1.9.24/amulet/api/block.py +0 -630
  274. amulet_core-1.9.24/amulet/api/block_entity.py +0 -71
  275. amulet_core-1.9.24/amulet/api/cache.py +0 -107
  276. amulet_core-1.9.24/amulet/api/chunk/__init__.py +0 -6
  277. amulet_core-1.9.24/amulet/api/chunk/biomes.py +0 -207
  278. amulet_core-1.9.24/amulet/api/chunk/block_entity_dict.py +0 -175
  279. amulet_core-1.9.24/amulet/api/chunk/blocks.py +0 -46
  280. amulet_core-1.9.24/amulet/api/chunk/chunk.py +0 -389
  281. amulet_core-1.9.24/amulet/api/chunk/entity_list.py +0 -75
  282. amulet_core-1.9.24/amulet/api/chunk/status.py +0 -167
  283. amulet_core-1.9.24/amulet/api/data_types/__init__.py +0 -4
  284. amulet_core-1.9.24/amulet/api/data_types/generic_types.py +0 -4
  285. amulet_core-1.9.24/amulet/api/data_types/operation_types.py +0 -16
  286. amulet_core-1.9.24/amulet/api/data_types/world_types.py +0 -49
  287. amulet_core-1.9.24/amulet/api/data_types/wrapper_types.py +0 -71
  288. amulet_core-1.9.24/amulet/api/entity.py +0 -74
  289. amulet_core-1.9.24/amulet/api/history/__init__.py +0 -36
  290. amulet_core-1.9.24/amulet/api/history/base/__init__.py +0 -3
  291. amulet_core-1.9.24/amulet/api/history/base/base_history.py +0 -26
  292. amulet_core-1.9.24/amulet/api/history/base/history_manager.py +0 -63
  293. amulet_core-1.9.24/amulet/api/history/base/revision_manager.py +0 -73
  294. amulet_core-1.9.24/amulet/api/history/changeable.py +0 -15
  295. amulet_core-1.9.24/amulet/api/history/data_types.py +0 -7
  296. amulet_core-1.9.24/amulet/api/history/history_manager/__init__.py +0 -3
  297. amulet_core-1.9.24/amulet/api/history/history_manager/container.py +0 -102
  298. amulet_core-1.9.24/amulet/api/history/history_manager/database.py +0 -279
  299. amulet_core-1.9.24/amulet/api/history/history_manager/meta.py +0 -93
  300. amulet_core-1.9.24/amulet/api/history/history_manager/object.py +0 -116
  301. amulet_core-1.9.24/amulet/api/history/revision_manager/__init__.py +0 -2
  302. amulet_core-1.9.24/amulet/api/history/revision_manager/disk.py +0 -33
  303. amulet_core-1.9.24/amulet/api/history/revision_manager/ram.py +0 -12
  304. amulet_core-1.9.24/amulet/api/item.py +0 -75
  305. amulet_core-1.9.24/amulet/api/level/__init__.py +0 -4
  306. amulet_core-1.9.24/amulet/api/level/base_level/__init__.py +0 -1
  307. amulet_core-1.9.24/amulet/api/level/base_level/base_level.py +0 -1035
  308. amulet_core-1.9.24/amulet/api/level/base_level/chunk_manager.py +0 -227
  309. amulet_core-1.9.24/amulet/api/level/base_level/clone.py +0 -389
  310. amulet_core-1.9.24/amulet/api/level/base_level/player_manager.py +0 -101
  311. amulet_core-1.9.24/amulet/api/level/immutable_structure/__init__.py +0 -1
  312. amulet_core-1.9.24/amulet/api/level/immutable_structure/immutable_structure.py +0 -94
  313. amulet_core-1.9.24/amulet/api/level/immutable_structure/void_format_wrapper.py +0 -117
  314. amulet_core-1.9.24/amulet/api/level/structure.py +0 -22
  315. amulet_core-1.9.24/amulet/api/level/world.py +0 -19
  316. amulet_core-1.9.24/amulet/api/partial_3d_array/__init__.py +0 -2
  317. amulet_core-1.9.24/amulet/api/partial_3d_array/base_partial_3d_array.py +0 -263
  318. amulet_core-1.9.24/amulet/api/partial_3d_array/bounded_partial_3d_array.py +0 -523
  319. amulet_core-1.9.24/amulet/api/partial_3d_array/data_types.py +0 -15
  320. amulet_core-1.9.24/amulet/api/partial_3d_array/unbounded_partial_3d_array.py +0 -229
  321. amulet_core-1.9.24/amulet/api/partial_3d_array/util.py +0 -152
  322. amulet_core-1.9.24/amulet/api/registry/__init__.py +0 -2
  323. amulet_core-1.9.24/amulet/api/registry/base_registry.py +0 -34
  324. amulet_core-1.9.24/amulet/api/registry/biome_manager.py +0 -150
  325. amulet_core-1.9.24/amulet/api/registry/block_manager.py +0 -155
  326. amulet_core-1.9.24/amulet/api/structure.py +0 -37
  327. amulet_core-1.9.24/amulet/api/wrapper/__init__.py +0 -8
  328. amulet_core-1.9.24/amulet/api/wrapper/chunk/interface.py +0 -437
  329. amulet_core-1.9.24/amulet/api/wrapper/chunk/translator.py +0 -567
  330. amulet_core-1.9.24/amulet/api/wrapper/format_wrapper.py +0 -774
  331. amulet_core-1.9.24/amulet/api/wrapper/structure_format_wrapper.py +0 -116
  332. amulet_core-1.9.24/amulet/api/wrapper/world_format_wrapper.py +0 -63
  333. amulet_core-1.9.24/amulet/level/__init__.py +0 -1
  334. amulet_core-1.9.24/amulet/level/formats/anvil_forge_world.py +0 -40
  335. amulet_core-1.9.24/amulet/level/formats/anvil_world/__init__.py +0 -3
  336. amulet_core-1.9.24/amulet/level/formats/anvil_world/format.py +0 -771
  337. amulet_core-1.9.24/amulet/level/formats/construction/__init__.py +0 -3
  338. amulet_core-1.9.24/amulet/level/formats/construction/format_wrapper.py +0 -515
  339. amulet_core-1.9.24/amulet/level/formats/construction/interface.py +0 -134
  340. amulet_core-1.9.24/amulet/level/formats/construction/section.py +0 -60
  341. amulet_core-1.9.24/amulet/level/formats/construction/util.py +0 -165
  342. amulet_core-1.9.24/amulet/level/formats/leveldb_world/__init__.py +0 -3
  343. amulet_core-1.9.24/amulet/level/formats/leveldb_world/chunk.py +0 -33
  344. amulet_core-1.9.24/amulet/level/formats/leveldb_world/dimension.py +0 -385
  345. amulet_core-1.9.24/amulet/level/formats/leveldb_world/format.py +0 -659
  346. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/__init__.py +0 -36
  347. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/base_leveldb_interface.py +0 -836
  348. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/generate_interface.py +0 -31
  349. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_0.py +0 -30
  350. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_1.py +0 -12
  351. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_10.py +0 -12
  352. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_11.py +0 -12
  353. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_12.py +0 -12
  354. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_13.py +0 -12
  355. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_14.py +0 -12
  356. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_15.py +0 -12
  357. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_16.py +0 -12
  358. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_17.py +0 -12
  359. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_18.py +0 -12
  360. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_19.py +0 -12
  361. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_2.py +0 -12
  362. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_20.py +0 -12
  363. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_21.py +0 -12
  364. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_22.py +0 -12
  365. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_23.py +0 -10
  366. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_24.py +0 -10
  367. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_25.py +0 -24
  368. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_26.py +0 -10
  369. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_27.py +0 -10
  370. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_28.py +0 -10
  371. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_29.py +0 -33
  372. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_3.py +0 -57
  373. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_30.py +0 -10
  374. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_31.py +0 -10
  375. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_32.py +0 -10
  376. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_33.py +0 -10
  377. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_34.py +0 -10
  378. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_35.py +0 -10
  379. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_36.py +0 -10
  380. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_37.py +0 -10
  381. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_38.py +0 -10
  382. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_39.py +0 -12
  383. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_4.py +0 -12
  384. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_40.py +0 -16
  385. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_5.py +0 -12
  386. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_6.py +0 -12
  387. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_7.py +0 -12
  388. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_8.py +0 -180
  389. amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface/chunk/leveldb_9.py +0 -18
  390. amulet_core-1.9.24/amulet/level/formats/mcstructure/__init__.py +0 -3
  391. amulet_core-1.9.24/amulet/level/formats/mcstructure/chunk.py +0 -50
  392. amulet_core-1.9.24/amulet/level/formats/mcstructure/format_wrapper.py +0 -403
  393. amulet_core-1.9.24/amulet/level/formats/mcstructure/interface.py +0 -175
  394. amulet_core-1.9.24/amulet/level/formats/schematic/__init__.py +0 -3
  395. amulet_core-1.9.24/amulet/level/formats/schematic/chunk.py +0 -55
  396. amulet_core-1.9.24/amulet/level/formats/schematic/data_types.py +0 -4
  397. amulet_core-1.9.24/amulet/level/formats/schematic/format_wrapper.py +0 -373
  398. amulet_core-1.9.24/amulet/level/formats/schematic/interface.py +0 -142
  399. amulet_core-1.9.24/amulet/level/formats/sponge_schem/__init__.py +0 -4
  400. amulet_core-1.9.24/amulet/level/formats/sponge_schem/chunk.py +0 -62
  401. amulet_core-1.9.24/amulet/level/formats/sponge_schem/format_wrapper.py +0 -461
  402. amulet_core-1.9.24/amulet/level/formats/sponge_schem/interface.py +0 -118
  403. amulet_core-1.9.24/amulet/level/formats/sponge_schem/varint/__init__.py +0 -1
  404. amulet_core-1.9.24/amulet/level/formats/sponge_schem/varint/varint.py +0 -87
  405. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_0.py +0 -72
  406. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1444.py +0 -336
  407. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1466.py +0 -94
  408. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1467.py +0 -37
  409. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1484.py +0 -20
  410. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1503.py +0 -20
  411. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1519.py +0 -34
  412. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1901.py +0 -20
  413. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1908.py +0 -20
  414. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1912.py +0 -21
  415. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_1934.py +0 -50
  416. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_2203.py +0 -69
  417. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_2529.py +0 -19
  418. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_2681.py +0 -76
  419. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_2709.py +0 -19
  420. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_2844.py +0 -267
  421. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_3463.py +0 -19
  422. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/anvil_na.py +0 -607
  423. amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil/base_anvil_interface.py +0 -326
  424. amulet_core-1.9.24/amulet/level/load.py +0 -59
  425. amulet_core-1.9.24/amulet/level/loader.py +0 -95
  426. amulet_core-1.9.24/amulet/level/translators/chunk/bedrock/__init__.py +0 -267
  427. amulet_core-1.9.24/amulet/level/translators/chunk/bedrock/bedrock_nbt_blockstate_translator.py +0 -46
  428. amulet_core-1.9.24/amulet/level/translators/chunk/bedrock/bedrock_numerical_translator.py +0 -39
  429. amulet_core-1.9.24/amulet/level/translators/chunk/bedrock/bedrock_psudo_numerical_translator.py +0 -37
  430. amulet_core-1.9.24/amulet/level/translators/chunk/java/java_1_18_translator.py +0 -40
  431. amulet_core-1.9.24/amulet/level/translators/chunk/java/java_blockstate_translator.py +0 -94
  432. amulet_core-1.9.24/amulet/level/translators/chunk/java/java_numerical_translator.py +0 -62
  433. amulet_core-1.9.24/amulet/libs/__init__.py +0 -0
  434. amulet_core-1.9.24/amulet/libs/leveldb/__init__.py +0 -7
  435. amulet_core-1.9.24/amulet/operations/__init__.py +0 -5
  436. amulet_core-1.9.24/amulet/operations/clone.py +0 -18
  437. amulet_core-1.9.24/amulet/operations/delete_chunk.py +0 -32
  438. amulet_core-1.9.24/amulet/operations/fill.py +0 -30
  439. amulet_core-1.9.24/amulet/operations/paste.py +0 -65
  440. amulet_core-1.9.24/amulet/operations/replace.py +0 -58
  441. amulet_core-1.9.24/amulet/utils/__init__.py +0 -14
  442. amulet_core-1.9.24/amulet/utils/numpy_helpers.py +0 -46
  443. amulet_core-1.9.24/amulet/utils/world_utils.py +0 -349
  444. amulet_core-1.9.24/amulet_core.egg-info/SOURCES.txt +0 -214
  445. amulet_core-1.9.24/setup.py +0 -23
  446. {amulet_core-1.9.24/amulet/api/wrapper/chunk → amulet_core-2.0a3/src/amulet/game/translate/_functions/_code_functions}/__init__.py +0 -0
  447. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet/img/missing_world_icon.png +0 -0
  448. {amulet_core-1.9.24/amulet/level/formats → amulet_core-2.0a3/src/amulet/level/bedrock/chunk/components}/__init__.py +0 -0
  449. {amulet_core-1.9.24/amulet/level/formats/leveldb_world/interface → amulet_core-2.0a3/src/amulet/level/construction}/__init__.py +0 -0
  450. {amulet_core-1.9.24/amulet/level/interfaces → amulet_core-2.0a3/src/amulet/level/java_forge}/__init__.py +0 -0
  451. {amulet_core-1.9.24/amulet/level/interfaces/chunk → amulet_core-2.0a3/src/amulet/level/mcstructure}/__init__.py +0 -0
  452. {amulet_core-1.9.24/amulet/level/interfaces/chunk/anvil → amulet_core-2.0a3/src/amulet/level/nbt}/__init__.py +0 -0
  453. {amulet_core-1.9.24/amulet/level/translators → amulet_core-2.0a3/src/amulet/level/schematic}/__init__.py +0 -0
  454. {amulet_core-1.9.24/amulet/level/translators/chunk → amulet_core-2.0a3/src/amulet/level/sponge_schematic}/__init__.py +0 -0
  455. /amulet_core-1.9.24/amulet/level/translators/chunk/java/__init__.py → /amulet_core-2.0a3/src/amulet/py.typed +0 -0
  456. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet_core.egg-info/dependency_links.txt +0 -0
  457. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet_core.egg-info/entry_points.txt +0 -0
  458. {amulet_core-1.9.24 → amulet_core-2.0a3/src}/amulet_core.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ recursive-include src *.pyi py.typed *.py *.png *.cpp *.hpp
@@ -1,98 +1,103 @@
1
- Metadata-Version: 2.1
2
- Name: amulet-core
3
- Version: 1.9.24
4
- Summary: A Python library for reading/writing Minecraft's various save formats.
5
- Home-page: https://www.amuletmc.com
6
- Author: James Clare, Ben Gothard et al.
7
- Author-email: amuleteditor@gmail.com
8
- Platform: any
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.9
12
- Description-Content-Type: text/markdown
13
- Requires-Dist: numpy~=1.17
14
- Requires-Dist: amulet-nbt~=2.0
15
- Requires-Dist: pymctranslate~=1.2
16
- Requires-Dist: portalocker~=2.4
17
- Requires-Dist: amulet-leveldb~=1.0b0
18
- Requires-Dist: platformdirs~=3.1
19
- Requires-Dist: lz4~=4.3
20
- Provides-Extra: docs
21
- Requires-Dist: Sphinx>=1.7.4; extra == "docs"
22
- Requires-Dist: sphinx-autodoc-typehints>=1.3.0; extra == "docs"
23
- Requires-Dist: sphinx_rtd_theme>=0.3.1; extra == "docs"
24
- Provides-Extra: dev
25
- Requires-Dist: black>=22.3; extra == "dev"
26
- Requires-Dist: pre_commit>=1.11.1; extra == "dev"
27
-
28
- # Amulet Core
29
-
30
- ![Build](../../workflows/Build/badge.svg)
31
- ![Unittests](../../workflows/Unittests/badge.svg?event=push)
32
- ![Stylecheck](../../workflows/Stylecheck/badge.svg?event=push)
33
- [![Documentation](https://readthedocs.org/projects/amulet-core/badge)](https://amulet-core.readthedocs.io)
34
-
35
- A Python 3 library to read and write data from Minecraft's various save formats.
36
-
37
- This library provides the main world editing functionality for Amulet Map Editor
38
-
39
- #### If you are looking for the actual editor it can be found at [Amulet Map Editor](https://github.com/Amulet-Team/Amulet-Map-Editor)
40
-
41
-
42
- ## Documentation
43
-
44
- Our online documentation can be found here: https://amulet-core.readthedocs.io
45
-
46
- ## Installing
47
- 1) Install Python 3.7
48
- 2) We recommend setting up a [python virtual environment](https://docs.python.org/3/tutorial/venv.html) so you don't run into issues with dependency conflicts.
49
- 3) run `pip install amulet-core` to install the library and all its dependencies.
50
-
51
- ## Dependencies
52
-
53
- This library uses a number of other libraries. These will be automatically installed when running the command above.
54
- - Numpy
55
- - [Amulet_NBT](https://github.com/Amulet-Team/Amulet-NBT)
56
- - [PyMCTranslate](https://github.com/gentlegiantJGC/PyMCTranslate)
57
-
58
- ## Contributing
59
-
60
- ### For Development
61
- Download the code to your computer, install python and run the following command from the root directory.
62
- run `pip install -e .[dev]`
63
- This command will install the library in development mode with the libraries required for development.
64
- - [Black](https://github.com/ambv/black) (Required for formatting)
65
- - Must be run before pushing a Pull Request
66
-
67
- For information about contributing to this project, please see the contribution section [below](#contributing)
68
-
69
- ### Code Formatting
70
- For code formatting, we use the formatting utility [black](https://github.com/psf/black).
71
- To run it, run the following command from your favorite terminal after installing: `black amulet tests`
72
-
73
- In order for your pull request to be accepted, this command must be run to format every file.
74
-
75
- ### Building the Documentation
76
- To build the documentation locally, run the following command: `make html` and then navigate to the
77
- generated directory `docs_build/html` in your favorite web browser
78
-
79
- ### Branch Naming
80
- Branches should be created when a certain bug or feature may take multiple attempts to fix. Naming
81
- them should follow the following convention (even for forked repositories when a pull request is being made):
82
-
83
- * For features, use: `impl-<feature name>`
84
- * For bug fixes, use: `bug-<bug tracker ID>`
85
- * For improvements/rewrites, use: `improv-<feature name>`
86
- * For prototyping, use: `proto-<feature name>`
87
-
88
- ### Pull Requests
89
- We ask that submitted Pull Requests give moderately detailed notes about the changes and explain
90
- any changes that were made to the program outside of those directly related to the feature/bug-fix.
91
- Make sure to run all tests and formatting otherwise we cannot accept your pull request.
92
-
93
- _Note: We will also re-run all tests before reviewing, this is to mitigate additional changes/commits
94
- needed to pass all tests._
95
-
96
- Once a Pull Request is submitted, we will mark the request for review, once that is done, we will
97
- review the changes and provide any notes/things to change. Once all additional changes have been made,
98
- we will merge the request.
1
+ Metadata-Version: 2.1
2
+ Name: amulet-core
3
+ Version: 2.0a3
4
+ Summary: A Python library for reading/writing Minecraft's various save formats.
5
+ Home-page: https://www.amuletmc.com
6
+ Author: James Clare, Ben Gothard et al.
7
+ Author-email: amuleteditor@gmail.com
8
+ Platform: any
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.11
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: numpy~=1.21
14
+ Requires-Dist: amulet-nbt~=4.0a2
15
+ Requires-Dist: portalocker~=2.4
16
+ Requires-Dist: amulet-leveldb~=1.0b0
17
+ Requires-Dist: platformdirs~=3.1
18
+ Requires-Dist: amulet-runtime-final~=1.1
19
+ Requires-Dist: pillow~=10.0
20
+ Requires-Dist: lz4~=4.3
21
+ Provides-Extra: docs
22
+ Requires-Dist: Sphinx>=1.7.4; extra == "docs"
23
+ Requires-Dist: sphinx-autodoc-typehints>=1.3.0; extra == "docs"
24
+ Requires-Dist: sphinx_rtd_theme>=0.3.1; extra == "docs"
25
+ Provides-Extra: dev
26
+ Requires-Dist: black>=22.3; extra == "dev"
27
+ Requires-Dist: pre_commit>=1.11.1; extra == "dev"
28
+ Requires-Dist: mypy; extra == "dev"
29
+ Requires-Dist: types-pyinstaller; extra == "dev"
30
+ Requires-Dist: isort; extra == "dev"
31
+ Requires-Dist: autoflake; extra == "dev"
32
+
33
+ # Amulet Core
34
+
35
+ ![Build](../../workflows/Build/badge.svg)
36
+ ![Unittests](../../workflows/Unittests/badge.svg?event=push)
37
+ ![Stylecheck](../../workflows/Stylecheck/badge.svg?event=push)
38
+ [![Documentation](https://readthedocs.org/projects/amulet-core/badge)](https://amulet-core.readthedocs.io)
39
+
40
+ A Python 3 library to read and write data from Minecraft's various save formats.
41
+
42
+ This library provides the main world editing functionality for Amulet Map Editor
43
+
44
+ #### If you are looking for the actual editor it can be found at [Amulet Map Editor](https://github.com/Amulet-Team/Amulet-Map-Editor)
45
+
46
+
47
+ ## Documentation
48
+
49
+ Our online documentation can be found here: https://amulet-core.readthedocs.io
50
+
51
+ ## Installing
52
+ 1) Install Python 3.7
53
+ 2) We recommend setting up a [python virtual environment](https://docs.python.org/3/tutorial/venv.html) so you don't run into issues with dependency conflicts.
54
+ 3) run `pip install amulet-core` to install the library and all its dependencies.
55
+
56
+ ## Dependencies
57
+
58
+ This library uses a number of other libraries. These will be automatically installed when running the command above.
59
+ - Numpy
60
+ - [Amulet_NBT](https://github.com/Amulet-Team/Amulet-NBT)
61
+ - [PyMCTranslate](https://github.com/gentlegiantJGC/PyMCTranslate)
62
+
63
+ ## Contributing
64
+
65
+ ### For Development
66
+ Download the code to your computer, install python and run the following command from the root directory.
67
+ run `pip install -e .[dev]`
68
+ This command will install the library in development mode with the libraries required for development.
69
+ - [Black](https://github.com/ambv/black) (Required for formatting)
70
+ - Must be run before pushing a Pull Request
71
+
72
+ For information about contributing to this project, please see the contribution section [below](#contributing)
73
+
74
+ ### Code Formatting
75
+ For code formatting, we use the formatting utility [black](https://github.com/psf/black).
76
+ To run it, run the following command from your favorite terminal after installing: `black amulet tests`
77
+
78
+ In order for your pull request to be accepted, this command must be run to format every file.
79
+
80
+ ### Building the Documentation
81
+ To build the documentation locally, run the following command: `make html` and then navigate to the
82
+ generated directory `docs_build/html` in your favorite web browser
83
+
84
+ ### Branch Naming
85
+ Branches should be created when a certain bug or feature may take multiple attempts to fix. Naming
86
+ them should follow the following convention (even for forked repositories when a pull request is being made):
87
+
88
+ * For features, use: `impl-<feature name>`
89
+ * For bug fixes, use: `bug-<bug tracker ID>`
90
+ * For improvements/rewrites, use: `improv-<feature name>`
91
+ * For prototyping, use: `proto-<feature name>`
92
+
93
+ ### Pull Requests
94
+ We ask that submitted Pull Requests give moderately detailed notes about the changes and explain
95
+ any changes that were made to the program outside of those directly related to the feature/bug-fix.
96
+ Make sure to run all tests and formatting otherwise we cannot accept your pull request.
97
+
98
+ _Note: We will also re-run all tests before reviewing, this is to mitigate additional changes/commits
99
+ needed to pass all tests._
100
+
101
+ Once a Pull Request is submitted, we will mark the request for review, once that is done, we will
102
+ review the changes and provide any notes/things to change. Once all additional changes have been made,
103
+ we will merge the request.
@@ -1,71 +1,71 @@
1
- # Amulet Core
2
-
3
- ![Build](../../workflows/Build/badge.svg)
4
- ![Unittests](../../workflows/Unittests/badge.svg?event=push)
5
- ![Stylecheck](../../workflows/Stylecheck/badge.svg?event=push)
6
- [![Documentation](https://readthedocs.org/projects/amulet-core/badge)](https://amulet-core.readthedocs.io)
7
-
8
- A Python 3 library to read and write data from Minecraft's various save formats.
9
-
10
- This library provides the main world editing functionality for Amulet Map Editor
11
-
12
- #### If you are looking for the actual editor it can be found at [Amulet Map Editor](https://github.com/Amulet-Team/Amulet-Map-Editor)
13
-
14
-
15
- ## Documentation
16
-
17
- Our online documentation can be found here: https://amulet-core.readthedocs.io
18
-
19
- ## Installing
20
- 1) Install Python 3.7
21
- 2) We recommend setting up a [python virtual environment](https://docs.python.org/3/tutorial/venv.html) so you don't run into issues with dependency conflicts.
22
- 3) run `pip install amulet-core` to install the library and all its dependencies.
23
-
24
- ## Dependencies
25
-
26
- This library uses a number of other libraries. These will be automatically installed when running the command above.
27
- - Numpy
28
- - [Amulet_NBT](https://github.com/Amulet-Team/Amulet-NBT)
29
- - [PyMCTranslate](https://github.com/gentlegiantJGC/PyMCTranslate)
30
-
31
- ## Contributing
32
-
33
- ### For Development
34
- Download the code to your computer, install python and run the following command from the root directory.
35
- run `pip install -e .[dev]`
36
- This command will install the library in development mode with the libraries required for development.
37
- - [Black](https://github.com/ambv/black) (Required for formatting)
38
- - Must be run before pushing a Pull Request
39
-
40
- For information about contributing to this project, please see the contribution section [below](#contributing)
41
-
42
- ### Code Formatting
43
- For code formatting, we use the formatting utility [black](https://github.com/psf/black).
44
- To run it, run the following command from your favorite terminal after installing: `black amulet tests`
45
-
46
- In order for your pull request to be accepted, this command must be run to format every file.
47
-
48
- ### Building the Documentation
49
- To build the documentation locally, run the following command: `make html` and then navigate to the
50
- generated directory `docs_build/html` in your favorite web browser
51
-
52
- ### Branch Naming
53
- Branches should be created when a certain bug or feature may take multiple attempts to fix. Naming
54
- them should follow the following convention (even for forked repositories when a pull request is being made):
55
-
56
- * For features, use: `impl-<feature name>`
57
- * For bug fixes, use: `bug-<bug tracker ID>`
58
- * For improvements/rewrites, use: `improv-<feature name>`
59
- * For prototyping, use: `proto-<feature name>`
60
-
61
- ### Pull Requests
62
- We ask that submitted Pull Requests give moderately detailed notes about the changes and explain
63
- any changes that were made to the program outside of those directly related to the feature/bug-fix.
64
- Make sure to run all tests and formatting otherwise we cannot accept your pull request.
65
-
66
- _Note: We will also re-run all tests before reviewing, this is to mitigate additional changes/commits
67
- needed to pass all tests._
68
-
69
- Once a Pull Request is submitted, we will mark the request for review, once that is done, we will
70
- review the changes and provide any notes/things to change. Once all additional changes have been made,
71
- we will merge the request.
1
+ # Amulet Core
2
+
3
+ ![Build](../../workflows/Build/badge.svg)
4
+ ![Unittests](../../workflows/Unittests/badge.svg?event=push)
5
+ ![Stylecheck](../../workflows/Stylecheck/badge.svg?event=push)
6
+ [![Documentation](https://readthedocs.org/projects/amulet-core/badge)](https://amulet-core.readthedocs.io)
7
+
8
+ A Python 3 library to read and write data from Minecraft's various save formats.
9
+
10
+ This library provides the main world editing functionality for Amulet Map Editor
11
+
12
+ #### If you are looking for the actual editor it can be found at [Amulet Map Editor](https://github.com/Amulet-Team/Amulet-Map-Editor)
13
+
14
+
15
+ ## Documentation
16
+
17
+ Our online documentation can be found here: https://amulet-core.readthedocs.io
18
+
19
+ ## Installing
20
+ 1) Install Python 3.7
21
+ 2) We recommend setting up a [python virtual environment](https://docs.python.org/3/tutorial/venv.html) so you don't run into issues with dependency conflicts.
22
+ 3) run `pip install amulet-core` to install the library and all its dependencies.
23
+
24
+ ## Dependencies
25
+
26
+ This library uses a number of other libraries. These will be automatically installed when running the command above.
27
+ - Numpy
28
+ - [Amulet_NBT](https://github.com/Amulet-Team/Amulet-NBT)
29
+ - [PyMCTranslate](https://github.com/gentlegiantJGC/PyMCTranslate)
30
+
31
+ ## Contributing
32
+
33
+ ### For Development
34
+ Download the code to your computer, install python and run the following command from the root directory.
35
+ run `pip install -e .[dev]`
36
+ This command will install the library in development mode with the libraries required for development.
37
+ - [Black](https://github.com/ambv/black) (Required for formatting)
38
+ - Must be run before pushing a Pull Request
39
+
40
+ For information about contributing to this project, please see the contribution section [below](#contributing)
41
+
42
+ ### Code Formatting
43
+ For code formatting, we use the formatting utility [black](https://github.com/psf/black).
44
+ To run it, run the following command from your favorite terminal after installing: `black amulet tests`
45
+
46
+ In order for your pull request to be accepted, this command must be run to format every file.
47
+
48
+ ### Building the Documentation
49
+ To build the documentation locally, run the following command: `make html` and then navigate to the
50
+ generated directory `docs_build/html` in your favorite web browser
51
+
52
+ ### Branch Naming
53
+ Branches should be created when a certain bug or feature may take multiple attempts to fix. Naming
54
+ them should follow the following convention (even for forked repositories when a pull request is being made):
55
+
56
+ * For features, use: `impl-<feature name>`
57
+ * For bug fixes, use: `bug-<bug tracker ID>`
58
+ * For improvements/rewrites, use: `improv-<feature name>`
59
+ * For prototyping, use: `proto-<feature name>`
60
+
61
+ ### Pull Requests
62
+ We ask that submitted Pull Requests give moderately detailed notes about the changes and explain
63
+ any changes that were made to the program outside of those directly related to the feature/bug-fix.
64
+ Make sure to run all tests and formatting otherwise we cannot accept your pull request.
65
+
66
+ _Note: We will also re-run all tests before reviewing, this is to mitigate additional changes/commits
67
+ needed to pass all tests._
68
+
69
+ Once a Pull Request is submitted, we will mark the request for review, once that is done, we will
70
+ review the changes and provide any notes/things to change. Once all additional changes have been made,
71
+ we will merge the request.
@@ -1,9 +1,9 @@
1
- [build-system]
2
- requires = [
3
- "setuptools >= 42",
4
- "wheel",
5
- "cython >= 3.0.0a9",
6
- "versioneer-518",
7
- "numpy ~= 1.17"
8
- ]
9
- build-backend = "setuptools.build_meta"
1
+ [build-system]
2
+ requires = [
3
+ "setuptools >= 42",
4
+ "wheel",
5
+ "versioneer",
6
+ "pybind11 ~= 2.12",
7
+ "amulet_nbt ~= 4.0a2"
8
+ ]
9
+ build-backend = "setuptools.build_meta"
@@ -1,54 +1,75 @@
1
- [metadata]
2
- name = amulet-core
3
- url = https://www.amuletmc.com
4
- author = James Clare, Ben Gothard et al.
5
- author_email = amuleteditor@gmail.com
6
- classifiers =
7
- Programming Language :: Python :: 3
8
- Operating System :: OS Independent
9
- description = A Python library for reading/writing Minecraft's various save formats.
10
- long_description = file: README.md
11
- long_description_content_type = text/markdown
12
- platforms = any
13
-
14
- [options]
15
- include_package_data = True
16
- python_requires = >=3.9
17
- install_requires =
18
- numpy~=1.17
19
- amulet-nbt~=2.0
20
- pymctranslate~=1.2
21
- portalocker~=2.4
22
- amulet-leveldb~=1.0b0
23
- platformdirs~=3.1
24
- lz4~=4.3
25
- packages = find:
26
-
27
- [options.packages.find]
28
- include = amulet*
29
-
30
- [options.extras_require]
31
- docs =
32
- Sphinx>=1.7.4
33
- sphinx-autodoc-typehints>=1.3.0
34
- sphinx_rtd_theme>=0.3.1
35
- dev =
36
- black>=22.3
37
- pre_commit>=1.11.1
38
-
39
- [options.entry_points]
40
- pyinstaller40 =
41
- hook-dirs = amulet.__pyinstaller:get_hook_dirs
42
-
43
- [versioneer]
44
- VCS = git
45
- style = pep440
46
- versionfile_source = amulet/_version.py
47
- versionfile_build = amulet/_version.py
48
- tag_prefix =
49
- parentdir_prefix = amulet-
50
-
51
- [egg_info]
52
- tag_build =
53
- tag_date = 0
54
-
1
+ [metadata]
2
+ name = amulet-core
3
+ url = https://www.amuletmc.com
4
+ author = James Clare, Ben Gothard et al.
5
+ author_email = amuleteditor@gmail.com
6
+ classifiers =
7
+ Programming Language :: Python :: 3
8
+ Operating System :: OS Independent
9
+ description = A Python library for reading/writing Minecraft's various save formats.
10
+ long_description = file: README.md
11
+ long_description_content_type = text/markdown
12
+ platforms = any
13
+
14
+ [options]
15
+ package_dir =
16
+ =src
17
+ packages = find_namespace:
18
+ python_requires = >=3.11
19
+ install_requires =
20
+ numpy~=1.21
21
+ amulet-nbt~=4.0a2
22
+ portalocker~=2.4
23
+ amulet-leveldb~=1.0b0
24
+ platformdirs~=3.1
25
+ amulet-runtime-final~=1.1
26
+ pillow~=10.0
27
+ lz4~=4.3
28
+
29
+ [options.packages.find]
30
+ where = src
31
+
32
+ [options.package_data]
33
+ amulet =
34
+ *.pyi
35
+ py.typed
36
+ *.png
37
+ *.pyd
38
+ *.so
39
+ *.dylib
40
+ *.hpp
41
+ *.cpp
42
+
43
+ [options.exclude_package_data]
44
+ amulet =
45
+ *.py.cpp
46
+
47
+ [options.extras_require]
48
+ docs =
49
+ Sphinx>=1.7.4
50
+ sphinx-autodoc-typehints>=1.3.0
51
+ sphinx_rtd_theme>=0.3.1
52
+ dev =
53
+ black>=22.3
54
+ pre_commit>=1.11.1
55
+ mypy
56
+ types-pyinstaller
57
+ isort
58
+ autoflake
59
+
60
+ [options.entry_points]
61
+ pyinstaller40 =
62
+ hook-dirs = amulet.__pyinstaller:get_hook_dirs
63
+
64
+ [versioneer]
65
+ VCS = git
66
+ style = pep440
67
+ versionfile_source = src/amulet/_version.py
68
+ versionfile_build = amulet/_version.py
69
+ tag_prefix =
70
+ parentdir_prefix = amulet-
71
+
72
+ [egg_info]
73
+ tag_build =
74
+ tag_date = 0
75
+
@@ -0,0 +1,55 @@
1
+ from setuptools import setup, Extension
2
+ import versioneer
3
+ import sysconfig
4
+ from distutils import ccompiler
5
+ import sys
6
+ import pybind11
7
+ import glob
8
+ import os
9
+ import amulet_nbt
10
+
11
+ if (sysconfig.get_config_var("CXX") or ccompiler.get_default_compiler()).split()[
12
+ 0
13
+ ] == "msvc":
14
+ CompileArgs = ["/std:c++20"]
15
+ else:
16
+ CompileArgs = ["-std=c++20"]
17
+
18
+ if sys.platform == "darwin":
19
+ CompileArgs.append("-mmacosx-version-min=10.13")
20
+
21
+
22
+ # TODO: Would it be better to compile a shared library and link against that?
23
+
24
+
25
+ AmuletNBTLib = (
26
+ "amulet_nbt",
27
+ dict(
28
+ sources=glob.glob(
29
+ os.path.join(glob.escape(amulet_nbt.get_source()), "**", "*.cpp"),
30
+ recursive=True,
31
+ ),
32
+ include_dirs=[amulet_nbt.get_include()],
33
+ cflags=CompileArgs,
34
+ ),
35
+ )
36
+
37
+ setup(
38
+ version=versioneer.get_version(),
39
+ cmdclass=versioneer.get_cmdclass(),
40
+ libraries=[AmuletNBTLib],
41
+ ext_modules=[
42
+ Extension(
43
+ name="amulet.__init__",
44
+ sources=glob.glob("src/**/*.cpp", recursive=True),
45
+ include_dirs=[
46
+ pybind11.get_include(),
47
+ amulet_nbt.get_include(),
48
+ "src",
49
+ ],
50
+ libraries=["amulet_nbt"],
51
+ define_macros=[("PYBIND11_DETAILED_ERROR_MESSAGES", None)],
52
+ extra_compile_args=CompileArgs,
53
+ ),
54
+ ],
55
+ )
@@ -0,0 +1,39 @@
1
+ #include <pybind11/pybind11.h>
2
+ namespace py = pybind11;
3
+
4
+ void init_collections(py::module);
5
+ void init_utils(py::module);
6
+ void init_version(py::module);
7
+ void init_block(py::module);
8
+ void init_block_entity(py::module);
9
+ void init_biome(py::module);
10
+ void init_palette(py::module);
11
+ void init_chunk(py::module);
12
+ void init_chunk_components(py::module);
13
+ void init_level(py::module);
14
+
15
+ static bool init_run = false;
16
+
17
+ void init_amulet(py::module m){
18
+ if (init_run){ return; }
19
+ init_run = true;
20
+
21
+ py::module::import("amulet_nbt");
22
+
23
+ py::module::import("amulet._init").attr("init")(m);
24
+
25
+ // Submodules
26
+ init_collections(m);
27
+ init_utils(m);
28
+ init_version(m);
29
+ init_block(m);
30
+ init_block_entity(m);
31
+ init_biome(m);
32
+ init_palette(m);
33
+ init_chunk(m);
34
+ init_chunk_components(m);
35
+ init_level(m);
36
+ }
37
+
38
+ PYBIND11_MODULE(__init__, m) { init_amulet(m); }
39
+ PYBIND11_MODULE(amulet, m) { init_amulet(m); }
@@ -0,0 +1,30 @@
1
+ from __future__ import annotations
2
+
3
+ from . import (
4
+ biome,
5
+ block,
6
+ block_entity,
7
+ chunk,
8
+ chunk_components,
9
+ collections,
10
+ level,
11
+ palette,
12
+ utils,
13
+ version,
14
+ )
15
+
16
+ __all__ = [
17
+ "IMG_DIRECTORY",
18
+ "biome",
19
+ "block",
20
+ "block_entity",
21
+ "chunk",
22
+ "chunk_components",
23
+ "collections",
24
+ "level",
25
+ "palette",
26
+ "utils",
27
+ "version",
28
+ ]
29
+ IMG_DIRECTORY: str
30
+ __version__: str
@@ -0,0 +1,2 @@
1
+ def get_hook_dirs() -> list[str]:
2
+ return __path__
@@ -1,4 +1,4 @@
1
- from PyInstaller.utils.hooks import collect_data_files, collect_submodules
2
-
3
- hiddenimports = collect_submodules("amulet")
4
- datas = collect_data_files("amulet")
1
+ from PyInstaller.utils.hooks import collect_data_files, collect_submodules
2
+
3
+ hiddenimports = collect_submodules("amulet")
4
+ datas = collect_data_files("amulet")