nucleation 0.1.141__tar.gz → 0.1.142__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.
Files changed (474) hide show
  1. {nucleation-0.1.141 → nucleation-0.1.142}/Cargo.lock +28 -3
  2. {nucleation-0.1.141 → nucleation-0.1.142}/Cargo.toml +2 -2
  3. {nucleation-0.1.141 → nucleation-0.1.142}/PKG-INFO +1 -1
  4. {nucleation-0.1.141 → nucleation-0.1.142}/pyproject.toml +1 -1
  5. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
  6. nucleation-0.1.142/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  7. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/libnucleation.rlib +0 -0
  8. nucleation-0.1.142/release-artifacts/nucleation_bg.wasm +0 -0
  9. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/package.json +1 -1
  10. nucleation-0.1.142/simple_cube.litematic +0 -0
  11. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/mcstructure.rs +59 -0
  12. {nucleation-0.1.141 → nucleation-0.1.142}/src/universal_schematic.rs +34 -3
  13. nucleation-0.1.142/test_schematic.schem +0 -0
  14. nucleation-0.1.142/tests/bedrock_conversion_tests.rs +118 -0
  15. {nucleation-0.1.141 → nucleation-0.1.142}/tests/mcstructure_tests.rs +3 -2
  16. nucleation-0.1.142/tests/samples/auto_register.mcstructure +0 -0
  17. nucleation-0.1.142/tests/samples/auto_register.schem +0 -0
  18. nucleation-0.1.141/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  19. nucleation-0.1.141/release-artifacts/nucleation_bg.wasm +0 -0
  20. nucleation-0.1.141/simple_cube.litematic +0 -0
  21. nucleation-0.1.141/test_schematic.schem +0 -0
  22. {nucleation-0.1.141 → nucleation-0.1.142}/.DS_Store +0 -0
  23. {nucleation-0.1.141 → nucleation-0.1.142}/.cargo/config.toml +0 -0
  24. {nucleation-0.1.141 → nucleation-0.1.142}/.github/workflows/ci.yml +0 -0
  25. {nucleation-0.1.141 → nucleation-0.1.142}/.gitignore +0 -0
  26. {nucleation-0.1.141 → nucleation-0.1.142}/.idea/.gitignore +0 -0
  27. {nucleation-0.1.141 → nucleation-0.1.142}/.idea/minecraft_schematic_utils.iml +0 -0
  28. {nucleation-0.1.141 → nucleation-0.1.142}/.idea/misc.xml +0 -0
  29. {nucleation-0.1.141 → nucleation-0.1.142}/.idea/modules.xml +0 -0
  30. {nucleation-0.1.141 → nucleation-0.1.142}/.idea/vcs.xml +0 -0
  31. {nucleation-0.1.141 → nucleation-0.1.142}/4bit_adder.litematic +0 -0
  32. {nucleation-0.1.141 → nucleation-0.1.142}/Dockerfile +0 -0
  33. {nucleation-0.1.141 → nucleation-0.1.142}/LICENSE +0 -0
  34. {nucleation-0.1.141 → nucleation-0.1.142}/README.md +0 -0
  35. {nucleation-0.1.141 → nucleation-0.1.142}/WARP.md +0 -0
  36. {nucleation-0.1.141 → nucleation-0.1.142}/benches/performance_test.rs +0 -0
  37. {nucleation-0.1.141 → nucleation-0.1.142}/benches/schematic_bench.rs +0 -0
  38. {nucleation-0.1.141 → nucleation-0.1.142}/build-ffi.sh +0 -0
  39. {nucleation-0.1.141 → nucleation-0.1.142}/build-wasm.sh +0 -0
  40. {nucleation-0.1.141 → nucleation-0.1.142}/docs/README.md +0 -0
  41. {nucleation-0.1.141 → nucleation-0.1.142}/docs/building/README.md +0 -0
  42. {nucleation-0.1.141 → nucleation-0.1.142}/docs/insign-io-integration.md +0 -0
  43. {nucleation-0.1.141 → nucleation-0.1.142}/docs/javascript/README.md +0 -0
  44. {nucleation-0.1.141 → nucleation-0.1.142}/docs/python/README.md +0 -0
  45. {nucleation-0.1.141 → nucleation-0.1.142}/docs/rust/README.md +0 -0
  46. {nucleation-0.1.141 → nucleation-0.1.142}/docs/shared/guide/circuit-api.md +0 -0
  47. {nucleation-0.1.141 → nucleation-0.1.142}/docs/shared/guide/definition-region.md +0 -0
  48. {nucleation-0.1.141 → nucleation-0.1.142}/docs/shared/guide/schematic-builder.md +0 -0
  49. {nucleation-0.1.141 → nucleation-0.1.142}/docs/shared/guide/typed-executor.md +0 -0
  50. {nucleation-0.1.141 → nucleation-0.1.142}/docs/shared/unicode-palette.md +0 -0
  51. {nucleation-0.1.141 → nucleation-0.1.142}/examples/bracket_notation.rs +0 -0
  52. {nucleation-0.1.141 → nucleation-0.1.142}/examples/build_adder.rs +0 -0
  53. {nucleation-0.1.141 → nucleation-0.1.142}/examples/build_test_adder.rs +0 -0
  54. {nucleation-0.1.141 → nucleation-0.1.142}/examples/building_benchmark.rs +0 -0
  55. {nucleation-0.1.141 → nucleation-0.1.142}/examples/check_adder_dims.rs +0 -0
  56. {nucleation-0.1.141 → nucleation-0.1.142}/examples/connect4_battle_setup.rs +0 -0
  57. {nucleation-0.1.141 → nucleation-0.1.142}/examples/create_simple_litematic.rs +0 -0
  58. {nucleation-0.1.141 → nucleation-0.1.142}/examples/custom_io_signals.rs +0 -0
  59. {nucleation-0.1.141 → nucleation-0.1.142}/examples/ffi.md +0 -0
  60. {nucleation-0.1.141 → nucleation-0.1.142}/examples/generate_gradient_samples.rs +0 -0
  61. {nucleation-0.1.141 → nucleation-0.1.142}/examples/generate_nice_gradients.rs +0 -0
  62. {nucleation-0.1.141 → nucleation-0.1.142}/examples/generate_solid_color_tests.rs +0 -0
  63. {nucleation-0.1.141 → nucleation-0.1.142}/examples/inspect_blockpedia.rs +0 -0
  64. {nucleation-0.1.141 → nucleation-0.1.142}/examples/python.md +0 -0
  65. {nucleation-0.1.141 → nucleation-0.1.142}/examples/python_benchmark.py +0 -0
  66. {nucleation-0.1.141 → nucleation-0.1.142}/examples/python_simulation.py +0 -0
  67. {nucleation-0.1.141 → nucleation-0.1.142}/examples/rust.md +0 -0
  68. {nucleation-0.1.141 → nucleation-0.1.142}/examples/rust_fluent_api.rs +0 -0
  69. {nucleation-0.1.141 → nucleation-0.1.142}/examples/test_asymmetric_cubes.rs +0 -0
  70. {nucleation-0.1.141 → nucleation-0.1.142}/examples/test_checkerboard.rs +0 -0
  71. {nucleation-0.1.141 → nucleation-0.1.142}/examples/test_unicode_circuit.rs +0 -0
  72. {nucleation-0.1.141 → nucleation-0.1.142}/examples/universal_schematic_overhead.rs +0 -0
  73. {nucleation-0.1.141 → nucleation-0.1.142}/examples/wasm.md +0 -0
  74. {nucleation-0.1.141 → nucleation-0.1.142}/helf_adder.litematic +0 -0
  75. {nucleation-0.1.141 → nucleation-0.1.142}/insign.d.ts +0 -0
  76. {nucleation-0.1.141 → nucleation-0.1.142}/nucleation-stubs.php +0 -0
  77. {nucleation-0.1.141 → nucleation-0.1.142}/nucleation.pyi +0 -0
  78. {nucleation-0.1.141 → nucleation-0.1.142}/output/.DS_Store +0 -0
  79. {nucleation-0.1.141 → nucleation-0.1.142}/output/full_adder.litematic +0 -0
  80. {nucleation-0.1.141 → nucleation-0.1.142}/pre-push.sh +0 -0
  81. {nucleation-0.1.141 → nucleation-0.1.142}/py.typed +0 -0
  82. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/LICENSE +0 -0
  83. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/README.md +0 -0
  84. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/libnucleation.d +0 -0
  85. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/nucleation-cdn-loader.js +0 -0
  86. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/nucleation-original.js +0 -0
  87. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/nucleation.d.ts +3 -3
  88. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/nucleation.js +0 -0
  89. {nucleation-0.1.141 → nucleation-0.1.142}/release-artifacts/nucleation_bg.wasm.d.ts +3 -3
  90. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/generated/d_latch.litematic +0 -0
  91. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/generated/xor.schem +0 -0
  92. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/comparator_subtract_bug1.txt +0 -0
  93. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/comparator_subtract_bug2.txt +0 -0
  94. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/comparator_subtract_simple.txt +0 -0
  95. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/comparator_subtract_with_signs.txt +0 -0
  96. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/d_latch.txt +0 -0
  97. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/failing_case.txt +0 -0
  98. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/full_adder.txt +0 -0
  99. {nucleation-0.1.141 → nucleation-0.1.142}/schematic_builder/templates/xor.txt +0 -0
  100. {nucleation-0.1.141 → nucleation-0.1.142}/scripts/update-stubs.sh +0 -0
  101. {nucleation-0.1.141 → nucleation-0.1.142}/src/bin/schematic-builder.rs +0 -0
  102. {nucleation-0.1.141 → nucleation-0.1.142}/src/block_entity/generic.rs +0 -0
  103. {nucleation-0.1.141 → nucleation-0.1.142}/src/block_entity/mod.rs +0 -0
  104. {nucleation-0.1.141 → nucleation-0.1.142}/src/block_position.rs +0 -0
  105. {nucleation-0.1.141 → nucleation-0.1.142}/src/block_state.rs +0 -0
  106. {nucleation-0.1.141 → nucleation-0.1.142}/src/bounding_box.rs +0 -0
  107. {nucleation-0.1.141 → nucleation-0.1.142}/src/building/brushes.rs +0 -0
  108. {nucleation-0.1.141 → nucleation-0.1.142}/src/building/enums.rs +0 -0
  109. {nucleation-0.1.141 → nucleation-0.1.142}/src/building/mod.rs +0 -0
  110. {nucleation-0.1.141 → nucleation-0.1.142}/src/building/shapes.rs +0 -0
  111. {nucleation-0.1.141 → nucleation-0.1.142}/src/chunk.rs +0 -0
  112. {nucleation-0.1.141 → nucleation-0.1.142}/src/definition_region.rs +0 -0
  113. {nucleation-0.1.141 → nucleation-0.1.142}/src/entity.rs +0 -0
  114. {nucleation-0.1.141 → nucleation-0.1.142}/src/ffi.rs +0 -0
  115. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/litematic.rs +0 -0
  116. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/manager.rs +0 -0
  117. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/mod.rs +0 -0
  118. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/schematic.rs +0 -0
  119. {nucleation-0.1.141 → nucleation-0.1.142}/src/formats/sponge_schematic_v3.md +0 -0
  120. {nucleation-0.1.141 → nucleation-0.1.142}/src/insign.rs +0 -0
  121. {nucleation-0.1.141 → nucleation-0.1.142}/src/item/mod.rs +0 -0
  122. {nucleation-0.1.141 → nucleation-0.1.142}/src/item/stack.rs +0 -0
  123. {nucleation-0.1.141 → nucleation-0.1.142}/src/lib.rs +0 -0
  124. {nucleation-0.1.141 → nucleation-0.1.142}/src/metadata.rs +0 -0
  125. {nucleation-0.1.141 → nucleation-0.1.142}/src/nbt/mod.rs +0 -0
  126. {nucleation-0.1.141 → nucleation-0.1.142}/src/php.rs +0 -0
  127. {nucleation-0.1.141 → nucleation-0.1.142}/src/print_utils.rs +0 -0
  128. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/building.rs +0 -0
  129. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/circuit_builder.rs +0 -0
  130. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/definition_region.rs +0 -0
  131. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/mod.rs +0 -0
  132. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/schematic.rs +0 -0
  133. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/schematic_builder.rs +0 -0
  134. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/simulation.rs +0 -0
  135. {nucleation-0.1.141 → nucleation-0.1.142}/src/python/typed_executor.rs +0 -0
  136. {nucleation-0.1.141 → nucleation-0.1.142}/src/region.rs +0 -0
  137. {nucleation-0.1.141 → nucleation-0.1.142}/src/schematic_builder/palettes.rs +0 -0
  138. {nucleation-0.1.141 → nucleation-0.1.142}/src/schematic_builder.rs +0 -0
  139. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/circuit_builder.rs +0 -0
  140. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/mchprs_world.rs +0 -0
  141. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/mod.rs +0 -0
  142. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/tests.rs +0 -0
  143. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/truth_table.rs +0 -0
  144. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/executor.rs +0 -0
  145. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/insign_io.rs +0 -0
  146. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/integration_tests.rs +0 -0
  147. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/io_layout_builder.rs +0 -0
  148. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/io_mapping.rs +0 -0
  149. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/io_type.rs +0 -0
  150. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/layout_function.rs +0 -0
  151. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/mod.rs +0 -0
  152. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/sort_strategy.rs +0 -0
  153. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/tests.rs +0 -0
  154. {nucleation-0.1.141 → nucleation-0.1.142}/src/simulation/typed_executor/value.rs +0 -0
  155. {nucleation-0.1.141 → nucleation-0.1.142}/src/transforms.rs +0 -0
  156. {nucleation-0.1.141 → nucleation-0.1.142}/src/utils/block_string.rs +0 -0
  157. {nucleation-0.1.141 → nucleation-0.1.142}/src/utils/container_spec.rs +0 -0
  158. {nucleation-0.1.141 → nucleation-0.1.142}/src/utils/enhanced_nbt_parser.rs +0 -0
  159. {nucleation-0.1.141 → nucleation-0.1.142}/src/utils/mod.rs +0 -0
  160. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/building.rs +0 -0
  161. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/circuit_builder.rs +0 -0
  162. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/definition_region.rs +0 -0
  163. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/mod.rs +0 -0
  164. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/palettes.rs +0 -0
  165. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/schematic.rs +0 -0
  166. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/schematic_builder.rs +0 -0
  167. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/simulation.rs +0 -0
  168. {nucleation-0.1.141 → nucleation-0.1.142}/src/wasm/typed_executor.rs +0 -0
  169. {nucleation-0.1.141 → nucleation-0.1.142}/test-wasm.sh +0 -0
  170. {nucleation-0.1.141 → nucleation-0.1.142}/test_adder.litematic +0 -0
  171. {nucleation-0.1.141 → nucleation-0.1.142}/test_circuit.txt +0 -0
  172. {nucleation-0.1.141 → nucleation-0.1.142}/test_cli_output.litematic +0 -0
  173. {nucleation-0.1.141 → nucleation-0.1.142}/test_count_format.schem +0 -0
  174. {nucleation-0.1.141 → nucleation-0.1.142}/test_enhanced.schem +0 -0
  175. {nucleation-0.1.141 → nucleation-0.1.142}/test_fixed.schem +0 -0
  176. {nucleation-0.1.141 → nucleation-0.1.142}/tests/.DS_Store +0 -0
  177. {nucleation-0.1.141 → nucleation-0.1.142}/tests/barrel_nbt_test.rs +0 -0
  178. {nucleation-0.1.141 → nucleation-0.1.142}/tests/building_tests.rs +0 -0
  179. {nucleation-0.1.141 → nucleation-0.1.142}/tests/connect4_test.js +0 -0
  180. {nucleation-0.1.141 → nucleation-0.1.142}/tests/debug_flip.rs +0 -0
  181. {nucleation-0.1.141 → nucleation-0.1.142}/tests/definition_regions_test.rs +0 -0
  182. {nucleation-0.1.141 → nucleation-0.1.142}/tests/executor_config_test.js +0 -0
  183. {nucleation-0.1.141 → nucleation-0.1.142}/tests/integration_tests.rs +0 -0
  184. {nucleation-0.1.141 → nucleation-0.1.142}/tests/mchprs_state_test.rs +0 -0
  185. {nucleation-0.1.141 → nucleation-0.1.142}/tests/nbt_parsing_test.rs +0 -0
  186. {nucleation-0.1.141 → nucleation-0.1.142}/tests/node_fluent_api_test.mjs +0 -0
  187. {nucleation-0.1.141 → nucleation-0.1.142}/tests/node_simple_circuit_test.js +0 -0
  188. {nucleation-0.1.141 → nucleation-0.1.142}/tests/node_simple_circuit_test.mjs +0 -0
  189. {nucleation-0.1.141 → nucleation-0.1.142}/tests/node_wasm_test.js +0 -0
  190. {nucleation-0.1.141 → nucleation-0.1.142}/tests/package.json +0 -0
  191. {nucleation-0.1.141 → nucleation-0.1.142}/tests/php-stubs-test.php +0 -0
  192. {nucleation-0.1.141 → nucleation-0.1.142}/tests/property_transformation_demo.rs +0 -0
  193. {nucleation-0.1.141 → nucleation-0.1.142}/tests/python_simple_circuit_test.py +0 -0
  194. {nucleation-0.1.141 → nucleation-0.1.142}/tests/python_test.py +0 -0
  195. {nucleation-0.1.141 → nucleation-0.1.142}/tests/registry_tests.rs +0 -0
  196. {nucleation-0.1.141 → nucleation-0.1.142}/tests/reproduce_bug.rs +0 -0
  197. {nucleation-0.1.141 → nucleation-0.1.142}/tests/rust_fluent_api_test.rs +0 -0
  198. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/16-bit_divider.mcstructure +0 -0
  199. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/1x1.litematic +0 -0
  200. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/3x2x3.litematic +0 -0
  201. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/3x3.litematic +0 -0
  202. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/4x2x4.litematic +0 -0
  203. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/4x4x4+1.litematic +0 -0
  204. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/8-bit_alu.mcstructure +0 -0
  205. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/Evaluator.schem +0 -0
  206. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/all_items.litematic +0 -0
  207. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/and.schem +0 -0
  208. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/brewer.litematic +0 -0
  209. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/c4_ai_last_played.schem +0 -0
  210. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/c4_ai_left_most.schem +0 -0
  211. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/cutecounter.schem +0 -0
  212. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/door_plot.litematic +0 -0
  213. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/file.litematic.l +0 -0
  214. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/flip-flop.mcstructure +0 -0
  215. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/gol.litematic +0 -0
  216. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/large_schematic.schem +0 -0
  217. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/linear_plotter.litematic +0 -0
  218. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/litematic-rose-farm.litematic +0 -0
  219. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/new_chest_test.schem +0 -0
  220. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/quarry.litematic +0 -0
  221. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/sample.litematic +0 -0
  222. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/sample.schem +0 -0
  223. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/spinny.litematic +0 -0
  224. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/ss-sorter.litematic +0 -0
  225. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/storage_thingy.litematic +0 -0
  226. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/test_coordinate_thingy.litematic +0 -0
  227. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/test_cube.schem +0 -0
  228. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/trencher.litematic +0 -0
  229. {nucleation-0.1.141 → nucleation-0.1.142}/tests/samples/wool_palette.litematic +0 -0
  230. {nucleation-0.1.141 → nucleation-0.1.142}/tests/simple_wasm_test.rs +0 -0
  231. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_barrel_hopper_simulation.rs +0 -0
  232. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_chunk_bounds_bug.rs +0 -0
  233. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_comparator_diagonal_bug.rs +0 -0
  234. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_comparator_subtract_bug.rs +0 -0
  235. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_comparator_subtract_executor.rs +0 -0
  236. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_custom_io_adjacent_bug.rs +0 -0
  237. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_custom_io_no_power_bug.rs +0 -0
  238. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_intermediate_wire_sync.rs +0 -0
  239. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_long_wire.rs +0 -0
  240. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_nibble_signal_strength.rs +0 -0
  241. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_region_expansion_bugs.rs +0 -0
  242. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_repeater_chain_sync.rs +0 -0
  243. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_repeater_custom_io_bug.rs +0 -0
  244. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_simulation_with_tight_bounds.rs +0 -0
  245. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_two_inputs_exact_topology.rs +0 -0
  246. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_two_inputs_no_output_bug.rs +0 -0
  247. {nucleation-0.1.141 → nucleation-0.1.142}/tests/test_typed_executor_sync_output_bug.rs +0 -0
  248. {nucleation-0.1.141 → nucleation-0.1.142}/tests/transformation_tests.rs +0 -0
  249. {nucleation-0.1.141 → nucleation-0.1.142}/tests/wasm_node_tests.rs +0 -0
  250. {nucleation-0.1.141 → nucleation-0.1.142}/tests/wasm_tests.rs +0 -0
  251. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/bun.lockb +0 -0
  252. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/index.html +0 -0
  253. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/index.js +0 -0
  254. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/minecraft_schematic_utils.js +0 -0
  255. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/minecraft_schematic_utils_bg.wasm +0 -0
  256. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/LICENSE +0 -0
  257. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/README.md +0 -0
  258. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/assert/strict.d.ts +0 -0
  259. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/assert.d.ts +0 -0
  260. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/async_hooks.d.ts +0 -0
  261. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/buffer.d.ts +0 -0
  262. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/child_process.d.ts +0 -0
  263. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/cluster.d.ts +0 -0
  264. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/console.d.ts +0 -0
  265. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/constants.d.ts +0 -0
  266. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/crypto.d.ts +0 -0
  267. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/dgram.d.ts +0 -0
  268. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  269. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/dns/promises.d.ts +0 -0
  270. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/dns.d.ts +0 -0
  271. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/dom-events.d.ts +0 -0
  272. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/domain.d.ts +0 -0
  273. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/events.d.ts +0 -0
  274. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/fs/promises.d.ts +0 -0
  275. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/fs.d.ts +0 -0
  276. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/globals.d.ts +0 -0
  277. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/globals.global.d.ts +0 -0
  278. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/http.d.ts +0 -0
  279. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/http2.d.ts +0 -0
  280. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/https.d.ts +0 -0
  281. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/index.d.ts +0 -0
  282. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/inspector.d.ts +0 -0
  283. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/module.d.ts +0 -0
  284. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/net.d.ts +0 -0
  285. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/os.d.ts +0 -0
  286. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/package.json +0 -0
  287. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/path.d.ts +0 -0
  288. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/perf_hooks.d.ts +0 -0
  289. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/process.d.ts +0 -0
  290. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/punycode.d.ts +0 -0
  291. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/querystring.d.ts +0 -0
  292. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/readline/promises.d.ts +0 -0
  293. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/readline.d.ts +0 -0
  294. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/repl.d.ts +0 -0
  295. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/sea.d.ts +0 -0
  296. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/stream/consumers.d.ts +0 -0
  297. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/stream/promises.d.ts +0 -0
  298. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/stream/web.d.ts +0 -0
  299. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/stream.d.ts +0 -0
  300. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/string_decoder.d.ts +0 -0
  301. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/test.d.ts +0 -0
  302. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/timers/promises.d.ts +0 -0
  303. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/timers.d.ts +0 -0
  304. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/tls.d.ts +0 -0
  305. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/trace_events.d.ts +0 -0
  306. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/tty.d.ts +0 -0
  307. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/url.d.ts +0 -0
  308. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/util.d.ts +0 -0
  309. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/v8.d.ts +0 -0
  310. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/vm.d.ts +0 -0
  311. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/wasi.d.ts +0 -0
  312. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/worker_threads.d.ts +0 -0
  313. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/node/zlib.d.ts +0 -0
  314. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/LICENSE +0 -0
  315. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/README.md +0 -0
  316. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/index.d.mts +0 -0
  317. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/index.d.ts +0 -0
  318. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -0
  319. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/README.md +0 -0
  320. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -0
  321. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -0
  322. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -0
  323. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -0
  324. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -0
  325. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -0
  326. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -0
  327. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -0
  328. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -0
  329. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -0
  330. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  331. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -0
  332. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -0
  333. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dom-events.d.ts +0 -0
  334. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -0
  335. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -0
  336. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -0
  337. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -0
  338. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -0
  339. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.global.d.ts +0 -0
  340. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -0
  341. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -0
  342. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -0
  343. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -0
  344. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -0
  345. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -0
  346. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -0
  347. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/LICENSE +0 -0
  348. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/README.md +0 -0
  349. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/agent.d.ts +0 -0
  350. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/api.d.ts +0 -0
  351. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts +0 -0
  352. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cache.d.ts +0 -0
  353. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/client.d.ts +0 -0
  354. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/connector.d.ts +0 -0
  355. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/content-type.d.ts +0 -0
  356. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cookies.d.ts +0 -0
  357. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  358. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts +0 -0
  359. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
  360. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/errors.d.ts +0 -0
  361. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/eventsource.d.ts +0 -0
  362. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/fetch.d.ts +0 -0
  363. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/file.d.ts +0 -0
  364. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/filereader.d.ts +0 -0
  365. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/formdata.d.ts +0 -0
  366. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  367. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-origin.d.ts +0 -0
  368. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/handlers.d.ts +0 -0
  369. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/header.d.ts +0 -0
  370. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/index.d.ts +0 -0
  371. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/interceptors.d.ts +0 -0
  372. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts +0 -0
  373. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-client.d.ts +0 -0
  374. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts +0 -0
  375. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  376. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts +0 -0
  377. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/package.json +0 -0
  378. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/patch.d.ts +0 -0
  379. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts +0 -0
  380. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool.d.ts +0 -0
  381. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts +0 -0
  382. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/readable.d.ts +0 -0
  383. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts +0 -0
  384. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts +0 -0
  385. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/util.d.ts +0 -0
  386. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/webidl.d.ts +0 -0
  387. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/websocket.d.ts +0 -0
  388. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -0
  389. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/package.json +0 -0
  390. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -0
  391. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -0
  392. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -0
  393. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -0
  394. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -0
  395. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -0
  396. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -0
  397. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -0
  398. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -0
  399. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -0
  400. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -0
  401. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -0
  402. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -0
  403. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -0
  404. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -0
  405. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -0
  406. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -0
  407. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -0
  408. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -0
  409. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -0
  410. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -0
  411. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -0
  412. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -0
  413. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -0
  414. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -0
  415. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -0
  416. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -0
  417. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -0
  418. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/@types/ws/package.json +0 -0
  419. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/README.md +0 -0
  420. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/bun.d.ts +0 -0
  421. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/deprecated.d.ts +0 -0
  422. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/fetch.d.ts +0 -0
  423. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/ffi.d.ts +0 -0
  424. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/globals.d.ts +0 -0
  425. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/html-rewriter.d.ts +0 -0
  426. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/index.d.ts +0 -0
  427. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/jsc.d.ts +0 -0
  428. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/overrides.d.ts +0 -0
  429. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/package.json +0 -0
  430. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/sqlite.d.ts +0 -0
  431. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/test.d.ts +0 -0
  432. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/bun-types/wasm.d.ts +0 -0
  433. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/README.md +0 -0
  434. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/agent.d.ts +0 -0
  435. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/api.d.ts +0 -0
  436. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/balanced-pool.d.ts +0 -0
  437. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/cache.d.ts +0 -0
  438. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/client.d.ts +0 -0
  439. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/connector.d.ts +0 -0
  440. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/content-type.d.ts +0 -0
  441. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/cookies.d.ts +0 -0
  442. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  443. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/dispatcher.d.ts +0 -0
  444. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/errors.d.ts +0 -0
  445. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/fetch.d.ts +0 -0
  446. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/file.d.ts +0 -0
  447. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/filereader.d.ts +0 -0
  448. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/formdata.d.ts +0 -0
  449. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  450. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/global-origin.d.ts +0 -0
  451. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/handlers.d.ts +0 -0
  452. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/header.d.ts +0 -0
  453. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/index.d.ts +0 -0
  454. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/interceptors.d.ts +0 -0
  455. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/mock-agent.d.ts +0 -0
  456. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/mock-client.d.ts +0 -0
  457. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/mock-errors.d.ts +0 -0
  458. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  459. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/mock-pool.d.ts +0 -0
  460. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/package.json +0 -0
  461. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/patch.d.ts +0 -0
  462. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/pool-stats.d.ts +0 -0
  463. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/pool.d.ts +0 -0
  464. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/proxy-agent.d.ts +0 -0
  465. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/readable.d.ts +0 -0
  466. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/webidl.d.ts +0 -0
  467. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/node_modules/undici-types/websocket.d.ts +0 -0
  468. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/nucleation-web.js +0 -0
  469. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/nucleation-web_bg.wasm +0 -0
  470. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/nucleation.js +0 -0
  471. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/nucleation_bg.js +0 -0
  472. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/nucleation_bg.wasm +0 -0
  473. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/package.json +0 -0
  474. {nucleation-0.1.141 → nucleation-0.1.142}/wasm-test/server.js +0 -0
@@ -234,12 +234,14 @@ dependencies = [
234
234
 
235
235
  [[package]]
236
236
  name = "blockpedia"
237
- version = "0.1.7"
237
+ version = "0.1.8"
238
238
  source = "registry+https://github.com/rust-lang/crates.io-index"
239
- checksum = "9fd332d4a740078986617b2989e8d285b8e7b5e113b86732dbfd0fe168a0f878"
239
+ checksum = "616422e09c183aa4dca9b226ac5a12766df2bb69f7a570ea3a9785e3a8d35ba1"
240
240
  dependencies = [
241
241
  "anyhow",
242
242
  "console_error_panic_hook",
243
+ "fastnbt",
244
+ "flate2",
243
245
  "image",
244
246
  "js-sys",
245
247
  "palette",
@@ -247,6 +249,7 @@ dependencies = [
247
249
  "phf_codegen",
248
250
  "serde",
249
251
  "serde-wasm-bindgen 0.6.5",
252
+ "serde_bytes",
250
253
  "serde_json",
251
254
  "thiserror 1.0.69",
252
255
  "tokio",
@@ -953,6 +956,18 @@ version = "1.0.0"
953
956
  source = "registry+https://github.com/rust-lang/crates.io-index"
954
957
  checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1"
955
958
 
959
+ [[package]]
960
+ name = "fastnbt"
961
+ version = "2.6.0"
962
+ source = "registry+https://github.com/rust-lang/crates.io-index"
963
+ checksum = "29e3bb1f9ba8b6dbb35d89b415216041c2cad0c3e0b329db85ef5d4fc9e80cd6"
964
+ dependencies = [
965
+ "byteorder",
966
+ "cesu8",
967
+ "serde",
968
+ "serde_bytes",
969
+ ]
970
+
956
971
  [[package]]
957
972
  name = "fastrand"
958
973
  version = "2.3.0"
@@ -1845,7 +1860,7 @@ dependencies = [
1845
1860
 
1846
1861
  [[package]]
1847
1862
  name = "nucleation"
1848
- version = "0.1.141"
1863
+ version = "0.1.142"
1849
1864
  dependencies = [
1850
1865
  "base64",
1851
1866
  "blockpedia",
@@ -2757,6 +2772,16 @@ dependencies = [
2757
2772
  "wasm-bindgen",
2758
2773
  ]
2759
2774
 
2775
+ [[package]]
2776
+ name = "serde_bytes"
2777
+ version = "0.11.19"
2778
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2779
+ checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8"
2780
+ dependencies = [
2781
+ "serde",
2782
+ "serde_core",
2783
+ ]
2784
+
2760
2785
  [[package]]
2761
2786
  name = "serde_core"
2762
2787
  version = "1.0.228"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "nucleation"
3
- version = "0.1.141"
3
+ version = "0.1.142"
4
4
  edition = "2021"
5
5
  description = "A high-performance Minecraft schematic parser and utility library"
6
6
  authors = ["Nano nano@schem.at"]
@@ -44,7 +44,7 @@ flate2 = "1.1.2"
44
44
  log = "0.4.22"
45
45
  console = "0.15.8"
46
46
  insign = "0.1.1"
47
- blockpedia = { version = "0.1.7", default-features = false, features = ["wasm"] }
47
+ blockpedia = { version = "0.1.8", default-features = false, features = ["wasm"] }
48
48
 
49
49
  tracing-subscriber = { version = "0.3", features = ["env-filter"] }
50
50
  hematite-nbt = "*"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucleation
3
- Version: 0.1.141
3
+ Version: 0.1.142
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "nucleation"
7
- version = "0.1.141"
7
+ version = "0.1.142"
8
8
  description = "A high-performance Minecraft schematic parser and utility library"
9
9
  authors = [{ name = "Nano", email = "nano@schem.at" }]
10
10
  license = { text = "AGPL-3.0-only" }
@@ -5,7 +5,7 @@
5
5
  "Nano nano@schem.at"
6
6
  ],
7
7
  "description": "A high-performance Minecraft schematic parser and utility library",
8
- "version": "0.1.141",
8
+ "version": "0.1.142",
9
9
  "license": "AGPL-3.0-only",
10
10
  "repository": {
11
11
  "type": "git",
Binary file
@@ -7,6 +7,7 @@ use crate::region::Region;
7
7
  use crate::universal_schematic::UniversalSchematic;
8
8
  use crate::BlockState;
9
9
  use blockpedia;
10
+ use blockpedia::block_entity::{BlockEntityTranslator, NbtValue as BpNbtValue};
10
11
  use std::collections::HashMap;
11
12
  use std::io::Cursor;
12
13
 
@@ -246,6 +247,18 @@ pub fn from_mcstructure(data: &[u8]) -> Result<UniversalSchematic, Box<dyn std::
246
247
  be_nbt.insert("y".to_string(), NbtValue::Int(y));
247
248
  be_nbt.insert("z".to_string(), NbtValue::Int(z));
248
249
 
250
+ // Translate NBT using Blockpedia
251
+ let bp_nbt = to_bp_nbt(&NbtValue::Compound(be_nbt.clone()));
252
+ if let BpNbtValue::Compound(bp_map) = bp_nbt {
253
+ let translated_bp_map =
254
+ BlockEntityTranslator::translate_bedrock_to_java(&bp_map);
255
+ if let NbtValue::Compound(translated_map) =
256
+ from_bp_nbt(&BpNbtValue::Compound(translated_bp_map))
257
+ {
258
+ be_nbt = translated_map;
259
+ }
260
+ }
261
+
249
262
  // Extract ID and Pos for BlockEntity constructor
250
263
  let id = be_nbt
251
264
  .get("id")
@@ -457,3 +470,49 @@ pub fn to_mcstructure(
457
470
 
458
471
  Ok(cursor.into_inner())
459
472
  }
473
+
474
+ fn to_bp_nbt(val: &NbtValue) -> BpNbtValue {
475
+ match val {
476
+ NbtValue::Byte(v) => BpNbtValue::Byte(*v),
477
+ NbtValue::Short(v) => BpNbtValue::Short(*v),
478
+ NbtValue::Int(v) => BpNbtValue::Int(*v),
479
+ NbtValue::Long(v) => BpNbtValue::Long(*v),
480
+ NbtValue::Float(v) => BpNbtValue::Float(*v),
481
+ NbtValue::Double(v) => BpNbtValue::Double(*v),
482
+ NbtValue::String(v) => BpNbtValue::String(v.clone()),
483
+ NbtValue::ByteArray(v) => BpNbtValue::ByteArray(v.clone()),
484
+ NbtValue::IntArray(v) => BpNbtValue::IntArray(v.clone()),
485
+ NbtValue::LongArray(v) => BpNbtValue::LongArray(v.clone()),
486
+ NbtValue::List(v) => BpNbtValue::List(v.iter().map(to_bp_nbt).collect()),
487
+ NbtValue::Compound(v) => {
488
+ let mut map = HashMap::new();
489
+ for (k, val) in v.iter() {
490
+ map.insert(k.clone(), to_bp_nbt(val));
491
+ }
492
+ BpNbtValue::Compound(map)
493
+ }
494
+ }
495
+ }
496
+
497
+ fn from_bp_nbt(val: &BpNbtValue) -> NbtValue {
498
+ match val {
499
+ BpNbtValue::Byte(v) => NbtValue::Byte(*v),
500
+ BpNbtValue::Short(v) => NbtValue::Short(*v),
501
+ BpNbtValue::Int(v) => NbtValue::Int(*v),
502
+ BpNbtValue::Long(v) => NbtValue::Long(*v),
503
+ BpNbtValue::Float(v) => NbtValue::Float(*v),
504
+ BpNbtValue::Double(v) => NbtValue::Double(*v),
505
+ BpNbtValue::String(v) => NbtValue::String(v.clone()),
506
+ BpNbtValue::ByteArray(v) => NbtValue::ByteArray(v.clone()),
507
+ BpNbtValue::IntArray(v) => NbtValue::IntArray(v.clone()),
508
+ BpNbtValue::LongArray(v) => NbtValue::LongArray(v.clone()),
509
+ BpNbtValue::List(v) => NbtValue::List(v.iter().map(from_bp_nbt).collect()),
510
+ BpNbtValue::Compound(v) => {
511
+ let mut map = NbtMap::new();
512
+ for (k, val) in v {
513
+ map.insert(k.clone(), from_bp_nbt(val));
514
+ }
515
+ NbtValue::Compound(map)
516
+ }
517
+ }
518
+ }
@@ -604,6 +604,9 @@ impl UniversalSchematic {
604
604
  ("west", -1, 0),
605
605
  ];
606
606
 
607
+ let mut connection_states = Vec::new();
608
+ let mut connected_count = 0;
609
+
607
610
  for (dir, dx, dz) in directions {
608
611
  let side_val = if self.should_connect_redstone(region_name, x, y, z, dx, dz)
609
612
  {
@@ -613,10 +616,38 @@ impl UniversalSchematic {
613
616
  } else {
614
617
  "none"
615
618
  };
616
- new_block
617
- .properties
618
- .insert(dir.to_string(), side_val.to_string());
619
+
620
+ if side_val != "none" {
621
+ connected_count += 1;
622
+ }
623
+ connection_states.push((dir, side_val.to_string()));
624
+ }
625
+
626
+ // Fix single connection issue: if only 1 connected, opposite becomes side
627
+ if connected_count == 1 {
628
+ // Find the connected one
629
+ if let Some(idx) =
630
+ connection_states.iter().position(|(_, val)| val != "none")
631
+ {
632
+ // 0=north, 1=south, 2=east, 3=west
633
+ // Opposites: 0<->1, 2<->3
634
+ let opposite_idx = match idx {
635
+ 0 => 1,
636
+ 1 => 0,
637
+ 2 => 3,
638
+ 3 => 2,
639
+ _ => unreachable!(),
640
+ };
641
+
642
+ // Force opposite to be "side"
643
+ connection_states[opposite_idx].1 = "side".to_string();
644
+ }
619
645
  }
646
+
647
+ for (dir, val) in connection_states {
648
+ new_block.properties.insert(dir.to_string(), val);
649
+ }
650
+
620
651
  self.set_block_in_region(region_name, x, y, z, &new_block);
621
652
  }
622
653
  }
Binary file
@@ -0,0 +1,118 @@
1
+ use nucleation::formats::mcstructure::from_mcstructure;
2
+ use nucleation::formats::schematic::to_schematic;
3
+ use nucleation::nbt::NbtValue;
4
+ use std::io::Write;
5
+ use std::path::PathBuf;
6
+
7
+ #[test]
8
+ fn test_auto_register_conversion() {
9
+ let path =
10
+ PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/samples/auto_register.mcstructure");
11
+
12
+ if !path.exists() {
13
+ // Skip if file not present (e.g. CI)
14
+ return;
15
+ }
16
+
17
+ let data = std::fs::read(&path).expect("Failed to read file");
18
+ let schematic = from_mcstructure(&data).expect("Failed to import mcstructure");
19
+ let region = schematic.get_merged_region();
20
+ let palette = region.get_palette();
21
+
22
+ // 1. Check Comparators
23
+ let comparators: Vec<_> = palette
24
+ .iter()
25
+ .filter(|b| b.name == "minecraft:comparator")
26
+ .collect();
27
+
28
+ assert!(
29
+ !comparators.is_empty(),
30
+ "Should have translated comparators"
31
+ );
32
+
33
+ for comp in comparators {
34
+ assert!(
35
+ comp.properties.contains_key("facing"),
36
+ "Comparator missing facing: {:?}",
37
+ comp
38
+ );
39
+ assert!(
40
+ comp.properties.contains_key("mode"),
41
+ "Comparator missing mode: {:?}",
42
+ comp
43
+ );
44
+ assert!(
45
+ comp.properties.contains_key("powered"),
46
+ "Comparator missing powered: {:?}",
47
+ comp
48
+ );
49
+
50
+ let mode = comp.properties.get("mode").unwrap();
51
+ assert!(
52
+ mode == "compare" || mode == "subtract",
53
+ "Invalid mode: {}",
54
+ mode
55
+ );
56
+ }
57
+
58
+ // 2. Check Barrels (Items translation)
59
+ let barrels_count = region
60
+ .block_entities
61
+ .iter()
62
+ .filter(|(_, be)| be.id == "Barrel" || be.id == "minecraft:barrel")
63
+ .count();
64
+ assert!(barrels_count > 0, "Should have barrels");
65
+
66
+ for (_, be) in &region.block_entities {
67
+ if be.id.to_lowercase().contains("barrel") {
68
+ if let Some(NbtValue::List(items)) = be.nbt.get("Items") {
69
+ for item in items {
70
+ if let NbtValue::Compound(c) = item {
71
+ assert!(c.get("id").is_some(), "Item missing id: {:?}", c);
72
+ assert!(
73
+ c.get("Name").is_none(),
74
+ "Item should not have Name: {:?}",
75
+ c
76
+ );
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ // 3. Check Redstone connections
84
+ let redstone_wires: Vec<_> = palette
85
+ .iter()
86
+ .filter(|b| b.name == "minecraft:redstone_wire")
87
+ .collect();
88
+
89
+ for wire in redstone_wires {
90
+ let directions = ["north", "south", "east", "west"];
91
+ let mut connections = 0;
92
+ for dir in directions {
93
+ if let Some(val) = wire.properties.get(dir) {
94
+ if val != "none" {
95
+ connections += 1;
96
+ }
97
+ }
98
+ }
99
+
100
+ // This assertion might fail for wires that are truly isolated (0 connections),
101
+ // but the fix ensures that if there is 1, it becomes 2.
102
+ // So connections can be 0 or >= 2. It cannot be 1.
103
+ assert!(
104
+ connections != 1,
105
+ "Redstone wire has exactly 1 connection: {:?}",
106
+ wire
107
+ );
108
+ }
109
+
110
+ // 4. Export to .schem
111
+ let schem_data = to_schematic(&schematic).expect("Failed to export to .schem");
112
+ let output_path =
113
+ PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/samples/auto_register.schem");
114
+ let mut file = std::fs::File::create(&output_path).expect("Failed to create output file");
115
+ file.write_all(&schem_data)
116
+ .expect("Failed to write to file");
117
+ println!("Exported converted schematic to: {:?}", output_path);
118
+ }
@@ -60,8 +60,9 @@ fn test_mcstructure_properties() {
60
60
  props.insert("powered".to_string(), "true".to_string()); // Should become Byte(1)
61
61
  props.insert("layers".to_string(), "8".to_string()); // Should become Int(8)
62
62
 
63
+ // Use a custom block to avoid blockpedia validation stripping invalid properties for vanilla blocks
63
64
  let block = BlockState {
64
- name: "minecraft:snow".to_string(),
65
+ name: "custom:snow_variant".to_string(),
65
66
  properties: props,
66
67
  };
67
68
 
@@ -72,7 +73,7 @@ fn test_mcstructure_properties() {
72
73
  let loaded = from_mcstructure(&data).expect("Failed to import");
73
74
 
74
75
  let loaded_block = loaded.get_block(0, 0, 0).unwrap();
75
- assert_eq!(loaded_block.name, "minecraft:snow");
76
+ assert_eq!(loaded_block.name, "custom:snow_variant");
76
77
  assert_eq!(loaded_block.properties.get("facing").unwrap(), "north");
77
78
  assert_eq!(loaded_block.properties.get("powered").unwrap(), "true");
78
79
  assert_eq!(loaded_block.properties.get("layers").unwrap(), "8");
Binary file
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1314,16 +1314,16 @@ export interface InitOutput {
1314
1314
  readonly definitionregionwrapper_copy: (a: number) => number;
1315
1315
  readonly schematicwrapper_create_simulation_world: (a: number) => [number, number, number];
1316
1316
  readonly __wbg_blockposition_free: (a: number, b: number) => void;
1317
- readonly __wbg_blockstatewrapper_free: (a: number, b: number) => void;
1318
1317
  readonly __wbg_get_blockposition_x: (a: number) => number;
1319
1318
  readonly __wbg_get_blockposition_y: (a: number) => number;
1320
1319
  readonly __wbg_get_blockposition_z: (a: number) => number;
1321
- readonly __wbg_lazychunkiterator_free: (a: number, b: number) => void;
1322
- readonly __wbg_schematicwrapper_free: (a: number, b: number) => void;
1323
1320
  readonly __wbg_set_blockposition_x: (a: number, b: number) => void;
1324
1321
  readonly __wbg_set_blockposition_y: (a: number, b: number) => void;
1325
1322
  readonly __wbg_set_blockposition_z: (a: number, b: number) => void;
1326
1323
  readonly blockposition_new: (a: number, b: number, c: number) => number;
1324
+ readonly __wbg_blockstatewrapper_free: (a: number, b: number) => void;
1325
+ readonly __wbg_lazychunkiterator_free: (a: number, b: number) => void;
1326
+ readonly __wbg_schematicwrapper_free: (a: number, b: number) => void;
1327
1327
  readonly blockstatewrapper_name: (a: number) => [number, number];
1328
1328
  readonly blockstatewrapper_new: (a: number, b: number) => number;
1329
1329
  readonly blockstatewrapper_properties: (a: number) => any;
@@ -190,16 +190,16 @@ export const sortstrategywrapper_zyx: () => number;
190
190
  export const definitionregionwrapper_copy: (a: number) => number;
191
191
  export const schematicwrapper_create_simulation_world: (a: number) => [number, number, number];
192
192
  export const __wbg_blockposition_free: (a: number, b: number) => void;
193
- export const __wbg_blockstatewrapper_free: (a: number, b: number) => void;
194
193
  export const __wbg_get_blockposition_x: (a: number) => number;
195
194
  export const __wbg_get_blockposition_y: (a: number) => number;
196
195
  export const __wbg_get_blockposition_z: (a: number) => number;
197
- export const __wbg_lazychunkiterator_free: (a: number, b: number) => void;
198
- export const __wbg_schematicwrapper_free: (a: number, b: number) => void;
199
196
  export const __wbg_set_blockposition_x: (a: number, b: number) => void;
200
197
  export const __wbg_set_blockposition_y: (a: number, b: number) => void;
201
198
  export const __wbg_set_blockposition_z: (a: number, b: number) => void;
202
199
  export const blockposition_new: (a: number, b: number, c: number) => number;
200
+ export const __wbg_blockstatewrapper_free: (a: number, b: number) => void;
201
+ export const __wbg_lazychunkiterator_free: (a: number, b: number) => void;
202
+ export const __wbg_schematicwrapper_free: (a: number, b: number) => void;
203
203
  export const blockstatewrapper_name: (a: number) => [number, number];
204
204
  export const blockstatewrapper_new: (a: number, b: number) => number;
205
205
  export const blockstatewrapper_properties: (a: number) => any;