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,58 @@
1
+ export const Navigation = {
2
+ /**
3
+ * 创建 minecraft:navigation.walk 组件的配置。
4
+ * @param {Object} options - 配置选项。
5
+ * @param {boolean} [options.avoid_damage_blocks=false] - 是否避免伤害方块。
6
+ * @param {boolean} [options.avoid_portals=false] - 是否避免传送门。
7
+ * @param {boolean} [options.avoid_sun=false] - 是否避免阳光。
8
+ * @param {boolean} [options.avoid_water=false] - 是否避免水。
9
+ * @param {Array} [options.blocks_to_avoid=[]] - 需要避免的方块列表。
10
+ * @param {boolean} [options.can_breach=false] - 是否可以突破方块。
11
+ * @param {boolean} [options.can_break_doors=false] - 是否可以破坏门。
12
+ * @param {boolean} [options.can_jump=true] - 是否可以跳跃。
13
+ * @param {boolean} [options.can_open_doors=false] - 是否可以开门。
14
+ * @param {boolean} [options.can_open_iron_doors=false] - 是否可以开铁门。
15
+ * @param {boolean} [options.can_pass_doors=true] - 是否可以通过门。
16
+ * @param {boolean} [options.can_path_from_air=false] - 是否可以从空中寻路。
17
+ * @param {boolean} [options.can_path_over_lava=false] - 是否可以在熔岩上寻路。
18
+ * @param {boolean} [options.can_path_over_water=false] - 是否可以在水上寻路。
19
+ * @param {boolean} [options.can_sink=true] - 是否可以沉入水中。
20
+ * @param {boolean} [options.can_swim=false] - 是否可以游泳。
21
+ * @param {boolean} [options.can_walk=true] - 是否可以行走。
22
+ * @param {boolean} [options.can_walk_in_lava=false] - 是否可以在熔岩中行走。
23
+ * @param {boolean} [options.is_amphibious=false] - 是否是两栖动物。
24
+ * @returns {Map} - 包含 minecraft:navigation.walk 组件的 Map 对象。
25
+ */
26
+ walk: function (options = {}) {
27
+ // 默认值
28
+ const defaultOptions = {
29
+ avoid_damage_blocks: false,
30
+ avoid_portals: false,
31
+ avoid_sun: false,
32
+ avoid_water: false,
33
+ blocks_to_avoid: [],
34
+ can_breach: false,
35
+ can_break_doors: false,
36
+ can_jump: true,
37
+ can_open_doors: false,
38
+ can_open_iron_doors: false,
39
+ can_pass_doors: true,
40
+ can_path_from_air: false,
41
+ can_path_over_lava: false,
42
+ can_path_over_water: false,
43
+ can_sink: true,
44
+ can_swim: false,
45
+ can_walk: true,
46
+ can_walk_in_lava: false,
47
+ is_amphibious: false
48
+ };
49
+
50
+ // 合并用户提供的选项和默认值
51
+ const finalOptions = { ...defaultOptions, ...options };
52
+
53
+ // 返回 Map 对象
54
+ const navigationMap = new Map();
55
+ navigationMap.set("minecraft:navigation.walk", finalOptions);
56
+ return navigationMap;
57
+ }
58
+ };
@@ -0,0 +1,15 @@
1
+ import { Biome } from "../biome/Biome.js"
2
+ import { GRegistry } from "../registry.js";
3
+
4
+ const registerBiome = (biome) => {
5
+ const biome_name = biome.identifier.split(":")[biome.identifier.split(":").length - 1];
6
+ GRegistry.register(biome_name, "behavior", "biomes/", biome);
7
+ }
8
+
9
+ export const BiomeAPI = {
10
+ createBiome: function(identifier) {
11
+ const biome = new Biome(identifier);
12
+ registerBiome(biome);
13
+ return biome;
14
+ }
15
+ }
@@ -0,0 +1,159 @@
1
+ import { BasicBlock } from "../block/BasicBlock.js";
2
+ import { Block } from "../block/block.js";
3
+ import { CropBlock } from "../block/cropBlock.js";
4
+ import { GeometryBlock } from "../block/GeometryBlock.js";
5
+ import { OreBlock } from "../block/OreBlock.js";
6
+ import { RotatableBlock } from "../block/RotatableBlock.js";
7
+ import { GRegistry } from "../registry.js";
8
+
9
+
10
+ /**
11
+ * 注册方块到注册表中。
12
+ * @param {Block} block - 要注册的方块对象。
13
+ */
14
+ const registerBlock = (block) => {
15
+ if (!block || !block.identifier) {
16
+ throw new Error("无效的方块对象或缺少 identifier。");
17
+ }
18
+
19
+ const block_name = block.identifier.replace(":", "_");
20
+ GRegistry.register(block_name, "behavior", "blocks/", block);
21
+ };
22
+
23
+ const registerFeature = (feature)=>{
24
+ const feature_name = feature.identifier.split(":")[feature.identifier.split(":").length - 1];
25
+ GRegistry.register(feature_name,"behavior","features/",feature);
26
+ };
27
+
28
+ const registerFeatureRule = (feature_rule)=>{
29
+ const feature_rule_name = feature_rule.identifier.split(":")[feature_rule.identifier.split(":").length - 1];
30
+ GRegistry.register(feature_rule_name,"behavior","feature_rules/",feature_rule);
31
+ };
32
+
33
+ export const BlockAPI = {
34
+ /**
35
+ * 创建一个基础方块。
36
+ * @param {string} identifier - 方块的唯一标识符。
37
+ * @param {string} category - 方块的分类(如 "construction")。
38
+ * @param {Array} textures_arr - 纹理数组,顺序为 [上, 下, 东, 西, 南, 北]。
39
+ * @param {Object} options - 可选参数。
40
+ * @param {string} options.group - 分组,默认为 "construction"。
41
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏,默认为 false。
42
+ * @returns {BasicBlock} 创建的基础方块对象。
43
+ */
44
+ createBasicBlock: function (identifier, category, textures_arr, options = {}) {
45
+ if (!identifier || !category || !textures_arr ) {
46
+ throw new Error("必须提供 identifier、category 和长度为 6 的 textures_arr。");
47
+ }
48
+
49
+ const block = new BasicBlock(identifier, category, textures_arr, {
50
+ hide_in_command: false,
51
+ ...options, // 用传入的选项覆盖默认值
52
+ });
53
+
54
+ registerBlock(block); // 调用注册方法
55
+ return block;
56
+ },
57
+
58
+ /**
59
+ * 创建一个普通方块。
60
+ * @param {string} identifier - 方块的唯一标识符。
61
+ * @param {string} category - 方块的分类(如 "construction")。
62
+ * @param {Array} variantDatas - 方块的变体数据,包含每个变体的状态标签和纹理。
63
+ * @param {Object} options - 可选参数。
64
+ * @param {string} options.group - 分组,默认为 "construction"。
65
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏,默认为 false。
66
+ * @param {boolean} options.ambient_occlusion - 是否应用环境光遮蔽,默认为 false。
67
+ * @param {boolean} options.face_dimming - 是否根据面的方向进行亮度调整,默认为 false。
68
+ * @param {string} options.render_method - 渲染方法,默认为 "alpha_test"。
69
+ * @returns {Block} 创建的方块对象。
70
+ */
71
+ createBlock: function (identifier, category, variantDatas, options = {}) {
72
+ if (!identifier || !category || !variantDatas || variantDatas.length === 0) {
73
+ throw new Error("必须提供 identifier、category 和 variantDatas。");
74
+ }
75
+
76
+ const block = new Block(identifier, category, variantDatas, {
77
+ hide_in_command: false,
78
+ ambient_occlusion: false,
79
+ face_dimming: false,
80
+ render_method: "alpha_test",
81
+ ...options, // 用传入的选项覆盖默认值
82
+ });
83
+
84
+ registerBlock(block); // 调用注册方法
85
+ return block;
86
+ },
87
+
88
+ /**
89
+ * 创建一个可旋转方块。
90
+ * @param {string} identifier - 方块的唯一标识符。
91
+ * @param {string} category - 方块的分类(如 "construction")。
92
+ * @param {Array} textures_arr - 纹理数组,顺序为 [上, 下, 东, 西, 南, 北]。
93
+ * @param {Object} options - 可选参数。
94
+ * @param {string} options.group - 分组,默认为 "construction"。
95
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏,默认为 false。
96
+ * @param {string} options.rotationType - 旋转类型,默认为 "cardinal"。
97
+ * @param {number} options.yRotationOffset - 初始旋转偏移量,默认为 180。
98
+ * @returns {RotatableBlock} 创建的可旋转方块对象。
99
+ */
100
+ createRotatableBlock: function (identifier, category, textures_arr, options = {}) {
101
+ if (!identifier || !category || !textures_arr ) {
102
+ throw new Error("必须提供 identifier、category 和 textures_arr。");
103
+ }
104
+
105
+ const block = new RotatableBlock(identifier, category, textures_arr, {
106
+ hide_in_command: false,
107
+ rotationType: "cardinal",
108
+ yRotationOffset: 180,
109
+ ...options, // 用传入的选项覆盖默认值
110
+ });
111
+
112
+ registerBlock(block); // 调用注册方法
113
+ return block;
114
+ },
115
+ createGeometryBlock: function (identifier, category, geometry, material_instances, options = {}) {
116
+ if (!identifier || !category || !geometry || !material_instances ) {
117
+ throw new Error("必须提供 identifier、category、geometry 和 material_instances。");
118
+ }
119
+ const block = new GeometryBlock(identifier, category, geometry, material_instances, options);
120
+ registerBlock(block); // 调用注册方法
121
+ return block;
122
+ },
123
+ createOreBlock(identifier, category, textures_arr, options = {}){
124
+ const ore_block = new OreBlock(identifier, category, textures_arr, options)
125
+ registerBlock(ore_block.block); // 调用注册方法
126
+ registerFeature(ore_block.feature); // 调用注册方法
127
+ registerFeatureRule(ore_block.feature_rules); // 调用注册方法
128
+ return ore_block;
129
+ },
130
+ /**
131
+ * 创建一个作物方块。
132
+ * @param {string} identifier - 方块的唯一标识符。
133
+ * @param {string} category - 方块的分类(如 "construction")。
134
+ * @param {Array} variantDatas - 方块的变体数据,包含每个变体的状态标签和纹理。
135
+ * @param {Object} options - 可选参数。
136
+ * @param {string} options.group - 分组,默认为 "construction"。
137
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏,默认为 false。
138
+ * @param {boolean} options.ambient_occlusion - 是否应用环境光遮蔽,默认为 false。
139
+ * @param {boolean} options.face_dimming - 是否根据面的方向进行亮度调整,默认为 false。
140
+ * @param {string} options.render_method - 渲染方法,默认为 "alpha_test"。
141
+ * @returns {CropBlock} 创建的方块对象。
142
+ */
143
+ createCropBlock: function (identifier, category, variantDatas, options = {}) {
144
+ if (!identifier || !category || !variantDatas || variantDatas.length === 0) {
145
+ throw new Error("必须提供 identifier、category 和 variantDatas。");
146
+ }
147
+
148
+ const block = new CropBlock(identifier, category, variantDatas, {
149
+ hide_in_command: false,
150
+ ambient_occlusion: true,
151
+ face_dimming: true,
152
+ render_method: "alpha_test",
153
+ ...options, // 用传入的选项覆盖默认值
154
+ });
155
+
156
+ registerBlock(block); // 调用注册方法
157
+ return block;
158
+ },
159
+ };
@@ -0,0 +1,83 @@
1
+ import { BasicEntity } from "../entity/BasicEntity.js";
2
+ import { ClientEntity } from "../entity/ClientEntity.js";
3
+ import { Entity } from "../entity/Entity.js";
4
+ import { NativeEntity } from "../entity/NativeEntity.js";
5
+ import { Projectile } from "../entity/Projectile.js";
6
+ import { GRegistry } from "../registry.js";
7
+
8
+ const registerEntity = (behData, resData) => {
9
+ // 如果 behData 存在且不为空,则注册行为数据
10
+ if (behData && Object.keys(behData).length > 0) {
11
+ GRegistry.register(behData.identifier.replace(":", "_"), "behavior", "entities/", behData);
12
+ }
13
+
14
+ // 如果 resData 存在且不为空,则注册资源数据
15
+ if (resData && Object.keys(resData).length > 0) {
16
+ GRegistry.register(resData.identifier.replace(":", "_"), "resource", "entity/", resData);
17
+ }
18
+ };
19
+
20
+ export const EntityAPI = {
21
+ /**
22
+ * 创建一个原生实体。
23
+ * @param {string} identifier - 实体的唯一标识符。
24
+ * @param {string} proto_id - 实体的原型 ID。
25
+ * @param {string} texture - 实体的纹理。
26
+ * @param {Object} options - 额外选项。
27
+ * @returns {{ behavior: BasicEntity, resource: ClientEntity }} 包含行为数据和资源数据的对象。
28
+ */
29
+ createNativeEntity: function (identifier, proto_id, options = {}) {
30
+ if (!identifier || !proto_id ) {
31
+ throw new Error("必须提供 identifier、proto_id 和 texture。");
32
+ }
33
+
34
+ const nativeEntity = new NativeEntity(identifier, proto_id, options);
35
+ registerEntity(nativeEntity.entity, nativeEntity.client_entity);
36
+ return {
37
+ behavior: nativeEntity.entity,
38
+ resource: nativeEntity.client_entity,
39
+ };
40
+ },
41
+
42
+ /**
43
+ * 创建一个普通实体。
44
+ * @param {string} identifier - 实体的唯一标识符。
45
+ * @param {string} texture - 实体的纹理。
46
+ * @param {Object} behData - 实体的行为数据。
47
+ * @param {Object} resData - 实体的资源数据。
48
+ * @param {Object} options - 额外选项。
49
+ * @returns {{ behavior: BasicEntity, resource: ClientEntity }} 包含行为数据和资源数据的对象。
50
+ */
51
+ createEntity: function (identifier, texture, behData, resData, options = {}) {
52
+ if (!identifier || !texture) {
53
+ throw new Error("必须提供 identifier 和 texture。");
54
+ }
55
+
56
+ const entity = new Entity(identifier, texture, behData, resData, options);
57
+ registerEntity(entity.entity, entity.client_entity);
58
+ return {
59
+ behavior: entity.entity,
60
+ resource: entity.client_entity,
61
+ };
62
+ },
63
+
64
+ /**
65
+ * 创建一个投射物实体。
66
+ * @param {string} identifier - 投射物的唯一标识符。
67
+ * @param {string} texture - 投射物的纹理。
68
+ * @param {Object} options - 额外选项。
69
+ * @returns {{ behavior: BasicEntity, resource: ClientEntity }} 包含行为数据和资源数据的对象。
70
+ */
71
+ createProjectile: function (identifier, texture, options = {}) {
72
+ if (!identifier || !texture) {
73
+ throw new Error("必须提供 identifier 和 texture。");
74
+ }
75
+
76
+ const entity = new Projectile(identifier, texture, options);
77
+ registerEntity(entity.entity, entity.client_entity);
78
+ return {
79
+ behavior: entity.entity,
80
+ resource: entity.client_entity,
81
+ };
82
+ },
83
+ };
@@ -0,0 +1,26 @@
1
+ import { OreFeature } from "../feature/OreFeature.js";
2
+ import { FeatureRule } from "../feature_rule/FeatureRule.js";
3
+ import { GRegistry } from "../registry.js";
4
+
5
+ const registerFeature = (feature)=>{
6
+ const feature_name = feature.identifier.split(":")[feature.identifier.split(":").length - 1];
7
+ GRegistry.register(feature_name,"behavior","features/",feature);
8
+ };
9
+
10
+ const registerFeatureRule = (feature_rule)=>{
11
+ const feature_rule_name = feature_rule.identifier.split(":")[feature_rule.identifier.split(":").length - 1];
12
+ GRegistry.register(feature_rule_name,"behavior","feature_rules/",feature_rule);
13
+ };
14
+
15
+ export const FeatureAPI = {
16
+ createOreFeature: function(identifier,count,replace_rules) {
17
+ const feature = new OreFeature(identifier,count,replace_rules);
18
+ registerFeature(feature);
19
+ return feature;
20
+ },
21
+ createFeatureRules: function(identifier,places_feature) {
22
+ const feature_rules = new FeatureRule(identifier,places_feature);
23
+ registerFeatureRule(feature_rules);
24
+ return feature_rules;
25
+ }
26
+ };
@@ -0,0 +1,96 @@
1
+ import { Chestplate } from "../item/armor.js";
2
+ import { Attachable } from "../item/Attachable.js";
3
+ import { Food } from "../item/Food.js";
4
+ import { Item } from "../item/item.js";
5
+ import { GRegistry } from "../registry.js";
6
+
7
+ const registerItem = (itemData, attachableData) => {
8
+ // 如果 itemData 存在且不为空,则注册
9
+ if (itemData && Object.keys(itemData).length > 0) {
10
+ GRegistry.register(itemData.identifier.replace(":", "_"), "behavior", "items/", itemData);
11
+ }
12
+
13
+ // 如果 attachableData 存在且不为空,则注册
14
+ if (attachableData && Object.keys(attachableData).length > 0) {
15
+ GRegistry.register(attachableData.identifier.replace(":", "_"), "resource", "attachables/", attachableData);
16
+ }
17
+ };
18
+
19
+ // 物品创建的工厂函数
20
+ export const ItemAPI = {
21
+ /**
22
+ * 创建一个普通物品。
23
+ * @param {string} identifier - 物品的唯一标识符。
24
+ * @param {string} category - 物品在创造菜单中的分类(如 "construction", "nature")。
25
+ * @param {string} texture - 物品的纹理。
26
+ * @param {Object} options - 额外选项。
27
+ * @param {string} options.group - 物品的分组。
28
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏物品。
29
+ * @returns {Item} 创建的物品。
30
+ */
31
+ createItem: function (identifier, category, texture, options = {}) {
32
+ if (!identifier || !category || !texture) {
33
+ throw new Error("必须提供 identifier、category 和 texture。");
34
+ }
35
+
36
+ const item = new Item(identifier, category, texture, options);
37
+ registerItem(item, {});
38
+ return item;
39
+ },
40
+
41
+ /**
42
+ * 创建一个食物物品。
43
+ * @param {string} identifier - 食物的唯一标识符。
44
+ * @param {string} category - 食物在创造菜单中的分类。
45
+ * @param {string} texture - 食物的纹理。
46
+ * @param {Object} options - 额外选项。
47
+ * @param {string} options.group - 食物的分组。
48
+ * @param {boolean} options.hide_in_command - 是否在命令中隐藏食物。
49
+ * @param {string} options.animation - 食用时的动画(默认:"eat")。
50
+ * @param {boolean} options.canAlwaysEat - 是否总是可以食用。
51
+ * @param {number} options.nutrition - 食物的营养价值。
52
+ * @param {number} options.saturationModifier - 饱和度修正值。
53
+ * @returns {Food} 创建的食物物品。
54
+ */
55
+ createFood: function (identifier, category, texture, options = {}) {
56
+ if (!identifier || !category || !texture) {
57
+ throw new Error("必须提供 identifier、category 和 texture。");
58
+ }
59
+
60
+ const food = new Food(identifier, category, texture, {
61
+ animation: "eat",
62
+ canAlwaysEat: false,
63
+ nutrition: 0,
64
+ saturationModifier: 1,
65
+ ...options, // 用传入的选项覆盖默认值
66
+ });
67
+
68
+ registerItem(food, {});
69
+ return food;
70
+ },
71
+
72
+ /**
73
+ * 创建一个可附着物品。
74
+ * @param {string} identifier - 可附着物品的唯一标识符。
75
+ * @param {string} texture - 可附着物品的纹理。
76
+ * @param {string} material - 可附着物品的材质。
77
+ * @param {Object} options - 额外选项。
78
+ * @returns {Attachable} 创建的可附着物品。
79
+ */
80
+ createAttachable: function (identifier, texture, material, options = {}) {
81
+ if (!identifier || !texture || !material) {
82
+ throw new Error("必须提供 identifier、texture 和 material。");
83
+ }
84
+
85
+ const attachable = new Attachable(identifier);
86
+ attachable.addTexture("default", texture);
87
+ attachable.addMaterial("default", material);
88
+ registerItem({}, attachable);
89
+ return attachable;
90
+ },
91
+ createChestplateArmor: function (identifier, item_texture, texture_path, options = {}) {
92
+ const item = new Chestplate(identifier, item_texture, texture_path, options);
93
+ registerItem(item.item, item.attachable);
94
+ return item;
95
+ },
96
+ };
@@ -0,0 +1,47 @@
1
+
2
+ import { RecipeTags } from "../addon/recipe/data.js";
3
+ import { AddonRecipeFurnace_1_17 } from "../addon/recipe/recipeFurnace.js";
4
+ import { AddonRecipeShaped_1_20 } from "../addon/recipe/recipeShaped.js";
5
+ import { AddonRecipeShapeless_1_17 } from "../addon/recipe/recipeShapeless.js";
6
+ import { GRegistry } from "../registry.js";
7
+
8
+ class RecipeRegistry {
9
+ /**
10
+ *
11
+ * @param {AddonRecipeFurnace_1_17} recipe
12
+ */
13
+ registerRecipe(recipe) {
14
+ GRegistry.register(recipe.getId().replace(":", "_"), "behavior", "recipes/", recipe);
15
+ }
16
+ registerSimpleFurnace(identifier, output, input) {
17
+ return this.registerFurnace(identifier).tags([RecipeTags.Furnace]).input(input).output(output);
18
+ }
19
+
20
+ registerFurnace(identifier) {
21
+ const recipe = new AddonRecipeFurnace_1_17().identifier(identifier);
22
+ this.registerRecipe(recipe);
23
+ return recipe;
24
+ }
25
+
26
+ registerSimpleShaped(identifier, output, pattern, key) {
27
+ return this.registerShaped(identifier).tags([RecipeTags.CraftingTable]).pattern(pattern).key(key).output(output);
28
+ }
29
+
30
+ registerShaped(identifier) {
31
+ const recipe = new AddonRecipeShaped_1_20().identifier(identifier);
32
+ this.registerRecipe(recipe);
33
+ return recipe;
34
+ }
35
+
36
+ registerSimpleShapeless(identifier, output, ingredients) {
37
+ return this.registerShapeless(identifier).tags([RecipeTags.CraftingTable]).ingredients(ingredients).output(output);
38
+ }
39
+
40
+ registerShapeless(identifier) {
41
+ const recipe = new AddonRecipeShapeless_1_17().identifier(identifier);
42
+ this.registerRecipe(recipe);
43
+ return recipe;
44
+ }
45
+ }
46
+
47
+ export const RecipeAPI = new RecipeRegistry();
@@ -0,0 +1,37 @@
1
+ import { GRegistry } from "../registry.js";
2
+ import { Image } from "../ui/elements/Image.js";
3
+ import { Label } from "../ui/elements/Label.js";
4
+ import { Panel } from "../ui/elements/Panel.js";
5
+ import { UIElement } from "../ui/elements/UIElement.js";
6
+ import { UISystem } from "../ui/systems/UISystem.js";
7
+
8
+
9
+
10
+ const registerUIsystem = (ui_system)=>{
11
+ GRegistry.register(ui_system.name,"behavior",ui_system.path,ui_system);
12
+ };
13
+
14
+ export const UiAPI = {
15
+ createUISystem(identifier,path){
16
+ const ui_system = new UISystem(identifier,path);
17
+ registerUIsystem(ui_system);
18
+ return ui_system;
19
+ },
20
+ createUIElement(id,type,template){
21
+ const ui_element = new UIElement(id,type,template);
22
+ return ui_element;
23
+ },
24
+ createPanel(id,template){
25
+ const panel = new Panel(id,template);
26
+ return panel;
27
+ },
28
+ createImage(id,template){
29
+ const image = new Image(id,template);
30
+ return image;
31
+ },
32
+ createLabel(id,template){
33
+ const label = new Label(id,template);
34
+ return label;
35
+ }
36
+
37
+ }
@@ -0,0 +1,19 @@
1
+ import { AddonOreFeature, AddonOreFeatureDefinition, AddonOreFeatureDescription } from "../addon/feature/ore_feature.js";
2
+
3
+ export class OreFeature {
4
+ constructor(identifier,count,replace_rules){
5
+ this.identifier = identifier;
6
+ this.count = count;
7
+ this.replace_rules = replace_rules;
8
+ }
9
+ toJson(){
10
+ return new AddonOreFeature(
11
+ "1.17.0",
12
+ new AddonOreFeatureDefinition(
13
+ new AddonOreFeatureDescription(this.identifier),
14
+ this.count,
15
+ this.replace_rules
16
+ )
17
+ ).toJson();
18
+ }
19
+ }
@@ -0,0 +1,37 @@
1
+ import { AddonFeatureRule, AddonFeatureRuleDecription, AddonFeatureRuleDenifition } from "../addon/feature_rule.js";
2
+ import { FeatureConditions } from "./condition/FeatureConditions.js";
3
+ import { FeatureDistribution } from "./distribution/FeatureDistribution.js";
4
+
5
+ export class FeatureRule {
6
+ constructor(identifier,places_feature) {
7
+ this.identifier = identifier;
8
+ this.places_feature = places_feature;
9
+ this.condition = new FeatureConditions();
10
+ this.distribution = new FeatureDistribution();
11
+ }
12
+ setPlacementPass(pass) {
13
+ this.condition.setPlacementPass(pass);
14
+ }
15
+ setBiomeFilter(biomeFilter) {
16
+ this.condition.setBiomeFilter(biomeFilter);
17
+ }
18
+ setIterations(iterations) {
19
+ this.distribution.setIterations(iterations);
20
+ }
21
+ setAxisDistribution(axis, config) {
22
+ this.distribution.setAxisDistribution(axis, config);
23
+ }
24
+ toJson(){
25
+ return new AddonFeatureRule(
26
+ "1.13.0",
27
+ new AddonFeatureRuleDenifition(
28
+ new AddonFeatureRuleDecription(
29
+ this.identifier,
30
+ this.places_feature
31
+ ),
32
+ this.condition.toJson(),
33
+ this.distribution.toJson()
34
+ )
35
+ ).toJson()
36
+ }
37
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 表示生物群系过滤条件的类
3
+ */
4
+ export class BiomeFilter {
5
+ constructor() {
6
+ this.filters = [];
7
+ }
8
+
9
+ /**
10
+ * 添加一个逻辑条件组(如 any_of, all_of)
11
+ * @param {"any_of" | "all_of"} logicType - 逻辑类型
12
+ * @param {Array<Object>} conditions - 条件数组
13
+ * @returns {BiomeFilter} 返回自身以支持链式调用
14
+ */
15
+ addLogicGroup(logicType, conditions) {
16
+ this.filters.push({ [logicType]: conditions });
17
+ return this;
18
+ }
19
+
20
+ /**
21
+ * 添加一个简单条件(如 has_biome_tag)
22
+ * @param {string} test - 测试类型(如 "has_biome_tag")
23
+ * @param {"==" | "!="} operator - 操作符
24
+ * @param {string} value - 目标值(如 "overworld")
25
+ * @returns {BiomeFilter} 返回自身以支持链式调用
26
+ */
27
+ addSimpleCondition(test, operator, value) {
28
+ this.filters.push({ test, operator, value });
29
+ return this;
30
+ }
31
+
32
+ /**
33
+ * 转换为 JSON 格式
34
+ * @returns {Array<Object>} 返回生物群系过滤条件数组
35
+ */
36
+ toJson() {
37
+ return this.filters;
38
+ }
39
+ }
@@ -0,0 +1,41 @@
1
+ import { BiomeFilter } from "./BiomeFilter.js";
2
+
3
+ /**
4
+ * 表示功能规则生成条件的类
5
+ */
6
+ export class FeatureConditions {
7
+ constructor() {
8
+ this.conditions = {
9
+ placement_pass: "underground_pass", // 默认值
10
+ "minecraft:biome_filter": []
11
+ };
12
+ }
13
+
14
+ /**
15
+ * 设置生成阶段(placement_pass)
16
+ * @param {string} pass - 生成阶段标识符(如 "underground_pass")
17
+ * @returns {FeatureConditions} 返回自身以支持链式调用
18
+ */
19
+ setPlacementPass(pass) {
20
+ this.conditions.placement_pass = pass;
21
+ return this;
22
+ }
23
+
24
+ /**
25
+ * 设置生物群系过滤器
26
+ * @param {BiomeFilter} biomeFilter - 生物群系过滤条件对象
27
+ * @returns {FeatureConditions} 返回自身以支持链式调用
28
+ */
29
+ setBiomeFilter(biomeFilter) {
30
+ this.conditions["minecraft:biome_filter"] = biomeFilter.toJson();
31
+ return this;
32
+ }
33
+
34
+ /**
35
+ * 转换为 JSON 格式
36
+ * @returns {Object} 返回生成条件对象
37
+ */
38
+ toJson() {
39
+ return this.conditions;
40
+ }
41
+ }