sapdon 2.0.0

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 (908) hide show
  1. package/.gitattributes +2 -0
  2. package/LICENSE +21 -0
  3. package/README.md +26 -0
  4. package/doc/api.md +128 -0
  5. package/examples/digitCircuit/build.config +28 -0
  6. package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_and_gate.json +152 -0
  7. package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_not_gate.json +152 -0
  8. package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_or_gate.json +152 -0
  9. package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_wire.json +103 -0
  10. package/examples/digitCircuit/dev/digitCircuit_BP/manifest.json +60 -0
  11. package/examples/digitCircuit/dev/digitCircuit_BP/pack_icon.png +0 -0
  12. package/examples/digitCircuit/dev/digitCircuit_BP/scripts/index.js +95 -0
  13. package/examples/digitCircuit/dev/digitCircuit_RP/blocks.json +43 -0
  14. package/examples/digitCircuit/dev/digitCircuit_RP/manifest.json +44 -0
  15. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/arcane_workbench.geo.json +106 -0
  16. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/crop.geo.json +147 -0
  17. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal.geo.json +47 -0
  18. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_0.geo.json +59 -0
  19. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_1.geo.json +59 -0
  20. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_2.geo.json +59 -0
  21. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_3.geo.json +59 -0
  22. package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/wire.geo.json +154 -0
  23. package/examples/digitCircuit/dev/digitCircuit_RP/pack_icon.png +0 -0
  24. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/and_gate.png +0 -0
  25. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/not_gate.png +0 -0
  26. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/or_gate.png +0 -0
  27. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/test_log_oak.png +0 -0
  28. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/test_log_top.png +0 -0
  29. package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/wire.png +0 -0
  30. package/examples/digitCircuit/dev/digitCircuit_RP/textures/item_texture.json +9 -0
  31. package/examples/digitCircuit/dev/digitCircuit_RP/textures/items/masterball.png +0 -0
  32. package/examples/digitCircuit/dev/digitCircuit_RP/textures/terrain_texture.json +26 -0
  33. package/examples/digitCircuit/lib/wire.js +20 -0
  34. package/examples/digitCircuit/main.mjs +14 -0
  35. package/examples/digitCircuit/mod.info +7 -0
  36. package/examples/digitCircuit/pack_icon.png +0 -0
  37. package/examples/digitCircuit/res/models/blocks/arcane_workbench.geo.json +106 -0
  38. package/examples/digitCircuit/res/models/blocks/crop.geo.json +147 -0
  39. package/examples/digitCircuit/res/models/blocks/jar_normal.geo.json +47 -0
  40. package/examples/digitCircuit/res/models/blocks/jar_normal_0.geo.json +59 -0
  41. package/examples/digitCircuit/res/models/blocks/jar_normal_1.geo.json +59 -0
  42. package/examples/digitCircuit/res/models/blocks/jar_normal_2.geo.json +59 -0
  43. package/examples/digitCircuit/res/models/blocks/jar_normal_3.geo.json +59 -0
  44. package/examples/digitCircuit/res/models/blocks/wire.geo.json +154 -0
  45. package/examples/digitCircuit/res/textures/blocks/and_gate.png +0 -0
  46. package/examples/digitCircuit/res/textures/blocks/not_gate.png +0 -0
  47. package/examples/digitCircuit/res/textures/blocks/or_gate.png +0 -0
  48. package/examples/digitCircuit/res/textures/blocks/test_log_oak.png +0 -0
  49. package/examples/digitCircuit/res/textures/blocks/test_log_top.png +0 -0
  50. package/examples/digitCircuit/res/textures/blocks/wire.png +0 -0
  51. package/examples/digitCircuit/res/textures/items/masterball.png +0 -0
  52. package/examples/digitCircuit/scripts/index.js +95 -0
  53. package/examples/masterball/build.config +28 -0
  54. package/examples/masterball/dev/masterball[1.20.20+].mcaddon.zip +0 -0
  55. package/examples/masterball/dev/masterball_BP/entities/sapdon_projectile_masterball.json +56 -0
  56. package/examples/masterball/dev/masterball_BP/items/sapdon_caught_masterball.json +32 -0
  57. package/examples/masterball/dev/masterball_BP/items/sapdon_uncaught_masterball.json +31 -0
  58. package/examples/masterball/dev/masterball_BP/manifest.json +60 -0
  59. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/entities/sapdon_projectile_masterball.json +56 -0
  60. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/items/sapdon_caught_masterball.json +32 -0
  61. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/items/sapdon_uncaught_masterball.json +31 -0
  62. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/manifest.json +60 -0
  63. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/pack_icon.png +0 -0
  64. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/scripts/index.js +159 -0
  65. package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20.zip +0 -0
  66. package/examples/masterball/dev/masterball_BP/pack_icon.png +0 -0
  67. package/examples/masterball/dev/masterball_BP/scripts/index.js +159 -0
  68. package/examples/masterball/dev/masterball_RP/blocks.json +3 -0
  69. package/examples/masterball/dev/masterball_RP/entity/sapdon_projectile_masterball.json +28 -0
  70. package/examples/masterball/dev/masterball_RP/manifest.json +44 -0
  71. package/examples/masterball/dev/masterball_RP/masterball_RP_1_20_20.zip +0 -0
  72. package/examples/masterball/dev/masterball_RP/pack_icon.png +0 -0
  73. package/examples/masterball/dev/masterball_RP/textures/blocks/test_log_oak.png +0 -0
  74. package/examples/masterball/dev/masterball_RP/textures/blocks/test_log_top.png +0 -0
  75. package/examples/masterball/dev/masterball_RP/textures/item_texture.json +9 -0
  76. package/examples/masterball/dev/masterball_RP/textures/items/masterball.png +0 -0
  77. package/examples/masterball/dev/masterball_RP/textures/terrain_texture.json +14 -0
  78. package/examples/masterball/main.mjs +24 -0
  79. package/examples/masterball/mod.info +7 -0
  80. package/examples/masterball/pack_icon.png +0 -0
  81. package/examples/masterball/res/textures/blocks/test_log_oak.png +0 -0
  82. package/examples/masterball/res/textures/blocks/test_log_top.png +0 -0
  83. package/examples/masterball/res/textures/items/masterball.png +0 -0
  84. package/examples/masterball/scripts/index.js +159 -0
  85. package/examples/test/dev/test_BP/biomes/test_biome.json +48 -0
  86. package/examples/test/dev/test_BP/blocks/sapdon_block.json +111 -0
  87. package/examples/test/dev/test_BP/blocks/sapdon_ore_cinnabar.json +16 -0
  88. package/examples/test/dev/test_BP/blocks/sapdon_test_block.json +16 -0
  89. package/examples/test/dev/test_BP/blocks/sapdon_test_crop.json +192 -0
  90. package/examples/test/dev/test_BP/blocks/sapdon_wire.json +103 -0
  91. package/examples/test/dev/test_BP/entities/sapdon_body.json +118 -0
  92. package/examples/test/dev/test_BP/entities/sapdon_test_entity_ctrl1.json +55 -0
  93. package/examples/test/dev/test_BP/entities/sapdon_test_entity_ctrl2.json +61 -0
  94. package/examples/test/dev/test_BP/entities/sapdon_test_entity_header.json +408 -0
  95. package/examples/test/dev/test_BP/entities/sapdon_test_projectile.json +56 -0
  96. package/examples/test/dev/test_BP/feature_rules/ore_cinnabar_orefeatre_rule.json +53 -0
  97. package/examples/test/dev/test_BP/feature_rules/overworld_underground_titanite_ore_feature.json +53 -0
  98. package/examples/test/dev/test_BP/features/ore_cinnabar_ore_feature.json +17 -0
  99. package/examples/test/dev/test_BP/features/titanite_ore_feature.json +23 -0
  100. package/examples/test/dev/test_BP/items/sapdon_chest.json +23 -0
  101. package/examples/test/dev/test_BP/items/sapdon_test_food.json +26 -0
  102. package/examples/test/dev/test_BP/items/sapdon_test_item.json +31 -0
  103. package/examples/test/dev/test_BP/manifest.json +60 -0
  104. package/examples/test/dev/test_BP/pack_icon.png +0 -0
  105. package/examples/test/dev/test_BP/recipes/sapdon_test_furnace.json +13 -0
  106. package/examples/test/dev/test_BP/scripts/custom_components/cropComponent.js +59 -0
  107. package/examples/test/dev/test_BP/scripts/index.js +101 -0
  108. package/examples/test/dev/test_RP/attachables/sapdon_chest.json +25 -0
  109. package/examples/test/dev/test_RP/blocks.json +43 -0
  110. package/examples/test/dev/test_RP/entity/sapdon_body.json +44 -0
  111. package/examples/test/dev/test_RP/entity/sapdon_test_entity_ctrl1.json +38 -0
  112. package/examples/test/dev/test_RP/entity/sapdon_test_entity_ctrl2.json +38 -0
  113. package/examples/test/dev/test_RP/entity/sapdon_test_entity_header.json +44 -0
  114. package/examples/test/dev/test_RP/entity/sapdon_test_projectile.json +28 -0
  115. package/examples/test/dev/test_RP/manifest.json +44 -0
  116. package/examples/test/dev/test_RP/models/blocks/arcane_workbench.geo.json +106 -0
  117. package/examples/test/dev/test_RP/models/blocks/crop.geo.json +147 -0
  118. package/examples/test/dev/test_RP/models/blocks/jar_normal.geo.json +47 -0
  119. package/examples/test/dev/test_RP/models/blocks/jar_normal_0.geo.json +59 -0
  120. package/examples/test/dev/test_RP/models/blocks/jar_normal_1.geo.json +59 -0
  121. package/examples/test/dev/test_RP/models/blocks/jar_normal_2.geo.json +59 -0
  122. package/examples/test/dev/test_RP/models/blocks/jar_normal_3.geo.json +59 -0
  123. package/examples/test/dev/test_RP/models/blocks/wire.geo.json +154 -0
  124. package/examples/test/dev/test_RP/pack_icon.png +0 -0
  125. package/examples/test/dev/test_RP/textures/blocks/animatedglow.png +0 -0
  126. package/examples/test/dev/test_RP/textures/blocks/arcane_workbench_side.png +0 -0
  127. package/examples/test/dev/test_RP/textures/blocks/arcane_workbench_top.png +0 -0
  128. package/examples/test/dev/test_RP/textures/blocks/base_wood_grain.png +0 -0
  129. package/examples/test/dev/test_RP/textures/blocks/castleBlock_darkBrickBloody_0.png +0 -0
  130. package/examples/test/dev/test_RP/textures/blocks/castleBlock_darkSlab_0.png +0 -0
  131. package/examples/test/dev/test_RP/textures/blocks/castleBlock_purpleBrick_0.png +0 -0
  132. package/examples/test/dev/test_RP/textures/blocks/castleBlock_purpleSlab_0.png +0 -0
  133. package/examples/test/dev/test_RP/textures/blocks/churchAltar.png +0 -0
  134. package/examples/test/dev/test_RP/textures/blocks/compass_block_down.png +0 -0
  135. package/examples/test/dev/test_RP/textures/blocks/compass_block_east.png +0 -0
  136. package/examples/test/dev/test_RP/textures/blocks/compass_block_north.png +0 -0
  137. package/examples/test/dev/test_RP/textures/blocks/compass_block_south.png +0 -0
  138. package/examples/test/dev/test_RP/textures/blocks/compass_block_up.png +0 -0
  139. package/examples/test/dev/test_RP/textures/blocks/compass_block_west.png +0 -0
  140. package/examples/test/dev/test_RP/textures/blocks/cursedEarth_0.png +0 -0
  141. package/examples/test/dev/test_RP/textures/blocks/custom_chestplate.png +0 -0
  142. package/examples/test/dev/test_RP/textures/blocks/garlicTorchStrong_0.png +0 -0
  143. package/examples/test/dev/test_RP/textures/blocks/garlicTorchWeak_0.png +0 -0
  144. package/examples/test/dev/test_RP/textures/blocks/garlic_stage_0.png +0 -0
  145. package/examples/test/dev/test_RP/textures/blocks/garlic_stage_1.png +0 -0
  146. package/examples/test/dev/test_RP/textures/blocks/garlic_stage_2.png +0 -0
  147. package/examples/test/dev/test_RP/textures/blocks/garlic_stage_3.png +0 -0
  148. package/examples/test/dev/test_RP/textures/blocks/jar_bottom.png +0 -0
  149. package/examples/test/dev/test_RP/textures/blocks/jar_brine.png +0 -0
  150. package/examples/test/dev/test_RP/textures/blocks/jar_side.png +0 -0
  151. package/examples/test/dev/test_RP/textures/blocks/jar_side_void.png +0 -0
  152. package/examples/test/dev/test_RP/textures/blocks/jar_top.png +0 -0
  153. package/examples/test/dev/test_RP/textures/blocks/jar_top_void.png +0 -0
  154. package/examples/test/dev/test_RP/textures/blocks/ore_cinnabar.png +0 -0
  155. package/examples/test/dev/test_RP/textures/blocks/test_block.png +0 -0
  156. package/examples/test/dev/test_RP/textures/blocks/test_log_oak.png +0 -0
  157. package/examples/test/dev/test_RP/textures/blocks/test_log_top.png +0 -0
  158. package/examples/test/dev/test_RP/textures/blocks/vampireOrchid_0.png +0 -0
  159. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_0.png +0 -0
  160. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_1.png +0 -0
  161. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_2.png +0 -0
  162. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_3.png +0 -0
  163. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_4.png +0 -0
  164. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_5.png +0 -0
  165. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_6.png +0 -0
  166. package/examples/test/dev/test_RP/textures/blocks/wheat_stage_7.png +0 -0
  167. package/examples/test/dev/test_RP/textures/blocks/wire.png +0 -0
  168. package/examples/test/dev/test_RP/textures/entity/vampire.png +0 -0
  169. package/examples/test/dev/test_RP/textures/entity/vampire1.png +0 -0
  170. package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/211/233.png +0 -0
  171. package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/213/227.png +0 -0
  172. package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/214/252.png +0 -0
  173. package/examples/test/dev/test_RP/textures/flipbook_textures.json +1 -0
  174. package/examples/test/dev/test_RP/textures/item_texture.json +789 -0
  175. package/examples/test/dev/test_RP/textures/items/alumentum.png +0 -0
  176. package/examples/test/dev/test_RP/textures/items/amber.png +0 -0
  177. package/examples/test/dev/test_RP/textures/items/amulet_fancy.png +0 -0
  178. package/examples/test/dev/test_RP/textures/items/amulet_mundane.png +0 -0
  179. package/examples/test/dev/test_RP/textures/items/amulet_runic.png +0 -0
  180. package/examples/test/dev/test_RP/textures/items/amulet_runic_emergency.png +0 -0
  181. package/examples/test/dev/test_RP/textures/items/amulet_vis.png +0 -0
  182. package/examples/test/dev/test_RP/textures/items/amulet_vis_stone.png +0 -0
  183. package/examples/test/dev/test_RP/textures/items/banner.png +0 -0
  184. package/examples/test/dev/test_RP/textures/items/banner_cultist.png +0 -0
  185. package/examples/test/dev/test_RP/textures/items/banner_stand.png +0 -0
  186. package/examples/test/dev/test_RP/textures/items/banner_symbol.png +0 -0
  187. package/examples/test/dev/test_RP/textures/items/bath_salts.png +0 -0
  188. package/examples/test/dev/test_RP/textures/items/bone_bow.png +0 -0
  189. package/examples/test/dev/test_RP/textures/items/bone_bow_0.png +0 -0
  190. package/examples/test/dev/test_RP/textures/items/bone_bow_1.png +0 -0
  191. package/examples/test/dev/test_RP/textures/items/bone_bow_2.png +0 -0
  192. package/examples/test/dev/test_RP/textures/items/bottle_taint.png +0 -0
  193. package/examples/test/dev/test_RP/textures/items/brain.png +0 -0
  194. package/examples/test/dev/test_RP/textures/items/brass_gear.png +0 -0
  195. package/examples/test/dev/test_RP/textures/items/brass_plate.png +0 -0
  196. package/examples/test/dev/test_RP/textures/items/bucket_death.png +0 -0
  197. package/examples/test/dev/test_RP/textures/items/bucket_pure.png +0 -0
  198. package/examples/test/dev/test_RP/textures/items/chunk_beef.png +0 -0
  199. package/examples/test/dev/test_RP/textures/items/chunk_chicken.png +0 -0
  200. package/examples/test/dev/test_RP/textures/items/chunk_fish.png +0 -0
  201. package/examples/test/dev/test_RP/textures/items/chunk_mutton.png +0 -0
  202. package/examples/test/dev/test_RP/textures/items/chunk_pork.png +0 -0
  203. package/examples/test/dev/test_RP/textures/items/chunk_rabbit.png +0 -0
  204. package/examples/test/dev/test_RP/textures/items/cloth_boots.png +0 -0
  205. package/examples/test/dev/test_RP/textures/items/cloth_boots_over.png +0 -0
  206. package/examples/test/dev/test_RP/textures/items/cloth_chest.png +0 -0
  207. package/examples/test/dev/test_RP/textures/items/cloth_chest_over.png +0 -0
  208. package/examples/test/dev/test_RP/textures/items/cloth_legs.png +0 -0
  209. package/examples/test/dev/test_RP/textures/items/cloth_legs_over.png +0 -0
  210. package/examples/test/dev/test_RP/textures/items/cluster_cinnabar.png +0 -0
  211. package/examples/test/dev/test_RP/textures/items/cluster_copper.png +0 -0
  212. package/examples/test/dev/test_RP/textures/items/cluster_gold.png +0 -0
  213. package/examples/test/dev/test_RP/textures/items/cluster_iron.png +0 -0
  214. package/examples/test/dev/test_RP/textures/items/cluster_lead.png +0 -0
  215. package/examples/test/dev/test_RP/textures/items/cluster_silver.png +0 -0
  216. package/examples/test/dev/test_RP/textures/items/cluster_tin.png +0 -0
  217. package/examples/test/dev/test_RP/textures/items/coin.png +0 -0
  218. package/examples/test/dev/test_RP/textures/items/creative_caster.png +0 -0
  219. package/examples/test/dev/test_RP/textures/items/creative_node.png +0 -0
  220. package/examples/test/dev/test_RP/textures/items/creative_obelisk.png +0 -0
  221. package/examples/test/dev/test_RP/textures/items/crimson_blade.png +0 -0
  222. package/examples/test/dev/test_RP/textures/items/crimson_boots.png +0 -0
  223. package/examples/test/dev/test_RP/textures/items/crimson_plate_chest.png +0 -0
  224. package/examples/test/dev/test_RP/textures/items/crimson_plate_helm.png +0 -0
  225. package/examples/test/dev/test_RP/textures/items/crimson_plate_legs.png +0 -0
  226. package/examples/test/dev/test_RP/textures/items/crimson_praetor_chest.png +0 -0
  227. package/examples/test/dev/test_RP/textures/items/crimson_praetor_helm.png +0 -0
  228. package/examples/test/dev/test_RP/textures/items/crimson_praetor_legs.png +0 -0
  229. package/examples/test/dev/test_RP/textures/items/crimson_rites.png +0 -0
  230. package/examples/test/dev/test_RP/textures/items/crimson_robe_chest.png +0 -0
  231. package/examples/test/dev/test_RP/textures/items/crimson_robe_helm.png +0 -0
  232. package/examples/test/dev/test_RP/textures/items/crimson_robe_legs.png +0 -0
  233. package/examples/test/dev/test_RP/textures/items/crystal_essence.png +0 -0
  234. package/examples/test/dev/test_RP/textures/items/crystal_planter.png +0 -0
  235. package/examples/test/dev/test_RP/textures/items/custom_chestplate.png +0 -0
  236. package/examples/test/dev/test_RP/textures/items/discovery.png +0 -0
  237. package/examples/test/dev/test_RP/textures/items/discovery_overlay.png +0 -0
  238. package/examples/test/dev/test_RP/textures/items/eldritch_eye.png +0 -0
  239. package/examples/test/dev/test_RP/textures/items/elemental_axe.png +0 -0
  240. package/examples/test/dev/test_RP/textures/items/elemental_hoe.png +0 -0
  241. package/examples/test/dev/test_RP/textures/items/elemental_pick.png +0 -0
  242. package/examples/test/dev/test_RP/textures/items/elemental_shovel.png +0 -0
  243. package/examples/test/dev/test_RP/textures/items/elemental_sword.png +0 -0
  244. package/examples/test/dev/test_RP/textures/items/fabric.png +0 -0
  245. package/examples/test/dev/test_RP/textures/items/filter.png +0 -0
  246. package/examples/test/dev/test_RP/textures/items/flux_sponge.png +0 -0
  247. package/examples/test/dev/test_RP/textures/items/focus_pouch.png +0 -0
  248. package/examples/test/dev/test_RP/textures/items/fortress_chest.png +0 -0
  249. package/examples/test/dev/test_RP/textures/items/fortress_helm.png +0 -0
  250. package/examples/test/dev/test_RP/textures/items/fortress_legs.png +0 -0
  251. package/examples/test/dev/test_RP/textures/items/girdle_fancy.png +0 -0
  252. package/examples/test/dev/test_RP/textures/items/girdle_hover.png +0 -0
  253. package/examples/test/dev/test_RP/textures/items/girdle_mundane.png +0 -0
  254. package/examples/test/dev/test_RP/textures/items/girdle_runic.png +0 -0
  255. package/examples/test/dev/test_RP/textures/items/girdle_runic_kinetic.png +0 -0
  256. package/examples/test/dev/test_RP/textures/items/goggles_revealing.png +0 -0
  257. package/examples/test/dev/test_RP/textures/items/golem.png +0 -0
  258. package/examples/test/dev/test_RP/textures/items/golem_bell.png +0 -0
  259. package/examples/test/dev/test_RP/textures/items/hand_mirror.png +0 -0
  260. package/examples/test/dev/test_RP/textures/items/ingot_brass.png +0 -0
  261. package/examples/test/dev/test_RP/textures/items/ingot_thaumium.png +0 -0
  262. package/examples/test/dev/test_RP/textures/items/ingot_void.png +0 -0
  263. package/examples/test/dev/test_RP/textures/items/iron_plate.png +0 -0
  264. package/examples/test/dev/test_RP/textures/items/jar_brace.png +0 -0
  265. package/examples/test/dev/test_RP/textures/items/knowledge_fragment.png +0 -0
  266. package/examples/test/dev/test_RP/textures/items/label.png +0 -0
  267. package/examples/test/dev/test_RP/textures/items/label_overlay.png +0 -0
  268. package/examples/test/dev/test_RP/textures/items/loot_bag_common.png +0 -0
  269. package/examples/test/dev/test_RP/textures/items/loot_bag_rare.png +0 -0
  270. package/examples/test/dev/test_RP/textures/items/loot_bag_uncommon.png +0 -0
  271. package/examples/test/dev/test_RP/textures/items/masterball.png +0 -0
  272. package/examples/test/dev/test_RP/textures/items/mind_biothaumic.png +0 -0
  273. package/examples/test/dev/test_RP/textures/items/mind_clockwork.png +0 -0
  274. package/examples/test/dev/test_RP/textures/items/mirrored_glass.png +0 -0
  275. package/examples/test/dev/test_RP/textures/items/module_aggression.png +0 -0
  276. package/examples/test/dev/test_RP/textures/items/module_vision.png +0 -0
  277. package/examples/test/dev/test_RP/textures/items/morphic_resonator.png +0 -0
  278. package/examples/test/dev/test_RP/textures/items/nugget_brass.png +0 -0
  279. package/examples/test/dev/test_RP/textures/items/nugget_copper.png +0 -0
  280. package/examples/test/dev/test_RP/textures/items/nugget_iron.png +0 -0
  281. package/examples/test/dev/test_RP/textures/items/nugget_lead.png +0 -0
  282. package/examples/test/dev/test_RP/textures/items/nugget_quicksilver.png +0 -0
  283. package/examples/test/dev/test_RP/textures/items/nugget_silver.png +0 -0
  284. package/examples/test/dev/test_RP/textures/items/nugget_thaumium.png +0 -0
  285. package/examples/test/dev/test_RP/textures/items/nugget_tin.png +0 -0
  286. package/examples/test/dev/test_RP/textures/items/nugget_void.png +0 -0
  287. package/examples/test/dev/test_RP/textures/items/phial.png +0 -0
  288. package/examples/test/dev/test_RP/textures/items/phial_overlay.png +0 -0
  289. package/examples/test/dev/test_RP/textures/items/primal_arrow_air.png +0 -0
  290. package/examples/test/dev/test_RP/textures/items/primal_arrow_earth.png +0 -0
  291. package/examples/test/dev/test_RP/textures/items/primal_arrow_entropy.png +0 -0
  292. package/examples/test/dev/test_RP/textures/items/primal_arrow_fire.png +0 -0
  293. package/examples/test/dev/test_RP/textures/items/primal_arrow_order.png +0 -0
  294. package/examples/test/dev/test_RP/textures/items/primal_arrow_water.png +0 -0
  295. package/examples/test/dev/test_RP/textures/items/primal_charm.png +0 -0
  296. package/examples/test/dev/test_RP/textures/items/primal_crusher.png +0 -0
  297. package/examples/test/dev/test_RP/textures/items/primordial_pearl.png +0 -0
  298. package/examples/test/dev/test_RP/textures/items/quicksilver.png +0 -0
  299. package/examples/test/dev/test_RP/textures/items/researchnotes.png +0 -0
  300. package/examples/test/dev/test_RP/textures/items/researchnotes_overlay.png +0 -0
  301. package/examples/test/dev/test_RP/textures/items/resonator.png +0 -0
  302. package/examples/test/dev/test_RP/textures/items/ring_apprentice.png +0 -0
  303. package/examples/test/dev/test_RP/textures/items/ring_fancy.png +0 -0
  304. package/examples/test/dev/test_RP/textures/items/ring_mundane.png +0 -0
  305. package/examples/test/dev/test_RP/textures/items/ring_protection.png +0 -0
  306. package/examples/test/dev/test_RP/textures/items/ring_runic.png +0 -0
  307. package/examples/test/dev/test_RP/textures/items/ring_runic_charge.png +0 -0
  308. package/examples/test/dev/test_RP/textures/items/ring_runic_regen.png +0 -0
  309. package/examples/test/dev/test_RP/textures/items/ring_verdant.png +0 -0
  310. package/examples/test/dev/test_RP/textures/items/runed_tablet.png +0 -0
  311. package/examples/test/dev/test_RP/textures/items/salis_mundus.png +0 -0
  312. package/examples/test/dev/test_RP/textures/items/sanity_checker.png +0 -0
  313. package/examples/test/dev/test_RP/textures/items/sanity_soap.png +0 -0
  314. package/examples/test/dev/test_RP/textures/items/scribing_tools.png +0 -0
  315. package/examples/test/dev/test_RP/textures/items/seals/seal_blank.png +0 -0
  316. package/examples/test/dev/test_RP/textures/items/seals/seal_breaker.png +0 -0
  317. package/examples/test/dev/test_RP/textures/items/seals/seal_breaker.png.mcmeta +6 -0
  318. package/examples/test/dev/test_RP/textures/items/seals/seal_butcher.png +0 -0
  319. package/examples/test/dev/test_RP/textures/items/seals/seal_butcher.png.mcmeta +6 -0
  320. package/examples/test/dev/test_RP/textures/items/seals/seal_empty.png +0 -0
  321. package/examples/test/dev/test_RP/textures/items/seals/seal_empty.png.mcmeta +6 -0
  322. package/examples/test/dev/test_RP/textures/items/seals/seal_empty_advanced.png +0 -0
  323. package/examples/test/dev/test_RP/textures/items/seals/seal_empty_advanced.png.mcmeta +6 -0
  324. package/examples/test/dev/test_RP/textures/items/seals/seal_fill.png +0 -0
  325. package/examples/test/dev/test_RP/textures/items/seals/seal_fill.png.mcmeta +6 -0
  326. package/examples/test/dev/test_RP/textures/items/seals/seal_fill_advanced.png +0 -0
  327. package/examples/test/dev/test_RP/textures/items/seals/seal_fill_advanced.png.mcmeta +6 -0
  328. package/examples/test/dev/test_RP/textures/items/seals/seal_guard.png +0 -0
  329. package/examples/test/dev/test_RP/textures/items/seals/seal_guard.png.mcmeta +6 -0
  330. package/examples/test/dev/test_RP/textures/items/seals/seal_guard_advanced.png +0 -0
  331. package/examples/test/dev/test_RP/textures/items/seals/seal_guard_advanced.png.mcmeta +6 -0
  332. package/examples/test/dev/test_RP/textures/items/seals/seal_harvest.png +0 -0
  333. package/examples/test/dev/test_RP/textures/items/seals/seal_harvest.png.mcmeta +6 -0
  334. package/examples/test/dev/test_RP/textures/items/seals/seal_lumber.png +0 -0
  335. package/examples/test/dev/test_RP/textures/items/seals/seal_lumber.png.mcmeta +6 -0
  336. package/examples/test/dev/test_RP/textures/items/seals/seal_pickup.png +0 -0
  337. package/examples/test/dev/test_RP/textures/items/seals/seal_pickup.png.mcmeta +6 -0
  338. package/examples/test/dev/test_RP/textures/items/seals/seal_pickup_advanced.png +0 -0
  339. package/examples/test/dev/test_RP/textures/items/seals/seal_pickup_advanced.png.mcmeta +6 -0
  340. package/examples/test/dev/test_RP/textures/items/seals/seal_provider.png +0 -0
  341. package/examples/test/dev/test_RP/textures/items/seals/seal_provider.png.mcmeta +6 -0
  342. package/examples/test/dev/test_RP/textures/items/seals/seal_use.png +0 -0
  343. package/examples/test/dev/test_RP/textures/items/seals/seal_use.png.mcmeta +6 -0
  344. package/examples/test/dev/test_RP/textures/items/shard.png +0 -0
  345. package/examples/test/dev/test_RP/textures/items/shard_balanced.png +0 -0
  346. package/examples/test/dev/test_RP/textures/items/sinister_stone.png +0 -0
  347. package/examples/test/dev/test_RP/textures/items/sinister_stone_active.png +0 -0
  348. package/examples/test/dev/test_RP/textures/items/taint_slime.png +0 -0
  349. package/examples/test/dev/test_RP/textures/items/taint_tendril.png +0 -0
  350. package/examples/test/dev/test_RP/textures/items/tallow.png +0 -0
  351. package/examples/test/dev/test_RP/textures/items/thaumium_axe.png +0 -0
  352. package/examples/test/dev/test_RP/textures/items/thaumium_boots.png +0 -0
  353. package/examples/test/dev/test_RP/textures/items/thaumium_chest.png +0 -0
  354. package/examples/test/dev/test_RP/textures/items/thaumium_gear.png +0 -0
  355. package/examples/test/dev/test_RP/textures/items/thaumium_helm.png +0 -0
  356. package/examples/test/dev/test_RP/textures/items/thaumium_hoe.png +0 -0
  357. package/examples/test/dev/test_RP/textures/items/thaumium_legs.png +0 -0
  358. package/examples/test/dev/test_RP/textures/items/thaumium_pick.png +0 -0
  359. package/examples/test/dev/test_RP/textures/items/thaumium_plate.png +0 -0
  360. package/examples/test/dev/test_RP/textures/items/thaumium_shovel.png +0 -0
  361. package/examples/test/dev/test_RP/textures/items/thaumium_sword.png +0 -0
  362. package/examples/test/dev/test_RP/textures/items/thaumometer.png +0 -0
  363. package/examples/test/dev/test_RP/textures/items/thaumonomicon.png +0 -0
  364. package/examples/test/dev/test_RP/textures/items/thaumonomicon_cheat.png +0 -0
  365. package/examples/test/dev/test_RP/textures/items/thaumostatic_harness.png +0 -0
  366. package/examples/test/dev/test_RP/textures/items/traveller_boots.png +0 -0
  367. package/examples/test/dev/test_RP/textures/items/tripletreat.png +0 -0
  368. package/examples/test/dev/test_RP/textures/items/tube_buffer.png +0 -0
  369. package/examples/test/dev/test_RP/textures/items/tube_filter.png +0 -0
  370. package/examples/test/dev/test_RP/textures/items/tube_normal.png +0 -0
  371. package/examples/test/dev/test_RP/textures/items/tube_oneway.png +0 -0
  372. package/examples/test/dev/test_RP/textures/items/tube_restrict.png +0 -0
  373. package/examples/test/dev/test_RP/textures/items/tube_valve.png +0 -0
  374. package/examples/test/dev/test_RP/textures/items/turret_advanced.png +0 -0
  375. package/examples/test/dev/test_RP/textures/items/turret_basic.png +0 -0
  376. package/examples/test/dev/test_RP/textures/items/turret_focus.png +0 -0
  377. package/examples/test/dev/test_RP/textures/items/turret_magnet.png +0 -0
  378. package/examples/test/dev/test_RP/textures/items/void_axe.png +0 -0
  379. package/examples/test/dev/test_RP/textures/items/void_boots.png +0 -0
  380. package/examples/test/dev/test_RP/textures/items/void_chest.png +0 -0
  381. package/examples/test/dev/test_RP/textures/items/void_gear.png +0 -0
  382. package/examples/test/dev/test_RP/textures/items/void_helm.png +0 -0
  383. package/examples/test/dev/test_RP/textures/items/void_hoe.png +0 -0
  384. package/examples/test/dev/test_RP/textures/items/void_legs.png +0 -0
  385. package/examples/test/dev/test_RP/textures/items/void_pick.png +0 -0
  386. package/examples/test/dev/test_RP/textures/items/void_plate.png +0 -0
  387. package/examples/test/dev/test_RP/textures/items/void_robe_chest.png +0 -0
  388. package/examples/test/dev/test_RP/textures/items/void_robe_chest_over.png +0 -0
  389. package/examples/test/dev/test_RP/textures/items/void_robe_helm.png +0 -0
  390. package/examples/test/dev/test_RP/textures/items/void_robe_legs.png +0 -0
  391. package/examples/test/dev/test_RP/textures/items/void_robe_legs_over.png +0 -0
  392. package/examples/test/dev/test_RP/textures/items/void_seed.png +0 -0
  393. package/examples/test/dev/test_RP/textures/items/void_shovel.png +0 -0
  394. package/examples/test/dev/test_RP/textures/items/void_sword.png +0 -0
  395. package/examples/test/dev/test_RP/textures/items/wand/cap_brass.png +0 -0
  396. package/examples/test/dev/test_RP/textures/items/wand/cap_brass_mat.png +0 -0
  397. package/examples/test/dev/test_RP/textures/items/wand/cap_gold.png +0 -0
  398. package/examples/test/dev/test_RP/textures/items/wand/cap_gold_mat.png +0 -0
  399. package/examples/test/dev/test_RP/textures/items/wand/cap_iron.png +0 -0
  400. package/examples/test/dev/test_RP/textures/items/wand/cap_iron_mat.png +0 -0
  401. package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium.png +0 -0
  402. package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium.png.mcmeta +11 -0
  403. package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium_inert.png +0 -0
  404. package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium_mat.png +0 -0
  405. package/examples/test/dev/test_RP/textures/items/wand/cap_void.png +0 -0
  406. package/examples/test/dev/test_RP/textures/items/wand/cap_void.png.mcmeta +11 -0
  407. package/examples/test/dev/test_RP/textures/items/wand/cap_void_inert.png +0 -0
  408. package/examples/test/dev/test_RP/textures/items/wand/cap_void_mat.png +0 -0
  409. package/examples/test/dev/test_RP/textures/items/wand/focus.png +0 -0
  410. package/examples/test/dev/test_RP/textures/items/wand/focus_builder.png +0 -0
  411. package/examples/test/dev/test_RP/textures/items/wand/focus_excavation.png +0 -0
  412. package/examples/test/dev/test_RP/textures/items/wand/focus_fire.png +0 -0
  413. package/examples/test/dev/test_RP/textures/items/wand/focus_frost.png +0 -0
  414. package/examples/test/dev/test_RP/textures/items/wand/focus_grapple.png +0 -0
  415. package/examples/test/dev/test_RP/textures/items/wand/focus_hellbat.png +0 -0
  416. package/examples/test/dev/test_RP/textures/items/wand/focus_hellbat_orn.png +0 -0
  417. package/examples/test/dev/test_RP/textures/items/wand/focus_pech.png +0 -0
  418. package/examples/test/dev/test_RP/textures/items/wand/focus_pech.png.mcmeta +3 -0
  419. package/examples/test/dev/test_RP/textures/items/wand/focus_portablehole.png +0 -0
  420. package/examples/test/dev/test_RP/textures/items/wand/focus_portablehole.png.mcmeta +3 -0
  421. package/examples/test/dev/test_RP/textures/items/wand/focus_primal.png +0 -0
  422. package/examples/test/dev/test_RP/textures/items/wand/focus_primal.png.mcmeta +3 -0
  423. package/examples/test/dev/test_RP/textures/items/wand/focus_shard.png +0 -0
  424. package/examples/test/dev/test_RP/textures/items/wand/focus_shard.png.mcmeta +3 -0
  425. package/examples/test/dev/test_RP/textures/items/wand/focus_shock.png +0 -0
  426. package/examples/test/dev/test_RP/textures/items/wand/focus_trade.png +0 -0
  427. package/examples/test/dev/test_RP/textures/items/wand/focus_warding.png +0 -0
  428. package/examples/test/dev/test_RP/textures/items/wand/focus_warding.png.mcmeta +3 -0
  429. package/examples/test/dev/test_RP/textures/items/wand/rod_blaze.png +0 -0
  430. package/examples/test/dev/test_RP/textures/items/wand/rod_blaze_mat.png +0 -0
  431. package/examples/test/dev/test_RP/textures/items/wand/rod_blaze_mat.png.mcmeta +45 -0
  432. package/examples/test/dev/test_RP/textures/items/wand/rod_bone.png +0 -0
  433. package/examples/test/dev/test_RP/textures/items/wand/rod_bone_mat.png +0 -0
  434. package/examples/test/dev/test_RP/textures/items/wand/rod_greatwood.png +0 -0
  435. package/examples/test/dev/test_RP/textures/items/wand/rod_greatwood_mat.png +0 -0
  436. package/examples/test/dev/test_RP/textures/items/wand/rod_ice.png +0 -0
  437. package/examples/test/dev/test_RP/textures/items/wand/rod_ice_mat.png +0 -0
  438. package/examples/test/dev/test_RP/textures/items/wand/rod_obsidian.png +0 -0
  439. package/examples/test/dev/test_RP/textures/items/wand/rod_obsidian_mat.png +0 -0
  440. package/examples/test/dev/test_RP/textures/items/wand/rod_primal_mat.png +0 -0
  441. package/examples/test/dev/test_RP/textures/items/wand/rod_primal_mat.png.mcmeta +45 -0
  442. package/examples/test/dev/test_RP/textures/items/wand/rod_quartz.png +0 -0
  443. package/examples/test/dev/test_RP/textures/items/wand/rod_quartz_mat.png +0 -0
  444. package/examples/test/dev/test_RP/textures/items/wand/rod_reed.png +0 -0
  445. package/examples/test/dev/test_RP/textures/items/wand/rod_reed_mat.png +0 -0
  446. package/examples/test/dev/test_RP/textures/items/wand/rod_silverwood.png +0 -0
  447. package/examples/test/dev/test_RP/textures/items/wand/rod_silverwood_mat.png +0 -0
  448. package/examples/test/dev/test_RP/textures/items/wand/rod_wood_mat.png +0 -0
  449. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_blaze.png +0 -0
  450. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_bone.png +0 -0
  451. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_greatwood.png +0 -0
  452. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_ice.png +0 -0
  453. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_obsidian.png +0 -0
  454. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_primal.png +0 -0
  455. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_quartz.png +0 -0
  456. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_reed.png +0 -0
  457. package/examples/test/dev/test_RP/textures/items/wand/staff_rod_silverwood.png +0 -0
  458. package/examples/test/dev/test_RP/textures/items/wispy_essence.png +0 -0
  459. package/examples/test/dev/test_RP/textures/models/armor/custom_legs.png +0 -0
  460. package/examples/test/dev/test_RP/textures/models/armor/custom_main.png +0 -0
  461. package/examples/test/dev/test_RP/textures/models/armor/vampireArmor_1.png +0 -0
  462. package/examples/test/dev/test_RP/textures/models/armor/vampireArmor_2.png +0 -0
  463. package/examples/test/dev/test_RP/textures/terrain_texture.json +137 -0
  464. package/examples/test/lib/wire.js +20 -0
  465. package/examples/test/main.mjs +112 -0
  466. package/examples/test/mod.info +7 -0
  467. package/examples/test/pack_icon.png +0 -0
  468. package/examples/test/res/models/blocks/arcane_workbench.geo.json +106 -0
  469. package/examples/test/res/models/blocks/crop.geo.json +147 -0
  470. package/examples/test/res/models/blocks/jar_normal.geo.json +47 -0
  471. package/examples/test/res/models/blocks/jar_normal_0.geo.json +59 -0
  472. package/examples/test/res/models/blocks/jar_normal_1.geo.json +59 -0
  473. package/examples/test/res/models/blocks/jar_normal_2.geo.json +59 -0
  474. package/examples/test/res/models/blocks/jar_normal_3.geo.json +59 -0
  475. package/examples/test/res/models/blocks/wire.geo.json +154 -0
  476. package/examples/test/res/textures/blocks/animatedglow.png +0 -0
  477. package/examples/test/res/textures/blocks/arcane_workbench_side.png +0 -0
  478. package/examples/test/res/textures/blocks/arcane_workbench_top.png +0 -0
  479. package/examples/test/res/textures/blocks/base_wood_grain.png +0 -0
  480. package/examples/test/res/textures/blocks/castleBlock_darkBrickBloody_0.png +0 -0
  481. package/examples/test/res/textures/blocks/castleBlock_darkSlab_0.png +0 -0
  482. package/examples/test/res/textures/blocks/castleBlock_purpleBrick_0.png +0 -0
  483. package/examples/test/res/textures/blocks/castleBlock_purpleSlab_0.png +0 -0
  484. package/examples/test/res/textures/blocks/churchAltar.png +0 -0
  485. package/examples/test/res/textures/blocks/compass_block_down.png +0 -0
  486. package/examples/test/res/textures/blocks/compass_block_east.png +0 -0
  487. package/examples/test/res/textures/blocks/compass_block_north.png +0 -0
  488. package/examples/test/res/textures/blocks/compass_block_south.png +0 -0
  489. package/examples/test/res/textures/blocks/compass_block_up.png +0 -0
  490. package/examples/test/res/textures/blocks/compass_block_west.png +0 -0
  491. package/examples/test/res/textures/blocks/cursedEarth_0.png +0 -0
  492. package/examples/test/res/textures/blocks/custom_chestplate.png +0 -0
  493. package/examples/test/res/textures/blocks/garlicTorchStrong_0.png +0 -0
  494. package/examples/test/res/textures/blocks/garlicTorchWeak_0.png +0 -0
  495. package/examples/test/res/textures/blocks/garlic_stage_0.png +0 -0
  496. package/examples/test/res/textures/blocks/garlic_stage_1.png +0 -0
  497. package/examples/test/res/textures/blocks/garlic_stage_2.png +0 -0
  498. package/examples/test/res/textures/blocks/garlic_stage_3.png +0 -0
  499. package/examples/test/res/textures/blocks/jar_bottom.png +0 -0
  500. package/examples/test/res/textures/blocks/jar_brine.png +0 -0
  501. package/examples/test/res/textures/blocks/jar_side.png +0 -0
  502. package/examples/test/res/textures/blocks/jar_side_void.png +0 -0
  503. package/examples/test/res/textures/blocks/jar_top.png +0 -0
  504. package/examples/test/res/textures/blocks/jar_top_void.png +0 -0
  505. package/examples/test/res/textures/blocks/ore_cinnabar.png +0 -0
  506. package/examples/test/res/textures/blocks/test_block.png +0 -0
  507. package/examples/test/res/textures/blocks/test_log_oak.png +0 -0
  508. package/examples/test/res/textures/blocks/test_log_top.png +0 -0
  509. package/examples/test/res/textures/blocks/vampireOrchid_0.png +0 -0
  510. package/examples/test/res/textures/blocks/wheat_stage_0.png +0 -0
  511. package/examples/test/res/textures/blocks/wheat_stage_1.png +0 -0
  512. package/examples/test/res/textures/blocks/wheat_stage_2.png +0 -0
  513. package/examples/test/res/textures/blocks/wheat_stage_3.png +0 -0
  514. package/examples/test/res/textures/blocks/wheat_stage_4.png +0 -0
  515. package/examples/test/res/textures/blocks/wheat_stage_5.png +0 -0
  516. package/examples/test/res/textures/blocks/wheat_stage_6.png +0 -0
  517. package/examples/test/res/textures/blocks/wheat_stage_7.png +0 -0
  518. package/examples/test/res/textures/blocks/wire.png +0 -0
  519. package/examples/test/res/textures/entity/vampire.png +0 -0
  520. package/examples/test/res/textures/entity/vampire1.png +0 -0
  521. package/examples/test/res/textures/entity//345/220/270/350/241/200/347/211/233.png +0 -0
  522. package/examples/test/res/textures/entity//345/220/270/350/241/200/347/213/227.png +0 -0
  523. package/examples/test/res/textures/entity//345/220/270/350/241/200/347/214/252.png +0 -0
  524. package/examples/test/res/textures/items/alumentum.png +0 -0
  525. package/examples/test/res/textures/items/amber.png +0 -0
  526. package/examples/test/res/textures/items/amulet_fancy.png +0 -0
  527. package/examples/test/res/textures/items/amulet_mundane.png +0 -0
  528. package/examples/test/res/textures/items/amulet_runic.png +0 -0
  529. package/examples/test/res/textures/items/amulet_runic_emergency.png +0 -0
  530. package/examples/test/res/textures/items/amulet_vis.png +0 -0
  531. package/examples/test/res/textures/items/amulet_vis_stone.png +0 -0
  532. package/examples/test/res/textures/items/banner.png +0 -0
  533. package/examples/test/res/textures/items/banner_cultist.png +0 -0
  534. package/examples/test/res/textures/items/banner_stand.png +0 -0
  535. package/examples/test/res/textures/items/banner_symbol.png +0 -0
  536. package/examples/test/res/textures/items/bath_salts.png +0 -0
  537. package/examples/test/res/textures/items/bone_bow.png +0 -0
  538. package/examples/test/res/textures/items/bone_bow_0.png +0 -0
  539. package/examples/test/res/textures/items/bone_bow_1.png +0 -0
  540. package/examples/test/res/textures/items/bone_bow_2.png +0 -0
  541. package/examples/test/res/textures/items/bottle_taint.png +0 -0
  542. package/examples/test/res/textures/items/brain.png +0 -0
  543. package/examples/test/res/textures/items/brass_gear.png +0 -0
  544. package/examples/test/res/textures/items/brass_plate.png +0 -0
  545. package/examples/test/res/textures/items/bucket_death.png +0 -0
  546. package/examples/test/res/textures/items/bucket_pure.png +0 -0
  547. package/examples/test/res/textures/items/chunk_beef.png +0 -0
  548. package/examples/test/res/textures/items/chunk_chicken.png +0 -0
  549. package/examples/test/res/textures/items/chunk_fish.png +0 -0
  550. package/examples/test/res/textures/items/chunk_mutton.png +0 -0
  551. package/examples/test/res/textures/items/chunk_pork.png +0 -0
  552. package/examples/test/res/textures/items/chunk_rabbit.png +0 -0
  553. package/examples/test/res/textures/items/cloth_boots.png +0 -0
  554. package/examples/test/res/textures/items/cloth_boots_over.png +0 -0
  555. package/examples/test/res/textures/items/cloth_chest.png +0 -0
  556. package/examples/test/res/textures/items/cloth_chest_over.png +0 -0
  557. package/examples/test/res/textures/items/cloth_legs.png +0 -0
  558. package/examples/test/res/textures/items/cloth_legs_over.png +0 -0
  559. package/examples/test/res/textures/items/cluster_cinnabar.png +0 -0
  560. package/examples/test/res/textures/items/cluster_copper.png +0 -0
  561. package/examples/test/res/textures/items/cluster_gold.png +0 -0
  562. package/examples/test/res/textures/items/cluster_iron.png +0 -0
  563. package/examples/test/res/textures/items/cluster_lead.png +0 -0
  564. package/examples/test/res/textures/items/cluster_silver.png +0 -0
  565. package/examples/test/res/textures/items/cluster_tin.png +0 -0
  566. package/examples/test/res/textures/items/coin.png +0 -0
  567. package/examples/test/res/textures/items/creative_caster.png +0 -0
  568. package/examples/test/res/textures/items/creative_node.png +0 -0
  569. package/examples/test/res/textures/items/creative_obelisk.png +0 -0
  570. package/examples/test/res/textures/items/crimson_blade.png +0 -0
  571. package/examples/test/res/textures/items/crimson_boots.png +0 -0
  572. package/examples/test/res/textures/items/crimson_plate_chest.png +0 -0
  573. package/examples/test/res/textures/items/crimson_plate_helm.png +0 -0
  574. package/examples/test/res/textures/items/crimson_plate_legs.png +0 -0
  575. package/examples/test/res/textures/items/crimson_praetor_chest.png +0 -0
  576. package/examples/test/res/textures/items/crimson_praetor_helm.png +0 -0
  577. package/examples/test/res/textures/items/crimson_praetor_legs.png +0 -0
  578. package/examples/test/res/textures/items/crimson_rites.png +0 -0
  579. package/examples/test/res/textures/items/crimson_robe_chest.png +0 -0
  580. package/examples/test/res/textures/items/crimson_robe_helm.png +0 -0
  581. package/examples/test/res/textures/items/crimson_robe_legs.png +0 -0
  582. package/examples/test/res/textures/items/crystal_essence.png +0 -0
  583. package/examples/test/res/textures/items/crystal_planter.png +0 -0
  584. package/examples/test/res/textures/items/custom_chestplate.png +0 -0
  585. package/examples/test/res/textures/items/discovery.png +0 -0
  586. package/examples/test/res/textures/items/discovery_overlay.png +0 -0
  587. package/examples/test/res/textures/items/eldritch_eye.png +0 -0
  588. package/examples/test/res/textures/items/elemental_axe.png +0 -0
  589. package/examples/test/res/textures/items/elemental_hoe.png +0 -0
  590. package/examples/test/res/textures/items/elemental_pick.png +0 -0
  591. package/examples/test/res/textures/items/elemental_shovel.png +0 -0
  592. package/examples/test/res/textures/items/elemental_sword.png +0 -0
  593. package/examples/test/res/textures/items/fabric.png +0 -0
  594. package/examples/test/res/textures/items/filter.png +0 -0
  595. package/examples/test/res/textures/items/flux_sponge.png +0 -0
  596. package/examples/test/res/textures/items/focus_pouch.png +0 -0
  597. package/examples/test/res/textures/items/fortress_chest.png +0 -0
  598. package/examples/test/res/textures/items/fortress_helm.png +0 -0
  599. package/examples/test/res/textures/items/fortress_legs.png +0 -0
  600. package/examples/test/res/textures/items/girdle_fancy.png +0 -0
  601. package/examples/test/res/textures/items/girdle_hover.png +0 -0
  602. package/examples/test/res/textures/items/girdle_mundane.png +0 -0
  603. package/examples/test/res/textures/items/girdle_runic.png +0 -0
  604. package/examples/test/res/textures/items/girdle_runic_kinetic.png +0 -0
  605. package/examples/test/res/textures/items/goggles_revealing.png +0 -0
  606. package/examples/test/res/textures/items/golem.png +0 -0
  607. package/examples/test/res/textures/items/golem_bell.png +0 -0
  608. package/examples/test/res/textures/items/hand_mirror.png +0 -0
  609. package/examples/test/res/textures/items/ingot_brass.png +0 -0
  610. package/examples/test/res/textures/items/ingot_thaumium.png +0 -0
  611. package/examples/test/res/textures/items/ingot_void.png +0 -0
  612. package/examples/test/res/textures/items/iron_plate.png +0 -0
  613. package/examples/test/res/textures/items/jar_brace.png +0 -0
  614. package/examples/test/res/textures/items/knowledge_fragment.png +0 -0
  615. package/examples/test/res/textures/items/label.png +0 -0
  616. package/examples/test/res/textures/items/label_overlay.png +0 -0
  617. package/examples/test/res/textures/items/loot_bag_common.png +0 -0
  618. package/examples/test/res/textures/items/loot_bag_rare.png +0 -0
  619. package/examples/test/res/textures/items/loot_bag_uncommon.png +0 -0
  620. package/examples/test/res/textures/items/masterball.png +0 -0
  621. package/examples/test/res/textures/items/mind_biothaumic.png +0 -0
  622. package/examples/test/res/textures/items/mind_clockwork.png +0 -0
  623. package/examples/test/res/textures/items/mirrored_glass.png +0 -0
  624. package/examples/test/res/textures/items/module_aggression.png +0 -0
  625. package/examples/test/res/textures/items/module_vision.png +0 -0
  626. package/examples/test/res/textures/items/morphic_resonator.png +0 -0
  627. package/examples/test/res/textures/items/nugget_brass.png +0 -0
  628. package/examples/test/res/textures/items/nugget_copper.png +0 -0
  629. package/examples/test/res/textures/items/nugget_iron.png +0 -0
  630. package/examples/test/res/textures/items/nugget_lead.png +0 -0
  631. package/examples/test/res/textures/items/nugget_quicksilver.png +0 -0
  632. package/examples/test/res/textures/items/nugget_silver.png +0 -0
  633. package/examples/test/res/textures/items/nugget_thaumium.png +0 -0
  634. package/examples/test/res/textures/items/nugget_tin.png +0 -0
  635. package/examples/test/res/textures/items/nugget_void.png +0 -0
  636. package/examples/test/res/textures/items/phial.png +0 -0
  637. package/examples/test/res/textures/items/phial_overlay.png +0 -0
  638. package/examples/test/res/textures/items/primal_arrow_air.png +0 -0
  639. package/examples/test/res/textures/items/primal_arrow_earth.png +0 -0
  640. package/examples/test/res/textures/items/primal_arrow_entropy.png +0 -0
  641. package/examples/test/res/textures/items/primal_arrow_fire.png +0 -0
  642. package/examples/test/res/textures/items/primal_arrow_order.png +0 -0
  643. package/examples/test/res/textures/items/primal_arrow_water.png +0 -0
  644. package/examples/test/res/textures/items/primal_charm.png +0 -0
  645. package/examples/test/res/textures/items/primal_crusher.png +0 -0
  646. package/examples/test/res/textures/items/primordial_pearl.png +0 -0
  647. package/examples/test/res/textures/items/quicksilver.png +0 -0
  648. package/examples/test/res/textures/items/researchnotes.png +0 -0
  649. package/examples/test/res/textures/items/researchnotes_overlay.png +0 -0
  650. package/examples/test/res/textures/items/resonator.png +0 -0
  651. package/examples/test/res/textures/items/ring_apprentice.png +0 -0
  652. package/examples/test/res/textures/items/ring_fancy.png +0 -0
  653. package/examples/test/res/textures/items/ring_mundane.png +0 -0
  654. package/examples/test/res/textures/items/ring_protection.png +0 -0
  655. package/examples/test/res/textures/items/ring_runic.png +0 -0
  656. package/examples/test/res/textures/items/ring_runic_charge.png +0 -0
  657. package/examples/test/res/textures/items/ring_runic_regen.png +0 -0
  658. package/examples/test/res/textures/items/ring_verdant.png +0 -0
  659. package/examples/test/res/textures/items/runed_tablet.png +0 -0
  660. package/examples/test/res/textures/items/salis_mundus.png +0 -0
  661. package/examples/test/res/textures/items/sanity_checker.png +0 -0
  662. package/examples/test/res/textures/items/sanity_soap.png +0 -0
  663. package/examples/test/res/textures/items/scribing_tools.png +0 -0
  664. package/examples/test/res/textures/items/seals/seal_blank.png +0 -0
  665. package/examples/test/res/textures/items/seals/seal_breaker.png +0 -0
  666. package/examples/test/res/textures/items/seals/seal_breaker.png.mcmeta +6 -0
  667. package/examples/test/res/textures/items/seals/seal_butcher.png +0 -0
  668. package/examples/test/res/textures/items/seals/seal_butcher.png.mcmeta +6 -0
  669. package/examples/test/res/textures/items/seals/seal_empty.png +0 -0
  670. package/examples/test/res/textures/items/seals/seal_empty.png.mcmeta +6 -0
  671. package/examples/test/res/textures/items/seals/seal_empty_advanced.png +0 -0
  672. package/examples/test/res/textures/items/seals/seal_empty_advanced.png.mcmeta +6 -0
  673. package/examples/test/res/textures/items/seals/seal_fill.png +0 -0
  674. package/examples/test/res/textures/items/seals/seal_fill.png.mcmeta +6 -0
  675. package/examples/test/res/textures/items/seals/seal_fill_advanced.png +0 -0
  676. package/examples/test/res/textures/items/seals/seal_fill_advanced.png.mcmeta +6 -0
  677. package/examples/test/res/textures/items/seals/seal_guard.png +0 -0
  678. package/examples/test/res/textures/items/seals/seal_guard.png.mcmeta +6 -0
  679. package/examples/test/res/textures/items/seals/seal_guard_advanced.png +0 -0
  680. package/examples/test/res/textures/items/seals/seal_guard_advanced.png.mcmeta +6 -0
  681. package/examples/test/res/textures/items/seals/seal_harvest.png +0 -0
  682. package/examples/test/res/textures/items/seals/seal_harvest.png.mcmeta +6 -0
  683. package/examples/test/res/textures/items/seals/seal_lumber.png +0 -0
  684. package/examples/test/res/textures/items/seals/seal_lumber.png.mcmeta +6 -0
  685. package/examples/test/res/textures/items/seals/seal_pickup.png +0 -0
  686. package/examples/test/res/textures/items/seals/seal_pickup.png.mcmeta +6 -0
  687. package/examples/test/res/textures/items/seals/seal_pickup_advanced.png +0 -0
  688. package/examples/test/res/textures/items/seals/seal_pickup_advanced.png.mcmeta +6 -0
  689. package/examples/test/res/textures/items/seals/seal_provider.png +0 -0
  690. package/examples/test/res/textures/items/seals/seal_provider.png.mcmeta +6 -0
  691. package/examples/test/res/textures/items/seals/seal_use.png +0 -0
  692. package/examples/test/res/textures/items/seals/seal_use.png.mcmeta +6 -0
  693. package/examples/test/res/textures/items/shard.png +0 -0
  694. package/examples/test/res/textures/items/shard_balanced.png +0 -0
  695. package/examples/test/res/textures/items/sinister_stone.png +0 -0
  696. package/examples/test/res/textures/items/sinister_stone_active.png +0 -0
  697. package/examples/test/res/textures/items/taint_slime.png +0 -0
  698. package/examples/test/res/textures/items/taint_tendril.png +0 -0
  699. package/examples/test/res/textures/items/tallow.png +0 -0
  700. package/examples/test/res/textures/items/thaumium_axe.png +0 -0
  701. package/examples/test/res/textures/items/thaumium_boots.png +0 -0
  702. package/examples/test/res/textures/items/thaumium_chest.png +0 -0
  703. package/examples/test/res/textures/items/thaumium_gear.png +0 -0
  704. package/examples/test/res/textures/items/thaumium_helm.png +0 -0
  705. package/examples/test/res/textures/items/thaumium_hoe.png +0 -0
  706. package/examples/test/res/textures/items/thaumium_legs.png +0 -0
  707. package/examples/test/res/textures/items/thaumium_pick.png +0 -0
  708. package/examples/test/res/textures/items/thaumium_plate.png +0 -0
  709. package/examples/test/res/textures/items/thaumium_shovel.png +0 -0
  710. package/examples/test/res/textures/items/thaumium_sword.png +0 -0
  711. package/examples/test/res/textures/items/thaumometer.png +0 -0
  712. package/examples/test/res/textures/items/thaumonomicon.png +0 -0
  713. package/examples/test/res/textures/items/thaumonomicon_cheat.png +0 -0
  714. package/examples/test/res/textures/items/thaumostatic_harness.png +0 -0
  715. package/examples/test/res/textures/items/traveller_boots.png +0 -0
  716. package/examples/test/res/textures/items/tripletreat.png +0 -0
  717. package/examples/test/res/textures/items/tube_buffer.png +0 -0
  718. package/examples/test/res/textures/items/tube_filter.png +0 -0
  719. package/examples/test/res/textures/items/tube_normal.png +0 -0
  720. package/examples/test/res/textures/items/tube_oneway.png +0 -0
  721. package/examples/test/res/textures/items/tube_restrict.png +0 -0
  722. package/examples/test/res/textures/items/tube_valve.png +0 -0
  723. package/examples/test/res/textures/items/turret_advanced.png +0 -0
  724. package/examples/test/res/textures/items/turret_basic.png +0 -0
  725. package/examples/test/res/textures/items/turret_focus.png +0 -0
  726. package/examples/test/res/textures/items/turret_magnet.png +0 -0
  727. package/examples/test/res/textures/items/void_axe.png +0 -0
  728. package/examples/test/res/textures/items/void_boots.png +0 -0
  729. package/examples/test/res/textures/items/void_chest.png +0 -0
  730. package/examples/test/res/textures/items/void_gear.png +0 -0
  731. package/examples/test/res/textures/items/void_helm.png +0 -0
  732. package/examples/test/res/textures/items/void_hoe.png +0 -0
  733. package/examples/test/res/textures/items/void_legs.png +0 -0
  734. package/examples/test/res/textures/items/void_pick.png +0 -0
  735. package/examples/test/res/textures/items/void_plate.png +0 -0
  736. package/examples/test/res/textures/items/void_robe_chest.png +0 -0
  737. package/examples/test/res/textures/items/void_robe_chest_over.png +0 -0
  738. package/examples/test/res/textures/items/void_robe_helm.png +0 -0
  739. package/examples/test/res/textures/items/void_robe_legs.png +0 -0
  740. package/examples/test/res/textures/items/void_robe_legs_over.png +0 -0
  741. package/examples/test/res/textures/items/void_seed.png +0 -0
  742. package/examples/test/res/textures/items/void_shovel.png +0 -0
  743. package/examples/test/res/textures/items/void_sword.png +0 -0
  744. package/examples/test/res/textures/items/wand/cap_brass.png +0 -0
  745. package/examples/test/res/textures/items/wand/cap_brass_mat.png +0 -0
  746. package/examples/test/res/textures/items/wand/cap_gold.png +0 -0
  747. package/examples/test/res/textures/items/wand/cap_gold_mat.png +0 -0
  748. package/examples/test/res/textures/items/wand/cap_iron.png +0 -0
  749. package/examples/test/res/textures/items/wand/cap_iron_mat.png +0 -0
  750. package/examples/test/res/textures/items/wand/cap_thaumium.png +0 -0
  751. package/examples/test/res/textures/items/wand/cap_thaumium.png.mcmeta +11 -0
  752. package/examples/test/res/textures/items/wand/cap_thaumium_inert.png +0 -0
  753. package/examples/test/res/textures/items/wand/cap_thaumium_mat.png +0 -0
  754. package/examples/test/res/textures/items/wand/cap_void.png +0 -0
  755. package/examples/test/res/textures/items/wand/cap_void.png.mcmeta +11 -0
  756. package/examples/test/res/textures/items/wand/cap_void_inert.png +0 -0
  757. package/examples/test/res/textures/items/wand/cap_void_mat.png +0 -0
  758. package/examples/test/res/textures/items/wand/focus.png +0 -0
  759. package/examples/test/res/textures/items/wand/focus_builder.png +0 -0
  760. package/examples/test/res/textures/items/wand/focus_excavation.png +0 -0
  761. package/examples/test/res/textures/items/wand/focus_fire.png +0 -0
  762. package/examples/test/res/textures/items/wand/focus_frost.png +0 -0
  763. package/examples/test/res/textures/items/wand/focus_grapple.png +0 -0
  764. package/examples/test/res/textures/items/wand/focus_hellbat.png +0 -0
  765. package/examples/test/res/textures/items/wand/focus_hellbat_orn.png +0 -0
  766. package/examples/test/res/textures/items/wand/focus_pech.png +0 -0
  767. package/examples/test/res/textures/items/wand/focus_pech.png.mcmeta +3 -0
  768. package/examples/test/res/textures/items/wand/focus_portablehole.png +0 -0
  769. package/examples/test/res/textures/items/wand/focus_portablehole.png.mcmeta +3 -0
  770. package/examples/test/res/textures/items/wand/focus_primal.png +0 -0
  771. package/examples/test/res/textures/items/wand/focus_primal.png.mcmeta +3 -0
  772. package/examples/test/res/textures/items/wand/focus_shard.png +0 -0
  773. package/examples/test/res/textures/items/wand/focus_shard.png.mcmeta +3 -0
  774. package/examples/test/res/textures/items/wand/focus_shock.png +0 -0
  775. package/examples/test/res/textures/items/wand/focus_trade.png +0 -0
  776. package/examples/test/res/textures/items/wand/focus_warding.png +0 -0
  777. package/examples/test/res/textures/items/wand/focus_warding.png.mcmeta +3 -0
  778. package/examples/test/res/textures/items/wand/rod_blaze.png +0 -0
  779. package/examples/test/res/textures/items/wand/rod_blaze_mat.png +0 -0
  780. package/examples/test/res/textures/items/wand/rod_blaze_mat.png.mcmeta +45 -0
  781. package/examples/test/res/textures/items/wand/rod_bone.png +0 -0
  782. package/examples/test/res/textures/items/wand/rod_bone_mat.png +0 -0
  783. package/examples/test/res/textures/items/wand/rod_greatwood.png +0 -0
  784. package/examples/test/res/textures/items/wand/rod_greatwood_mat.png +0 -0
  785. package/examples/test/res/textures/items/wand/rod_ice.png +0 -0
  786. package/examples/test/res/textures/items/wand/rod_ice_mat.png +0 -0
  787. package/examples/test/res/textures/items/wand/rod_obsidian.png +0 -0
  788. package/examples/test/res/textures/items/wand/rod_obsidian_mat.png +0 -0
  789. package/examples/test/res/textures/items/wand/rod_primal_mat.png +0 -0
  790. package/examples/test/res/textures/items/wand/rod_primal_mat.png.mcmeta +45 -0
  791. package/examples/test/res/textures/items/wand/rod_quartz.png +0 -0
  792. package/examples/test/res/textures/items/wand/rod_quartz_mat.png +0 -0
  793. package/examples/test/res/textures/items/wand/rod_reed.png +0 -0
  794. package/examples/test/res/textures/items/wand/rod_reed_mat.png +0 -0
  795. package/examples/test/res/textures/items/wand/rod_silverwood.png +0 -0
  796. package/examples/test/res/textures/items/wand/rod_silverwood_mat.png +0 -0
  797. package/examples/test/res/textures/items/wand/rod_wood_mat.png +0 -0
  798. package/examples/test/res/textures/items/wand/staff_rod_blaze.png +0 -0
  799. package/examples/test/res/textures/items/wand/staff_rod_bone.png +0 -0
  800. package/examples/test/res/textures/items/wand/staff_rod_greatwood.png +0 -0
  801. package/examples/test/res/textures/items/wand/staff_rod_ice.png +0 -0
  802. package/examples/test/res/textures/items/wand/staff_rod_obsidian.png +0 -0
  803. package/examples/test/res/textures/items/wand/staff_rod_primal.png +0 -0
  804. package/examples/test/res/textures/items/wand/staff_rod_quartz.png +0 -0
  805. package/examples/test/res/textures/items/wand/staff_rod_reed.png +0 -0
  806. package/examples/test/res/textures/items/wand/staff_rod_silverwood.png +0 -0
  807. package/examples/test/res/textures/items/wispy_essence.png +0 -0
  808. package/examples/test/res/textures/models/armor/custom_legs.png +0 -0
  809. package/examples/test/res/textures/models/armor/custom_main.png +0 -0
  810. package/examples/test/res/textures/models/armor/vampireArmor_1.png +0 -0
  811. package/examples/test/res/textures/models/armor/vampireArmor_2.png +0 -0
  812. package/examples/test/scripts/custom_components/cropComponent.js +59 -0
  813. package/examples/test/scripts/index.js +101 -0
  814. package/log.md +75 -0
  815. package/package.json +31 -0
  816. package/src/cli/build.config +4 -0
  817. package/src/cli/build.js +211 -0
  818. package/src/cli/index.js +150 -0
  819. package/src/cli/init.js +69 -0
  820. package/src/cli/load.js +113 -0
  821. package/src/cli/tools/textureSet.js +115 -0
  822. package/src/cli/utils.js +82 -0
  823. package/src/core/addon/biome.js +29 -0
  824. package/src/core/addon/block/Block.js +49 -0
  825. package/src/core/addon/entity/client_entity.js +154 -0
  826. package/src/core/addon/entity/entity.js +52 -0
  827. package/src/core/addon/feature/ore_feature.js +26 -0
  828. package/src/core/addon/feature_rule.js +29 -0
  829. package/src/core/addon/item/attachable.js +138 -0
  830. package/src/core/addon/item/item.js +29 -0
  831. package/src/core/addon/manifest.js +71 -0
  832. package/src/core/addon/menu_category.js +7 -0
  833. package/src/core/addon/recipe/data.js +76 -0
  834. package/src/core/addon/recipe/recipe.js +27 -0
  835. package/src/core/addon/recipe/recipeFurnace.js +38 -0
  836. package/src/core/addon/recipe/recipeShaped.js +56 -0
  837. package/src/core/addon/recipe/recipeShapeless.js +35 -0
  838. package/src/core/biome/Biome.js +30 -0
  839. package/src/core/biome/biomeComponent.js +89 -0
  840. package/src/core/block/BasicBlock.js +127 -0
  841. package/src/core/block/GeometryBlock.js +14 -0
  842. package/src/core/block/OreBlock.js +29 -0
  843. package/src/core/block/RotatableBlock.js +161 -0
  844. package/src/core/block/block.js +107 -0
  845. package/src/core/block/blockComponent.js +558 -0
  846. package/src/core/block/cropBlock.js +42 -0
  847. package/src/core/entity/BasicEntity.js +167 -0
  848. package/src/core/entity/ClientEntity.js +41 -0
  849. package/src/core/entity/Entity.js +19 -0
  850. package/src/core/entity/NativeEntity.js +30 -0
  851. package/src/core/entity/Projectile.js +8 -0
  852. package/src/core/entity/behavior/follow_mod.js +43 -0
  853. package/src/core/entity/behavior/follow_parent.js +15 -0
  854. package/src/core/entity/behavior/random_stroll.js +69 -0
  855. package/src/core/entity/behavior/tempt.js +145 -0
  856. package/src/core/entity/componets/EntityComponet.js +485 -0
  857. package/src/core/entity/data/NativeEntityData.js +46 -0
  858. package/src/core/entity/data/data_bp.json +1 -0
  859. package/src/core/entity/data/data_rp.json +1 -0
  860. package/src/core/entity/navigation/walk.js +58 -0
  861. package/src/core/factory/BiomeFactory.js +15 -0
  862. package/src/core/factory/BlockFactory.js +159 -0
  863. package/src/core/factory/EntityFactory.js +83 -0
  864. package/src/core/factory/FeatureFactory.js +26 -0
  865. package/src/core/factory/ItemFactory.js +96 -0
  866. package/src/core/factory/RecipeFactory.js +47 -0
  867. package/src/core/factory/UIFactory.js +37 -0
  868. package/src/core/feature/OreFeature.js +19 -0
  869. package/src/core/feature_rule/FeatureRule.js +37 -0
  870. package/src/core/feature_rule/condition/BiomeFilter.js +39 -0
  871. package/src/core/feature_rule/condition/FeatureConditions.js +41 -0
  872. package/src/core/feature_rule/distribution/CoordinateDistribution.js +24 -0
  873. package/src/core/feature_rule/distribution/FeatureDistribution.js +45 -0
  874. package/src/core/index.js +1 -0
  875. package/src/core/item/Item.js +97 -0
  876. package/src/core/item/ItemComponents.js +236 -0
  877. package/src/core/item/armor.js +89 -0
  878. package/src/core/item/attachable.js +34 -0
  879. package/src/core/item/food.js +62 -0
  880. package/src/core/registry.js +17 -0
  881. package/src/core/texture.js +41 -0
  882. package/src/core/ui/ButtonMapping.js +144 -0
  883. package/src/core/ui/DataBindingObject.js +146 -0
  884. package/src/core/ui/Properties/Control.js +308 -0
  885. package/src/core/ui/Properties/DataBinding.js +14 -0
  886. package/src/core/ui/Properties/Factory.js +63 -0
  887. package/src/core/ui/Properties/Grid.js +98 -0
  888. package/src/core/ui/Properties/Input.js +146 -0
  889. package/src/core/ui/Properties/Layout.js +158 -0
  890. package/src/core/ui/Properties/ScrollView.js +158 -0
  891. package/src/core/ui/Properties/Sprite.js +242 -0
  892. package/src/core/ui/Properties/Text.js +204 -0
  893. package/src/core/ui/elements/Image.js +62 -0
  894. package/src/core/ui/elements/Label.js +62 -0
  895. package/src/core/ui/elements/Panel.js +50 -0
  896. package/src/core/ui/elements/UIElement.js +107 -0
  897. package/src/core/ui/registry/ServerUISystem.js +19 -0
  898. package/src/core/ui/systems/UISystem.js +42 -0
  899. package/src/core/ui/systems/server_form.js +100 -0
  900. package/src/templates/test_sapdon/build.config +29 -0
  901. package/src/templates/test_sapdon/main.mjs +0 -0
  902. package/src/templates/test_sapdon/mod.info +7 -0
  903. package/src/templates/test_sapdon/pack_icon.png +0 -0
  904. package/src/templates/test_sapdon/res/models/blocks/crop.geo.json +48 -0
  905. package/src/templates/test_sapdon/res/textures/blocks/test_log_oak.png +0 -0
  906. package/src/templates/test_sapdon/res/textures/blocks/test_log_top.png +0 -0
  907. package/src/templates/test_sapdon/res/textures/items/masterball.png +0 -0
  908. package/src/templates/test_sapdon/scripts/index.js +0 -0
@@ -0,0 +1,59 @@
1
+ import { EquipmentSlot, GameMode, world } from "@minecraft/server";
2
+
3
+ /**
4
+ * @param {number} min The minimum integer
5
+ * @param {number} max The maximum integer
6
+ * @returns {number} A random integer between the `min` and `max` parameters (inclusive)
7
+ */
8
+ const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
9
+
10
+ const maxGrowth = 3;
11
+
12
+ /** @type {import("@minecraft/server").BlockCustomComponent} */
13
+ const CustomCropGrowthBlockComponent = {
14
+ onRandomTick({ block }) {
15
+ const growthChance = 1 / 3;
16
+ if (Math.random() > growthChance) return;
17
+
18
+ const growth = block.permutation.getState("sapdon:block_variant_tag");
19
+ block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", growth + 1));
20
+ },
21
+ onPlayerInteract({ block, dimension, player }) {
22
+ if (!player) return;
23
+
24
+ const equippable = player.getComponent("minecraft:equippable");
25
+ if (!equippable) return;
26
+
27
+ const mainhand = equippable.getEquipmentSlot(EquipmentSlot.Mainhand);
28
+ if (!mainhand.hasItem() || mainhand.typeId !== "minecraft:bone_meal") return;
29
+
30
+ if (player.getGameMode() === GameMode.creative) {
31
+ // Grow crop fully
32
+ block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", maxGrowth));
33
+ } else {
34
+ let growth = block.permutation.getState("sapdon:block_variant_tag");
35
+
36
+ // Add random amount of growth
37
+ growth += randomInt(1, maxGrowth - growth);
38
+ block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", growth));
39
+
40
+ // Decrement stack
41
+ if (mainhand.amount > 1) mainhand.amount--;
42
+ else mainhand.setItem(undefined);
43
+ }
44
+
45
+ // Play effects
46
+ const effectLocation = block.center();
47
+ dimension.playSound("item.bone_meal.use", effectLocation);
48
+ dimension.spawnParticle("minecraft:crop_growth_emitter", effectLocation);
49
+ },
50
+ };
51
+
52
+ export const CustomComponentRegister = () =>{
53
+ world.beforeEvents.worldInitialize.subscribe(({ blockComponentRegistry }) => {
54
+ blockComponentRegistry.registerCustomComponent(
55
+ "sapdon:crop_growth",
56
+ CustomCropGrowthBlockComponent
57
+ );
58
+ });
59
+ }
@@ -0,0 +1,101 @@
1
+ import {Direction, world } from "@minecraft/server"
2
+ import { CustomComponentRegister } from "./custom_components/cropComponent";
3
+
4
+
5
+ CustomComponentRegister();
6
+
7
+ const wireBlock = [];
8
+
9
+
10
+ world.afterEvents.itemUseOn.subscribe((event) => {
11
+ const block = event.block;
12
+ const blockId = event.block.typeId;
13
+ const blockFace = event.blockFace;
14
+ if(blockId == "sapdon:wire"){
15
+ world.sendMessage("if wire");
16
+ switch(blockFace){
17
+ case Direction.North:
18
+ world.sendMessage("north");
19
+ //设置方块状态
20
+ block.setPermutation(
21
+ block.permutation.withState("wire:north",1)
22
+ )
23
+ const north_block = block.north();
24
+ if(north_block.typeId == "sapdon:wire"){
25
+ world.sendMessage("north is wire");
26
+ north_block.setPermutation(
27
+ north_block.permutation.withState("wire:south",1)
28
+ )
29
+ }
30
+ break;
31
+ case Direction.South:
32
+ world.sendMessage("south");
33
+ block.setPermutation(
34
+ block.permutation.withState("wire:south",1)
35
+ )
36
+ const south_block = block.south();
37
+ if(south_block.typeId == "sapdon:wire"){
38
+ world.sendMessage("south is wire");
39
+ south_block.setPermutation(
40
+ south_block.permutation.withState("wire:north",1)
41
+ )
42
+ }
43
+ break;
44
+ case Direction.East:
45
+ world.sendMessage("east");
46
+ block.setPermutation(
47
+ block.permutation.withState("wire:east",1)
48
+ )
49
+ const east_block = block.east();
50
+ if(east_block.typeId == "sapdon:wire"){
51
+ world.sendMessage("east is wire");
52
+ east_block.setPermutation(
53
+ east_block.permutation.withState("wire:west",1)
54
+ )
55
+ }
56
+ break;
57
+ case Direction.West:
58
+ world.sendMessage("west");
59
+ block.setPermutation(
60
+ block.permutation.withState("wire:west",1)
61
+ )
62
+ const west_block = block.west();
63
+ if(west_block.typeId == "sapdon:wire"){
64
+ world.sendMessage("west is wire");
65
+ west_block.setPermutation(
66
+ west_block.permutation.withState("wire:east",1)
67
+ )
68
+ }
69
+ break;
70
+ case Direction.Up:
71
+ world.sendMessage("up");
72
+ block.setPermutation(
73
+ block.permutation.withState("wire:top",1)
74
+ )
75
+ const up_block = block.above();
76
+ if(up_block.typeId == "sapdon:wire"){
77
+ world.sendMessage("up is wire");
78
+ up_block.setPermutation(
79
+ up_block.permutation.withState("wire:bottom",1)
80
+ )
81
+ }
82
+ break;
83
+ case Direction.Down:
84
+ world.sendMessage("down");
85
+ block.setPermutation(
86
+ block.permutation.withState("wire:bottom",1)
87
+ )
88
+ const down_block = block.below();
89
+ if(down_block.typeId == "sapdon:wire"){
90
+ world.sendMessage("down is wire");
91
+ down_block.setPermutation(
92
+ down_block.permutation.withState("wire:top",1)
93
+ )
94
+ }
95
+ break;
96
+ }
97
+ }
98
+ world.sendMessage("blockId:"+event.block.typeId);
99
+ })
100
+
101
+
package/log.md ADDED
@@ -0,0 +1,75 @@
1
+ ### sapdon 日志
2
+ 1.修改了项目结构,将源码放入src/文件夹下,并添加示例文件夹examples/ [2024,1,15,15,27]
3
+
4
+
5
+
6
+ ### sapdon cli 脚手架工具日志
7
+ 时间 内容 版本[大版本,更新,修复]
8
+
9
+ 大版本 1
10
+
11
+ 更新
12
+ 1.添加物品,方块纹理支持,不用手写item_texture.json与terrain_texture.json [2025,1,15,21,17]
13
+ 2.添加了对物品类方块类的生成支持 [2024,1,16,0,16]
14
+ 3.生成文件名加入命名空间作为前缀 [2024,1,17,20,42]
15
+ 4.添加了对可附着物类的生成支持 [2024,1,18,22,14]
16
+ 5.修改了load.js里生成的逻辑,取消分别生成而采用统一注册生成 [2024,1,23,13,38]
17
+ 6.将输出游戏的路径加入值cli文件夹下build.config文件下方便用户根据自己的喜欢设置 [2025,1,25,18,01]
18
+ 7.添加了模组build.config的buildMode选项,当模式为debug时,cli将不会再对main.mjs进行读取,构建,而是直接将dev文件夹输出到游戏目录 [2025,2,7,10,55]
19
+
20
+ 修复
21
+ 1.修复构建后导入mc时,addon包无法被识别情况 [2025,1,15,17,34]
22
+ 2.修复物品显示bug [2024,1,16,11,49]
23
+ 3.修改了输出文件夹的文件夹关系错乱问题 [2025,1,25,17,35]
24
+
25
+
26
+
27
+
28
+ ### sapdon core 核心库日志
29
+
30
+ 大版本 1
31
+
32
+ 更新
33
+ 1.添加了基础物品的封装 [2024,1,16,0,16]
34
+ 2.添加了一些基础物品组件 [2024,1,16,11,49]
35
+ 3.添加了BasicBlock类以对基础方块进行封装 [2024,1,16,12,44]
36
+ 4.添加了常用的物品组件方法 [2024,1,16,20,8]
37
+ 5.添加了方块的全部组件方法 [2024,1,16,18,0]
38
+ 6.添加了基础食物的封装类 [2024,1,17,16,42]
39
+ 7.添加了Block类封装创建一般方块的方法 [2024,1,17,20,10]
40
+ 8.添加了AddonClientEntityDescription类及其AddonAttachableDescription类 [2024,1,17,21,14]
41
+ 9.添加了Attachable类封装创建一般可附着物的方法 [2024,1,18,22,14]
42
+ 10.添加了实体接口支持 [2024,1,21,15,27]
43
+ 11.添加了实体基类BasicEntity封装 [2024,1,21,22,45]
44
+ 12.添加了实体部分常用组件及其行为组件 [2024,1,21,22,45]
45
+ 13.添加了熔炉配方和工作台配方组件 [2024,1,22,1,0]
46
+ 14.添加了GRegister类用于告知脚手架工具如何生成文件 [2024,1,23,13,40]
47
+ 15.添加了可抛掷物类 [2024,1,23,19,13]
48
+ 16.添加了原版实体继承类,方便直接继承原版的需要 [2025,1,25,17,49]
49
+ 17.添加了可旋转方块类 [2025,1,26,23,53]
50
+ 18.添加了带模型的方块类 [2025,2,1,0,20]
51
+ 19.添加了矿石特征类 [2025,2,5,15,41]
52
+ 20.添加了特征规则类 [2025,2,5,15,41]
53
+ 21.添加了矿石类 [2025,2,5,19,41]
54
+ 22.添加了个管理纹理的类,以支持自定义纹理 [2025,2,9,18,55]
55
+
56
+ 修复
57
+ 1.重写AddonClientEntityDescription类及其AddonAttachableDescription类以更方便地使用 [2024,1,18,22,14]
58
+ 2.修改ClientEntity类以更方便使用 [2024,1,21,22,45]
59
+ 3.修复GRegister的一些bug
60
+
61
+
62
+ 大版本 2
63
+ 对JsonUI进行了大幅度支持
64
+
65
+ 更新
66
+ 1.添加了UISystem类用于管理ui文件
67
+ 2.添加了UIElenment类用于创建基础UI元素
68
+ 3.添加了Control,DataBinding,Factory,Input,Layout,Sprite属性库
69
+ 4.添加了Panel类,用以创建面板元素
70
+ 5.添加了Image类,用以创建图片元素
71
+ 6.添加了ServerFormSystem类,为脚本调用UI做准备
72
+ 7.添加了SerVerUISystem类,用以提供自定义UI注册 [2025,2,15,16,40]
73
+
74
+ 修复
75
+ 1.修复了自定义UI注册系统显示bug [2025,2,16,22,08]
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "sapdon",
3
+ "version": "2.0.0",
4
+ "main": "src/core/index.js",
5
+ "scripts": {
6
+ "sapdon": "node src/cli/index.js",
7
+ "create": "node src/cli/index.js create",
8
+ "build": "node src/cli/index.js build"
9
+ },
10
+ "keywords": [
11
+ "bedrock",
12
+ "tools",
13
+ "addon"
14
+ ],
15
+ "author": "Meteage",
16
+ "license": "ISC",
17
+ "type": "module",
18
+ "bin": {
19
+ "sapdon": "src/cli/index.js"
20
+ },
21
+ "description": "The Sapdon is a Node.js toolkit designed for building Bedrock Edition Minecraft addon packs.",
22
+ "dependencies": {
23
+ "commander": "^13.0.0",
24
+ "download-git-repo": "^3.0.2",
25
+ "inquirer": "^12.3.1",
26
+ "ora": "^8.1.1"
27
+ },
28
+ "devDependencies": {
29
+ "@minecraft/server": "^1.18.0-beta.1.21.60-preview.28"
30
+ }
31
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "mojangPath": "C:/Users/ASUS/AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang",
3
+ "mojangBetaPath":"./"
4
+ }
@@ -0,0 +1,211 @@
1
+ import path from 'path';
2
+ import { checkPath, readFile, generateUUID ,saveFile,copyFileSync, copyFolder} from "./utils.js"
3
+ import { loadAndExecuteMod } from './load.js';
4
+
5
+ import {
6
+ AddonManifestHeader,
7
+ AddonManifestModule,
8
+ AddonManifest,
9
+ AddonManifestMetadata
10
+ } from '../core/addon/manifest.js';
11
+
12
+ import { fileURLToPath } from 'url';
13
+
14
+ // 获取当前文件的目录路径
15
+ const __filename = fileURLToPath(import.meta.url);
16
+ const __dirname = path.dirname(__filename);
17
+
18
+ //读取配置文件
19
+ const pathConfig = JSON.parse(readFile(path.join(__dirname,"./build.config")));
20
+
21
+ //构建项目
22
+ export const buildProject = (projectPath,projectName) => {
23
+ console.log("开始构建项目");
24
+ console.log("项目路径:" + projectPath);
25
+ //检查项目是否存在
26
+ if(checkPath(projectPath)) {
27
+ console.log("项目不存在");
28
+ return;
29
+ }
30
+ //检查项目是否有build.config文件
31
+ if(checkPath(path.join(projectPath,"build.config"))) {
32
+ console.log("项目没有build.config文件");
33
+ return;
34
+ }
35
+
36
+ //读取build.config文件
37
+ const buildConfigPath = path.join(projectPath,"build.config");
38
+ const buildConfig = JSON.parse(readFile(buildConfigPath));
39
+ //console.log(buildConfig);
40
+
41
+ //读取mod.info文件
42
+ const modInfoPath = path.join(projectPath,"mod.info");
43
+ const modInfo = JSON.parse(readFile(modInfoPath));
44
+ const min_engine_version = versionStringToArray(modInfo.min_engine_version);
45
+
46
+ const buildDirPath = path.join(projectPath,buildConfig.defaultConfig.buildDir);
47
+
48
+ const buildBehDirPath = path.join(buildDirPath,`${projectName}_BP/`);
49
+ const buildResDirPath = path.join(buildDirPath,`${projectName}_RP/`);
50
+ //生成manifest.json文件
51
+ //判断manifest.json是否已经生成过了,生成过了就不用生成
52
+ const manifestPath = path.join(buildBehDirPath,"manifest.json");
53
+ if(checkPath(manifestPath)){
54
+ const behManifest = generateBehManifest(
55
+ modInfo.name,
56
+ modInfo.description,
57
+ modInfo.version,
58
+ {
59
+ min_engine_version:min_engine_version,
60
+ },
61
+ buildConfig.defaultConfig.dependencies,
62
+ buildConfig.defaultConfig.scriptEntry
63
+ );
64
+
65
+ const resManifest = generateResManifest(
66
+ modInfo.name,
67
+ modInfo.description,
68
+ modInfo.version,
69
+ {
70
+ min_engine_version:min_engine_version,
71
+ },
72
+ []
73
+ );
74
+
75
+ //BP
76
+ saveFile(path.join(buildBehDirPath,"manifest.json"),behManifest);
77
+ //RP
78
+ saveFile(path.join(buildResDirPath,"manifest.json"),resManifest);
79
+ }
80
+
81
+ //复制pack_icon.png
82
+ const packIconPath = path.join(projectPath,"pack_icon.png");
83
+
84
+ copyFileSync(packIconPath,path.join(buildBehDirPath,"pack_icon.png"));
85
+ copyFileSync(packIconPath,path.join(buildResDirPath,"pack_icon.png"));
86
+
87
+ //复制文件夹
88
+ const resources = buildConfig.resources;
89
+ resources.forEach(element => {
90
+ const sourcePath = path.join(projectPath,element.path);
91
+ copyFolder(sourcePath,buildResDirPath);
92
+ });
93
+
94
+ //复制scripts文件夹
95
+ const scripts = buildConfig.scripts;
96
+ const scriptPath = path.join(buildBehDirPath,"scripts/");
97
+ scripts.forEach(element => {
98
+ const sourcePath = path.join(projectPath,element.path);
99
+ copyFolder(sourcePath,scriptPath);
100
+ });
101
+
102
+
103
+
104
+ //只有当buildMode为development时才加载用户modjs文件
105
+ if(buildConfig.defaultConfig.buildMode === "development"){
106
+ //动态加载用户modjs文件
107
+ loadAndExecuteMod(path.join(projectPath,buildConfig.defaultConfig.buildEntry),buildDirPath,projectName);
108
+ }
109
+
110
+ //延迟1s
111
+ setTimeout(()=>{
112
+ //将编译好的文件夹拷贝至mc
113
+ //console.log(path.join(pathConfig.mojangPath,`development_behavior_packs/${projectName}_BP/`));
114
+ copyFolder(buildBehDirPath,path.join(pathConfig.mojangPath,"development_behavior_packs/",`${projectName}_BP/`));
115
+ copyFolder(buildResDirPath,path.join(pathConfig.mojangPath,"development_resource_packs/",`${projectName}_RP/`));
116
+ },1000);
117
+
118
+ }
119
+
120
+ function versionStringToArray(versionString) {
121
+ // 使用 split 方法将字符串按 '.' 分割成数组
122
+ const parts = versionString.split('.');
123
+
124
+ // 使用 map 方法将每个部分转换为数字
125
+ const versionArray = parts.map(part => Number(part));
126
+
127
+ return versionArray;
128
+ }
129
+
130
+ const generateBehManifest = (name, description, version, options = {},dependencies = [],entry) => {
131
+ console.log("开始生成behavior_packs/manifest.json")
132
+ console.log("Entry:",entry)
133
+ const header = new AddonManifestHeader(
134
+ (name+"_BP"),
135
+ description,
136
+ versionStringToArray(version),
137
+ generateUUID(),
138
+ options
139
+ );
140
+ const module = new AddonManifestModule(
141
+ "行为模块",
142
+ "data",
143
+ generateUUID(),
144
+ versionStringToArray(version)
145
+ );
146
+ const script_module = new AddonManifestModule(
147
+ "脚本模块",
148
+ "script",
149
+ generateUUID(),
150
+ versionStringToArray(version)
151
+ );
152
+ if(entry){script_module.entry = entry;}
153
+
154
+ const metadata = new AddonManifestMetadata(
155
+ ["@sapdon"],
156
+ "MIT",
157
+ {
158
+ "sapdon":["1.0.0"]
159
+ },
160
+ "addon",
161
+ "https://github.com/junjun260/sapdon"
162
+ );
163
+
164
+ const manifest = new AddonManifest(
165
+ 2,//格式版本
166
+ header,
167
+ [module,script_module],
168
+ dependencies,
169
+ null,
170
+ metadata
171
+ );
172
+
173
+ return JSON.stringify(manifest, null, 2);
174
+ }
175
+
176
+ const generateResManifest = (name, description, version,options = {},dependencies = []) => {
177
+ const header = new AddonManifestHeader(
178
+ (name+"_RP"),
179
+ description,
180
+ versionStringToArray(version),
181
+ generateUUID(),
182
+ options
183
+ );
184
+ const module = new AddonManifestModule(
185
+ "资源模块",
186
+ "resources",
187
+ generateUUID(),
188
+ versionStringToArray(version)
189
+ );
190
+
191
+ const metadata = new AddonManifestMetadata(
192
+ ["@sapdon"],
193
+ "MIT",
194
+ {
195
+ "sapdon":["1.0.0"]
196
+ },
197
+ "addon",
198
+ "https://github.com/junjun260/sapdon"
199
+ );
200
+
201
+ const manifest = new AddonManifest(
202
+ 2,//格式版本
203
+ header,
204
+ [module],
205
+ [],
206
+ null,
207
+ metadata
208
+ );
209
+
210
+ return JSON.stringify(manifest, null, 2);
211
+ }
@@ -0,0 +1,150 @@
1
+ #!/usr/bin/env node
2
+ import {program} from 'commander';
3
+ import inquirer from 'inquirer';
4
+ import path from 'path';
5
+
6
+ import {initNPMProject, initProject,readPackageJson} from './init.js';
7
+ import {buildProject} from './build.js';
8
+ import {readFile} from "./utils.js";
9
+ import fs from "fs";
10
+ import {fileURLToPath} from "url";
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+
15
+ process.removeAllListeners('warning');
16
+
17
+ // 额外添加的init方法
18
+ program.command("init").description("初始化一个基于NodeJS的项目").action(() => {
19
+ const currentDir = process.cwd();
20
+ const packageJsonPath = path.join(currentDir, 'package.json');
21
+ let packageJsonData;
22
+ if (!fs.existsSync(packageJsonPath)) {
23
+ console.error("没有找到package.json文件,请使改用create命令进行创建。");
24
+ return;
25
+ }
26
+
27
+ try {
28
+ packageJsonData = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
29
+ } catch (error) {
30
+ console.error("读取package.json文件时出错:", error);
31
+ console.log("请使改用create命令进行创建。")
32
+ return;
33
+ }
34
+
35
+ // 添加或更新scripts字段
36
+ packageJsonData.scripts = {
37
+ ...packageJsonData.scripts,
38
+ init: "sapdon init",
39
+ pack: "sapdon pack",
40
+ config: "sapdon config"
41
+ };
42
+
43
+ try {
44
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJsonData, null, 2), 'utf-8');
45
+ } catch (error) {
46
+ console.error("写入package.json文件时出错:", error);
47
+ return;
48
+ }
49
+
50
+ inquirer.prompt([
51
+ {
52
+ type: "input",
53
+ name: "min_engine_version",
54
+ message: "最低引擎版本:",
55
+ default: "1.19.50"
56
+ }
57
+ ]).then((answers) => {
58
+ initNPMProject(currentDir, {...readPackageJson(currentDir), ...answers});
59
+ console.log("请使用命令sapdon config配置框架的build.config文件。");
60
+ })
61
+ });
62
+
63
+ program.command("create <project-name>").description("Create a new project").action((projectName) => {
64
+ inquirer.prompt([
65
+ {
66
+ type: "input",
67
+ name: "name",
68
+ message: "Project Name:",
69
+ default: path.basename(projectName)
70
+ },
71
+ {
72
+ type: "input",
73
+ name: "description",
74
+ message: "Project Description:",
75
+ default: "A new sapdon project"
76
+ },
77
+ {
78
+ type: "input",
79
+ name: "author",
80
+ message: "Author Name:",
81
+ default: "Sapdon"
82
+ },
83
+ {
84
+ type: "input",
85
+ name: "version",
86
+ message: "Project Version:",
87
+ default: "1.0.0"
88
+ },
89
+ {
90
+ type: "input",
91
+ name: "min_engine_version",
92
+ message: "Minimum Engine Version:",
93
+ default: "1.19.50",
94
+ }
95
+ ]).then((answers) => {
96
+ const projectPath = path.join(process.cwd(), projectName);
97
+ console.log('项目路径:', projectPath);
98
+ initProject(projectPath, answers);
99
+ });
100
+ });
101
+
102
+ program.command("build <project-name>").description("Build the project").action((projectName) => {
103
+ console.log("Building the project...");
104
+ const projectPath = path.join(process.cwd(), projectName);
105
+ buildProject(projectPath, path.basename(projectName));
106
+ });
107
+
108
+ // pack 命令
109
+ program.command("pack").description("Pack the current project").action(() => {
110
+ console.log("Packing the current project...");
111
+ const projectPath = process.cwd();
112
+ buildProject(projectPath, path.basename(projectPath));
113
+ });
114
+
115
+ // 配置build.config文件的命令
116
+ program.command("config").description("Configure build.config file").action(() => {
117
+ const buildConfigPath = path.join(__dirname, "./build.config");
118
+ let buildConfigData;
119
+
120
+ try {
121
+ buildConfigData = JSON.parse(readFile(buildConfigPath));
122
+ } catch (error) {
123
+ console.error("读取build.config文件时出错:", error);
124
+ return;
125
+ }
126
+
127
+ inquirer.prompt([
128
+ {
129
+ type: "input",
130
+ name: "mojangPath",
131
+ message: "Mojang Path (must end with LocalState/games/com.mojang/):",
132
+ default: buildConfigData.mojangPath || "./"
133
+ },
134
+ {
135
+ type: "input",
136
+ name: "mojangBetaPath",
137
+ message: "Mojang Beta Path (must end with LocalState/games/com.mojang/):",
138
+ default: buildConfigData.mojangBetaPath || "./"
139
+ }
140
+ ]).then((answers) => {
141
+ try {
142
+ fs.writeFileSync(buildConfigPath, JSON.stringify({...buildConfigData, ...answers}, null, 2), 'utf-8');
143
+ console.log("build.config文件已更新。");
144
+ } catch (error) {
145
+ console.error("写入build.config文件时出错:", error);
146
+ }
147
+ })
148
+ });
149
+
150
+ program.parse(program.argv);