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,24 @@
1
+ /**
2
+ * 表示单个坐标轴(x/y/z)分布规则的类
3
+ */
4
+ export class CoordinateDistribution {
5
+ /**
6
+ * @param {"uniform" | "triangle"} distribution - 分布类型
7
+ * @param {Array<number>} extent - 范围(如 [0, 16])
8
+ */
9
+ constructor(distribution = "uniform", extent = [0, 16]) {
10
+ this.distribution = distribution;
11
+ this.extent = extent;
12
+ }
13
+
14
+ /**
15
+ * 转换为 JSON 格式
16
+ * @returns {Object} 返回坐标分布配置
17
+ */
18
+ toJson() {
19
+ return {
20
+ distribution: this.distribution,
21
+ extent: this.extent
22
+ };
23
+ }
24
+ }
@@ -0,0 +1,45 @@
1
+ import { CoordinateDistribution } from "./CoordinateDistribution.js";
2
+
3
+ /**
4
+ * 表示功能规则分布配置的类
5
+ */
6
+ export class FeatureDistribution {
7
+ constructor() {
8
+ this.distribution = {
9
+ iterations: 10, // 默认值
10
+ coordinate_eval_order: "zyx",
11
+ x: new CoordinateDistribution().toJson(),
12
+ y: new CoordinateDistribution().toJson(),
13
+ z: new CoordinateDistribution().toJson()
14
+ };
15
+ }
16
+
17
+ /**
18
+ * 设置迭代次数
19
+ * @param {number} iterations - 放置尝试次数
20
+ * @returns {FeatureDistribution} 返回自身以支持链式调用
21
+ */
22
+ setIterations(iterations) {
23
+ this.distribution.iterations = iterations;
24
+ return this;
25
+ }
26
+
27
+ /**
28
+ * 设置坐标轴的分布规则
29
+ * @param {"x" | "y" | "z"} axis - 坐标轴
30
+ * @param {CoordinateDistribution} config - 分布配置
31
+ * @returns {FeatureDistribution} 返回自身以支持链式调用
32
+ */
33
+ setAxisDistribution(axis, config) {
34
+ this.distribution[axis] = config.toJson();
35
+ return this;
36
+ }
37
+
38
+ /**
39
+ * 转换为 JSON 格式
40
+ * @returns {Object} 返回分布规则对象
41
+ */
42
+ toJson() {
43
+ return this.distribution;
44
+ }
45
+ }
@@ -0,0 +1 @@
1
+ // TODO: 暴露给用户的API
@@ -0,0 +1,97 @@
1
+ import { ItemComponent } from "./ItemComponents.js";
2
+ import { AddonItem, AddonItemDefinition, AddonItemDescription } from "../addon/item/item.js";
3
+ import { AddonMenuCategory } from "../addon/menu_category.js";
4
+
5
+ export class Item {
6
+ /**
7
+ * 物品类
8
+ * @param {string} identifier 物品唯一标识符
9
+ * @param {string} category 菜单栏分类 可选:"construction", "nature", "equipment", "items", and "none"
10
+ * @param {string} texture 物品纹理
11
+ * @param {Object} options 可选参数
12
+ * @param {string} options.group 分组
13
+ * @param {boolean} options.hide_in_command 是否在命令中隐藏,默认为 false
14
+ */
15
+ constructor(identifier, category, texture, options = {}) {
16
+ // 参数校验
17
+ if (!identifier || typeof identifier !== "string") {
18
+ throw new Error("identifier is required and must be a string");
19
+ }
20
+ if (!category || typeof category !== "string") {
21
+ throw new Error("category is required and must be a string");
22
+ }
23
+ if (!texture || typeof texture !== "string") {
24
+ throw new Error("texture is required and must be a string");
25
+ }
26
+
27
+ const {
28
+ group,
29
+ hide_in_command = false,
30
+ max_stack_size = 64,
31
+ } = options;
32
+
33
+ this.identifier = identifier;
34
+ this.category = category;
35
+ this.texture = texture;
36
+ this.group = group;
37
+ this.hide_in_command = hide_in_command;
38
+ this.components = new Map();
39
+
40
+ // 初始化默认组件
41
+ this.addComponent(
42
+ ItemComponent.combineComponents(
43
+ ItemComponent.setIcon(this.texture),
44
+ ItemComponent.setMaxStackSize(max_stack_size)
45
+ )
46
+ );
47
+ }
48
+
49
+
50
+ /**
51
+ * 添加组件
52
+ * @param {Map} componentMap 组件 Map
53
+ */
54
+ addComponent(componentMap) {
55
+ if (!componentMap || !(componentMap instanceof Map)) {
56
+ throw new Error("componentMap is required and must be a Map");
57
+ }
58
+ for (const [key, value] of componentMap.entries()) {
59
+ this.components.set(key, value);
60
+ }
61
+ return this;
62
+ }
63
+
64
+ /**
65
+ * 移除组件
66
+ * @param {string} key 组件名称
67
+ */
68
+ removeComponent(key) {
69
+ if (!key || typeof key !== "string") {
70
+ throw new Error("key is required and must be a string");
71
+ }
72
+ this.components.delete(key);
73
+ return this;
74
+ }
75
+
76
+ /**
77
+ * 将物品转换为 JSON 格式
78
+ * @returns {Object} JSON 格式的物品对象
79
+ */
80
+ toJson() {
81
+ const item = new AddonItem(
82
+ "1.21.40", // 格式版本
83
+ new AddonItemDefinition(
84
+ new AddonItemDescription(
85
+ this.identifier,
86
+ new AddonMenuCategory(
87
+ this.category,
88
+ this.group,
89
+ this.hide_in_command
90
+ )
91
+ ),
92
+ Object.fromEntries(this.components) // 将 Map 转换为普通对象
93
+ )
94
+ );
95
+ return item.toJson();
96
+ }
97
+ }
@@ -0,0 +1,236 @@
1
+ export class ItemComponent {
2
+ static setBlockPlacer(block,replace_block_item, use_on){
3
+ return new Map().set("minecraft:block_placer",{
4
+ block:block,
5
+ replace_block_item: replace_block_item,
6
+ use_on:use_on
7
+ })
8
+ }
9
+ /**
10
+ *
11
+ * @param {Array} custom_components
12
+ * @returns
13
+ */
14
+ static setCustomComponents(custom_components){
15
+ return new Map().set("minecraft:custom_components",[...custom_components])
16
+ }
17
+ /**
18
+ * 设置物品的可投掷组件。
19
+ * @param {Boolean} doSwingAnimation - 是否使用挥动动画。
20
+ * @param {Number} launchPowerScale - 投掷力量的缩放比例。
21
+ * @param {Number} maxDrawDuration - 最大蓄力时间。
22
+ * @param {Number} maxLaunchPower - 最大投掷力量。
23
+ * @param {Number} minDrawDuration - 最小蓄力时间。
24
+ * @param {Boolean} scalePowerByDrawDuration - 投掷力量是否随蓄力时间增加。
25
+ * @returns {Map} - 新的组件集合。
26
+ */
27
+ static setThrowable(
28
+ doSwingAnimation = false,
29
+ launchPowerScale = 1.0,
30
+ maxDrawDuration = 0.0,
31
+ maxLaunchPower = 1.0,
32
+ minDrawDuration = 0.0,
33
+ scalePowerByDrawDuration = false
34
+ ) {
35
+ return new Map().set("minecraft:throwable", {
36
+ do_swing_animation: doSwingAnimation,
37
+ launch_power_scale: launchPowerScale,
38
+ max_draw_duration: maxDrawDuration,
39
+ max_launch_power: maxLaunchPower,
40
+ min_draw_duration: minDrawDuration,
41
+ scale_power_by_draw_duration: scalePowerByDrawDuration,
42
+ });
43
+ }
44
+ /**
45
+ * 设置物品的显示名称。
46
+ * @param {String} displayName - 显示名称或本地化键。
47
+ * @returns {Map} - 新的组件集合。
48
+ */
49
+ static setDisplayName(displayName) {
50
+ if (typeof displayName !== "string") {
51
+ throw new Error('显示名称必须是字符串类型');
52
+ }
53
+ return new Map().set("minecraft:display_name", { value: displayName });
54
+ }
55
+
56
+ /**
57
+ * 设置物品的食物组件。
58
+ * @param {Boolean} canAlwaysEat - 是否随时可以食用。
59
+ * @param {Number} nutrition - 营养值。
60
+ * @param {Number} saturationModifier - 饱和度修正值。
61
+ * @param {String} [usingConvertsTo] - 食用后转换的目标物品。
62
+ * @returns {Map} - 新的组件集合。
63
+ */
64
+ static setFoodComponent(canAlwaysEat, nutrition, saturationModifier, usingConvertsTo) {
65
+ return new Map().set("minecraft:food", {
66
+ can_always_eat: canAlwaysEat,
67
+ nutrition: nutrition || 0,
68
+ saturation_modifier: saturationModifier || 0.6,
69
+ using_converts_to: usingConvertsTo || undefined,
70
+ });
71
+ }
72
+
73
+ /**
74
+ * 设置物品的燃料组件。
75
+ * @param {Number} duration - 燃料燃烧的持续时间(秒),最小值为 0.05。
76
+ * @returns {Map} - 新的组件集合。
77
+ */
78
+ static setFuel(duration) {
79
+ if (typeof duration !== "number" || duration < 0.05) {
80
+ throw new Error('燃料持续时间必须是一个大于或等于 0.05 的数字');
81
+ }
82
+ return new Map().set("minecraft:fuel", { duration });
83
+ }
84
+
85
+ /**
86
+ * 设置物品的附魔光效组件。
87
+ * @param {Boolean} hasGlint - 是否显示附魔光效。
88
+ * @returns {Map} - 新的组件集合。
89
+ */
90
+ static setGlint(hasGlint) {
91
+ if (typeof hasGlint !== "boolean") {
92
+ throw new Error('附魔光效值必须是布尔类型');
93
+ }
94
+ return new Map().set("minecraft:glint", hasGlint);
95
+ }
96
+
97
+ /**
98
+ * 设置物品的手持渲染方式组件。
99
+ * @param {Boolean} isHandEquipped - 是否像工具一样渲染。
100
+ * @returns {Map} - 新的组件集合。
101
+ */
102
+ static setHandEquipped(isHandEquipped) {
103
+ if (typeof isHandEquipped !== "boolean") {
104
+ throw new Error('手持渲染方式值必须是布尔类型');
105
+ }
106
+ return new Map().set("minecraft:hand_equipped", isHandEquipped);
107
+ }
108
+
109
+ /**
110
+ * 设置物品的图标组件。
111
+ * @param {String} texture - 图标纹理名称。
112
+ * @returns {Map} - 新的组件集合。
113
+ */
114
+ static setIcon(texture) {
115
+ if (typeof texture !== "string") {
116
+ throw new Error('图标纹理必须是字符串类型');
117
+ }
118
+ return new Map().set("minecraft:icon", texture);
119
+ }
120
+
121
+ /**
122
+ * 设置物品的最大堆叠数量组件。
123
+ * @param {Number} maxStackSize - 最大堆叠数量,默认值为 64。
124
+ * @returns {Map} - 新的组件集合。
125
+ */
126
+ static setMaxStackSize(maxStackSize = 64) {
127
+ if (typeof maxStackSize !== "number" || maxStackSize <= 0 || !Number.isInteger(maxStackSize)) {
128
+ throw new Error('最大堆叠数量必须是正整数');
129
+ }
130
+ return new Map().set("minecraft:max_stack_size", maxStackSize);
131
+ }
132
+
133
+ /**
134
+ * 设置物品的投射物组件。
135
+ * @param {Number} [minimumCriticalPower] - 投射物需要蓄力多久才能造成暴击。
136
+ * @param {String} [projectileEntity] - 作为投射物发射的实体名称。
137
+ * @returns {Map} - 新的组件集合。
138
+ */
139
+ static setProjectile(minimumCriticalPower, projectileEntity) {
140
+ const projectileComponent = {};
141
+
142
+ if (minimumCriticalPower !== undefined) {
143
+ if (typeof minimumCriticalPower !== "number" || minimumCriticalPower < 0) {
144
+ throw new Error('minimumCriticalPower 必须是非负数');
145
+ }
146
+ projectileComponent.minimum_critical_power = minimumCriticalPower;
147
+ }
148
+
149
+ if (projectileEntity !== undefined) {
150
+ if (typeof projectileEntity !== "string") {
151
+ throw new Error('projectileEntity 必须是字符串类型');
152
+ }
153
+ projectileComponent.projectile_entity = projectileEntity;
154
+ }
155
+
156
+ return new Map().set("minecraft:projectile", projectileComponent);
157
+ }
158
+
159
+ /**
160
+ * 设置物品的使用修饰组件。
161
+ * @param {Number} [movementModifier] - 使用物品时玩家移动速度的缩放值。
162
+ * @param {Number} [useDuration] - 物品使用所需的时间(秒)。
163
+ * @returns {Map} - 新的组件集合。
164
+ */
165
+ static setUseModifiers(movementModifier, useDuration) {
166
+ const useModifiersComponent = {};
167
+
168
+ if (movementModifier !== undefined) {
169
+ if (typeof movementModifier !== "number") {
170
+ throw new Error('movementModifier 必须是数字类型');
171
+ }
172
+ useModifiersComponent.movement_modifier = movementModifier;
173
+ }
174
+
175
+ if (useDuration !== undefined) {
176
+ if (typeof useDuration !== "number" || useDuration < 0) {
177
+ throw new Error('useDuration 必须是非负数');
178
+ }
179
+ useModifiersComponent.use_duration = useDuration;
180
+ }
181
+
182
+ return new Map().set("minecraft:use_modifiers", useModifiersComponent);
183
+ }
184
+
185
+ /**
186
+ * 设置物品的可穿戴组件。
187
+ * @param {Number} [protection=0] - 物品提供的保护值。
188
+ * @param {String} [slot] - 物品可以穿戴的槽位(如 "head"、"chest" 等)。
189
+ * @returns {Map} - 新的组件集合。
190
+ */
191
+ static setWearable(protection = 0, slot) {
192
+ const wearableComponent = { protection };
193
+
194
+ if (slot !== undefined) {
195
+ if (typeof slot !== "string") {
196
+ throw new Error('slot 必须是字符串类型');
197
+ }
198
+ wearableComponent.slot = slot;
199
+ }
200
+
201
+ return new Map().set("minecraft:wearable", wearableComponent);
202
+ }
203
+ /**
204
+ * 设置物品的使用动画组件。
205
+ * @param {String} animation - 物品使用时的动画类型(如 "eat"、"drink" 等)。
206
+ * @returns {Map} - 新的组件集合。
207
+ * @throws {Error} - 如果 animation 不是字符串类型。
208
+ */
209
+ static setUseAnimation(animation) {
210
+ // 检查 animation 是否为字符串
211
+ if (typeof animation !== "string") {
212
+ throw new Error('animation 必须是字符串类型');
213
+ }
214
+
215
+ // 返回包含动画设置的 Map 对象
216
+ return new Map().set("minecraft:use_animation", animation);
217
+ }
218
+
219
+ /**
220
+ * 将多个组件集合合并为一个。
221
+ * @param {...Map} componentMaps - 多个组件集合。
222
+ * @returns {Map} - 合并后的组件集合。
223
+ */
224
+ static combineComponents(...componentMaps) {
225
+ return new Map(componentMaps.flatMap(map => [...map]));
226
+ }
227
+
228
+ /**
229
+ * 获取当前组件的 JSON 表示。
230
+ * @param {Map} components - 组件集合。
231
+ * @returns {Object} - 组件的 JSON 对象。
232
+ */
233
+ static toJSON(components) {
234
+ return Object.fromEntries(components);
235
+ }
236
+ }
@@ -0,0 +1,89 @@
1
+ import { Attachable } from "./Attachable.js";
2
+ import { Item } from "./item.js";
3
+ import { ItemComponent } from "./ItemComponents.js";
4
+
5
+
6
+ // 定义 Armor 基类
7
+ export class Armor {
8
+ constructor(identifier, category, item_texture, texture_path, options = {}) {
9
+ this.identifier = identifier;
10
+ // 创建物品
11
+ this.item = new Item(identifier, category, item_texture, options);
12
+ // 创建附加物
13
+ this.attachable = new Attachable(identifier, texture_path, "armor");
14
+
15
+ // 配置附加物
16
+ this.attachable
17
+ .addTexture("default", texture_path) // 添加默认纹理
18
+ .addMaterial("default", "armor") // 添加默认材质
19
+ .addMaterial("enchanted", "armor_enchanted") // 添加附魔材质
20
+ .addTexture("enchanted", "textures/misc/enchanted_actor_glint") // 添加附魔纹理
21
+ .addGeometry("default", "geometry.player.armor.chestplate") // 添加几何模型
22
+ .addRenderController("controller.render.armor") // 添加渲染控制器
23
+ .setScript("parent_setup", "v.chest_layer_visible = 0.0;"); // 设置脚本
24
+ }
25
+ }
26
+
27
+ // 扩展 Armor 类,实现胸甲
28
+ export class Chestplate extends Armor {
29
+ constructor(identifier, item_texture, texture_path, options = {}) {
30
+ super(identifier, "equipment", item_texture, texture_path, options);
31
+
32
+ // 自定义胸甲物品
33
+ this.item.addComponent(
34
+ ItemComponent.combineComponents(
35
+ ItemComponent.setDisplayName("我的自定义胸甲"), // 设置显示名称
36
+ ItemComponent.setMaxStackSize(1), // 设置最大堆叠数量
37
+ ItemComponent.setWearable(5, "slot.armor.chest") // 设置为可穿戴,并指定装备槽
38
+ )
39
+ );
40
+ }
41
+ }
42
+
43
+ // 扩展 Armor 类,实现靴子
44
+ export class Boot extends Armor {
45
+ constructor(identifier, item_texture, texture_path, options = {}) {
46
+ super(identifier, "equipment", item_texture, texture_path, options);
47
+
48
+ // 自定义靴子物品
49
+ this.item.addComponent(
50
+ ItemComponent.combineComponents(
51
+ ItemComponent.setDisplayName("我的自定义靴子"), // 设置显示名称
52
+ ItemComponent.setMaxStackSize(1), // 设置最大堆叠数量
53
+ ItemComponent.setWearable(4, "slot.armor.feet") // 设置为可穿戴,并指定装备槽
54
+ )
55
+ );
56
+ }
57
+ }
58
+
59
+ // 扩展 Armor 类,实现裤子
60
+ export class Leggings extends Armor {
61
+ constructor(identifier, item_texture, texture_path, options = {}) {
62
+ super(identifier, "equipment", item_texture, texture_path, options);
63
+
64
+ // 自定义裤子物品
65
+ this.item.addComponent(
66
+ ItemComponent.combineComponents(
67
+ ItemComponent.setDisplayName("我的自定义裤子"), // 设置显示名称
68
+ ItemComponent.setMaxStackSize(1), // 设置最大堆叠数量
69
+ ItemComponent.setWearable(6, "slot.armor.legs") // 设置为可穿戴,并指定装备槽
70
+ )
71
+ );
72
+ }
73
+ }
74
+
75
+ // 扩展 Armor 类,实现头盔
76
+ export class Helmet extends Armor {
77
+ constructor(identifier, item_texture, texture_path, options = {}) {
78
+ super(identifier, "equipment", item_texture, texture_path, options);
79
+
80
+ // 自定义头盔物品
81
+ this.item.addComponent(
82
+ ItemComponent.combineComponents(
83
+ ItemComponent.setDisplayName("我的自定义头盔"), // 设置显示名称
84
+ ItemComponent.setMaxStackSize(1), // 设置最大堆叠数量
85
+ ItemComponent.setWearable(3, "slot.armor.head") // 设置为可穿戴,并指定装备槽
86
+ )
87
+ );
88
+ }
89
+ }
@@ -0,0 +1,34 @@
1
+ import { AddonAttachable, AddonAttachableDefinition, AddonAttachableDescription } from "../addon/item/attachable.js";
2
+
3
+
4
+ export class Attachable extends AddonAttachableDescription{
5
+ constructor(identifier){
6
+ super(identifier);
7
+ }
8
+
9
+ getId() {
10
+ return this.identifier;
11
+ }
12
+
13
+ toJson() {
14
+ const entity = new AddonAttachable(
15
+ "1.8.0",
16
+ new AddonAttachableDefinition(this)
17
+ );
18
+ return entity.toJson();
19
+ }
20
+ }
21
+
22
+ /*
23
+ const attachable = new Attachable("test")
24
+ attachable.addMaterial("default", "armor")
25
+ attachable.addMaterial("enchanted","armor_enchanted")
26
+ attachable.addTexture("default","textures/models/armor/custom_main")
27
+ attachable.addTexture("enchanted", "textures/misc/enchanted_actor_glint")
28
+ attachable.addGeometry("default", "geometry.player.armor.chestplate")
29
+ attachable.addRenderController("controller.render.armor")
30
+ attachable.setScript("parent_setup","v.chest_layer_visible = 0.0;")
31
+
32
+ console.log(JSON.stringify(attachable.toJson(),null,2))
33
+ debugger
34
+ */
@@ -0,0 +1,62 @@
1
+ import { ItemComponent } from "./ItemComponents.js";
2
+ import { Item } from "./item.js";
3
+
4
+ export class Food extends Item {
5
+ /**
6
+ * 物品类
7
+ * @param {string} identifier 物品唯一标识符
8
+ * @param {string} category 菜单栏分类 可选:"construction", "nature", "equipment", "items", and "none"
9
+ * @param {string} texture 物品纹理
10
+ * @param {Object} options 可选参数
11
+ * @param {string} options.group 分组
12
+ * @param {boolean} options.hide_in_command 是否在命令中隐藏,默认为 false
13
+ * @param {string} options.animation 使用动画,默认为 "eat"
14
+ * @param {boolean} options.canAlwaysEat 是否总是可以食用,默认为 false
15
+ * @param {number} options.nutrition 营养价值,默认为 0
16
+ * @param {number} options.saturationModifier 饱和度修正值,默认为 1
17
+ */
18
+ constructor(identifier, category, texture, options = {}) {
19
+ // 继承父类
20
+ super(identifier, category, texture, options);
21
+
22
+ // 解构 options 并设置默认值
23
+ const {
24
+ animation = "eat",
25
+ movement = 1,
26
+ useDuration = 1,
27
+ canAlwaysEat = false,
28
+ nutrition = 0,
29
+ saturationModifier = 1,
30
+ } = options;
31
+
32
+ // 参数验证
33
+ if (typeof nutrition !== "number" || nutrition < 0) {
34
+ throw new Error('nutrition 必须是一个非负数');
35
+ }
36
+ if (typeof saturationModifier !== "number" || saturationModifier <= 0) {
37
+ throw new Error('saturationModifier 必须是一个正数');
38
+ }
39
+ if (typeof animation !== "string") {
40
+ throw new Error('animation 必须是字符串类型');
41
+ }
42
+ if (typeof canAlwaysEat !== "boolean") {
43
+ throw new Error('canAlwaysEat 必须是布尔类型');
44
+ }
45
+
46
+ // 添加组件
47
+ this.addComponent(
48
+ ItemComponent.combineComponents(
49
+ ItemComponent.setUseModifiers(
50
+ movement,
51
+ useDuration
52
+ ),
53
+ ItemComponent.setFoodComponent(
54
+ canAlwaysEat,
55
+ nutrition,
56
+ saturationModifier
57
+ ),
58
+ ItemComponent.setUseAnimation(animation)
59
+ )
60
+ );
61
+ }
62
+ }
@@ -0,0 +1,17 @@
1
+
2
+ export class GRegistry {
3
+ static dataList = [];
4
+ /**
5
+ * 生成注册器
6
+ * @param {string} name 文件名字
7
+ * @param {string} root 根目录,如 "behavior"、"resource" 等
8
+ * @param {string} path 数据的路径,如 "blocks/"、"items/"、"recipes/" 等
9
+ * @param {string} data 实例 必须包含 toJson 方法
10
+ */
11
+ static register(name, root, path, data){
12
+ GRegistry.dataList.push({name, root, path, data});
13
+ }
14
+ static getDataList(){
15
+ return [...GRegistry.dataList];
16
+ }
17
+ }
@@ -0,0 +1,41 @@
1
+
2
+ export class ItemTextureManager {
3
+ static item_texture_sets = new Map();
4
+ static getItemTextureSet(){
5
+ return this.item_texture_sets;
6
+ }
7
+ static getItemTextures(){
8
+ return Object.fromEntries(this.item_texture_sets);
9
+ }
10
+ static registerTextureData(texture_name,texture_data){
11
+ this.item_texture_sets.set(texture_name,texture_data);
12
+ }
13
+ static registerTexture(texture_name,texture_path){
14
+ this.registerTextureData(texture_name,{textures:texture_path});
15
+ }
16
+ }
17
+
18
+ export class terrainTextureManager {
19
+ static terrain_texture_sets = new Map();
20
+ static getTerrainTextureSet(){
21
+ return this.terrain_texture_sets;
22
+ }
23
+ static getTerrainTextures(){
24
+ return Object.fromEntries(this.terrain_texture_sets);
25
+ }
26
+ static registerTextureData(texture_name,texture_data){
27
+ this.terrain_texture_sets.set(texture_name,texture_data);
28
+ }
29
+ static registerTexture(texture_name,texture_path){
30
+ this.registerTextureData(texture_name,{textures:texture_path});
31
+ }
32
+ }
33
+
34
+ export const FlipbookTextures = {
35
+ flipbook_textures: [],
36
+ registerFlipbookTexture(atlas_tile,texture,ticks_per_frame,options = {}){
37
+ const flipbook_texture = {"atlas_tile":atlas_tile,"flipbook_texture":texture,ticks_per_frame};
38
+ Object.assign(flipbook_texture,options);
39
+ this.flipbook_textures.push(flipbook_texture);
40
+ }
41
+ }