@nodecraft/rendermite 0.0.1 → 1.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 (764) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +91 -0
  3. package/assets/README.md +17 -0
  4. package/assets/builtin/minecraft/atlases/misc.json +24 -0
  5. package/assets/builtin/minecraft/items/black_banner.json +12 -0
  6. package/assets/builtin/minecraft/items/black_shulker_box.json +6 -0
  7. package/assets/builtin/minecraft/items/blue_banner.json +12 -0
  8. package/assets/builtin/minecraft/items/blue_shulker_box.json +6 -0
  9. package/assets/builtin/minecraft/items/brown_banner.json +12 -0
  10. package/assets/builtin/minecraft/items/brown_shulker_box.json +6 -0
  11. package/assets/builtin/minecraft/items/chest.json +6 -0
  12. package/assets/builtin/minecraft/items/conduit.json +6 -0
  13. package/assets/builtin/minecraft/items/copper_chest.json +6 -0
  14. package/assets/builtin/minecraft/items/copper_golem_statue.json +6 -0
  15. package/assets/builtin/minecraft/items/creeper_head.json +6 -0
  16. package/assets/builtin/minecraft/items/cyan_banner.json +12 -0
  17. package/assets/builtin/minecraft/items/cyan_shulker_box.json +6 -0
  18. package/assets/builtin/minecraft/items/decorated_pot.json +6 -0
  19. package/assets/builtin/minecraft/items/dragon_head.json +6 -0
  20. package/assets/builtin/minecraft/items/ender_chest.json +6 -0
  21. package/assets/builtin/minecraft/items/exposed_copper_chest.json +6 -0
  22. package/assets/builtin/minecraft/items/exposed_copper_golem_statue.json +6 -0
  23. package/assets/builtin/minecraft/items/gray_banner.json +12 -0
  24. package/assets/builtin/minecraft/items/gray_shulker_box.json +6 -0
  25. package/assets/builtin/minecraft/items/green_banner.json +12 -0
  26. package/assets/builtin/minecraft/items/green_shulker_box.json +6 -0
  27. package/assets/builtin/minecraft/items/light_blue_banner.json +12 -0
  28. package/assets/builtin/minecraft/items/light_blue_shulker_box.json +6 -0
  29. package/assets/builtin/minecraft/items/light_gray_banner.json +12 -0
  30. package/assets/builtin/minecraft/items/light_gray_shulker_box.json +6 -0
  31. package/assets/builtin/minecraft/items/lime_banner.json +12 -0
  32. package/assets/builtin/minecraft/items/lime_shulker_box.json +6 -0
  33. package/assets/builtin/minecraft/items/magenta_banner.json +12 -0
  34. package/assets/builtin/minecraft/items/magenta_shulker_box.json +6 -0
  35. package/assets/builtin/minecraft/items/orange_banner.json +12 -0
  36. package/assets/builtin/minecraft/items/orange_shulker_box.json +6 -0
  37. package/assets/builtin/minecraft/items/oxidized_copper_chest.json +6 -0
  38. package/assets/builtin/minecraft/items/oxidized_copper_golem_statue.json +6 -0
  39. package/assets/builtin/minecraft/items/piglin_head.json +6 -0
  40. package/assets/builtin/minecraft/items/pink_banner.json +12 -0
  41. package/assets/builtin/minecraft/items/pink_shulker_box.json +6 -0
  42. package/assets/builtin/minecraft/items/player_head.json +6 -0
  43. package/assets/builtin/minecraft/items/purple_banner.json +12 -0
  44. package/assets/builtin/minecraft/items/purple_shulker_box.json +6 -0
  45. package/assets/builtin/minecraft/items/rc_filled_map_base.json +6 -0
  46. package/assets/builtin/minecraft/items/rc_filled_map_overlay.json +7 -0
  47. package/assets/builtin/minecraft/items/rc_firework_star_base.json +6 -0
  48. package/assets/builtin/minecraft/items/rc_firework_star_overlay.json +6 -0
  49. package/assets/builtin/minecraft/items/rc_potion_bottle.json +6 -0
  50. package/assets/builtin/minecraft/items/rc_potion_bottle_lingering.json +6 -0
  51. package/assets/builtin/minecraft/items/rc_potion_bottle_splash.json +6 -0
  52. package/assets/builtin/minecraft/items/rc_potion_content.json +6 -0
  53. package/assets/builtin/minecraft/items/rc_tipped_arrow_base.json +6 -0
  54. package/assets/builtin/minecraft/items/rc_tipped_arrow_head.json +6 -0
  55. package/assets/builtin/minecraft/items/red_banner.json +12 -0
  56. package/assets/builtin/minecraft/items/red_shulker_box.json +6 -0
  57. package/assets/builtin/minecraft/items/shield.json +6 -0
  58. package/assets/builtin/minecraft/items/shulker_box.json +6 -0
  59. package/assets/builtin/minecraft/items/skeleton_skull.json +6 -0
  60. package/assets/builtin/minecraft/items/trapped_chest.json +6 -0
  61. package/assets/builtin/minecraft/items/waxed_copper_chest.json +6 -0
  62. package/assets/builtin/minecraft/items/waxed_copper_golem_statue.json +6 -0
  63. package/assets/builtin/minecraft/items/waxed_exposed_copper_chest.json +6 -0
  64. package/assets/builtin/minecraft/items/waxed_exposed_copper_golem_statue.json +6 -0
  65. package/assets/builtin/minecraft/items/waxed_oxidized_copper_chest.json +6 -0
  66. package/assets/builtin/minecraft/items/waxed_oxidized_copper_golem_statue.json +6 -0
  67. package/assets/builtin/minecraft/items/waxed_weathered_copper_chest.json +6 -0
  68. package/assets/builtin/minecraft/items/waxed_weathered_copper_golem_statue.json +6 -0
  69. package/assets/builtin/minecraft/items/weathered_copper_chest.json +6 -0
  70. package/assets/builtin/minecraft/items/weathered_copper_golem_statue.json +6 -0
  71. package/assets/builtin/minecraft/items/white_banner.json +12 -0
  72. package/assets/builtin/minecraft/items/white_shulker_box.json +6 -0
  73. package/assets/builtin/minecraft/items/wither_skeleton_skull.json +6 -0
  74. package/assets/builtin/minecraft/items/yellow_banner.json +12 -0
  75. package/assets/builtin/minecraft/items/yellow_shulker_box.json +6 -0
  76. package/assets/builtin/minecraft/items/zombie_head.json +6 -0
  77. package/assets/builtin/minecraft/models/item/generated.json +30 -0
  78. package/assets/builtin/minecraft/textures/item/empty.png +0 -0
  79. package/assets/builtin/minecraft/textures/item/unknown.png +0 -0
  80. package/assets/builtin/mobheads/items/allay.json +6 -0
  81. package/assets/builtin/mobheads/items/armadillo.json +6 -0
  82. package/assets/builtin/mobheads/items/axolotl.json +6 -0
  83. package/assets/builtin/mobheads/items/bat.json +6 -0
  84. package/assets/builtin/mobheads/items/bee.json +6 -0
  85. package/assets/builtin/mobheads/items/blaze.json +6 -0
  86. package/assets/builtin/mobheads/items/bogged.json +6 -0
  87. package/assets/builtin/mobheads/items/breeze.json +6 -0
  88. package/assets/builtin/mobheads/items/camel.json +6 -0
  89. package/assets/builtin/mobheads/items/camel_husk.json +6 -0
  90. package/assets/builtin/mobheads/items/cat.json +6 -0
  91. package/assets/builtin/mobheads/items/cave_spider.json +6 -0
  92. package/assets/builtin/mobheads/items/chicken.json +6 -0
  93. package/assets/builtin/mobheads/items/cod.json +6 -0
  94. package/assets/builtin/mobheads/items/copper_golem.json +6 -0
  95. package/assets/builtin/mobheads/items/cow.json +6 -0
  96. package/assets/builtin/mobheads/items/creaking.json +6 -0
  97. package/assets/builtin/mobheads/items/creeper.json +6 -0
  98. package/assets/builtin/mobheads/items/dolphin.json +6 -0
  99. package/assets/builtin/mobheads/items/donkey.json +6 -0
  100. package/assets/builtin/mobheads/items/drowned.json +6 -0
  101. package/assets/builtin/mobheads/items/elder_guardian.json +6 -0
  102. package/assets/builtin/mobheads/items/ender_dragon.json +6 -0
  103. package/assets/builtin/mobheads/items/enderman.json +6 -0
  104. package/assets/builtin/mobheads/items/endermite.json +6 -0
  105. package/assets/builtin/mobheads/items/evoker.json +6 -0
  106. package/assets/builtin/mobheads/items/fox.json +6 -0
  107. package/assets/builtin/mobheads/items/frog.json +6 -0
  108. package/assets/builtin/mobheads/items/ghast.json +6 -0
  109. package/assets/builtin/mobheads/items/giant.json +6 -0
  110. package/assets/builtin/mobheads/items/glow_squid.json +6 -0
  111. package/assets/builtin/mobheads/items/goat.json +6 -0
  112. package/assets/builtin/mobheads/items/guardian.json +6 -0
  113. package/assets/builtin/mobheads/items/happy_ghast.json +6 -0
  114. package/assets/builtin/mobheads/items/hoglin.json +6 -0
  115. package/assets/builtin/mobheads/items/horse.json +6 -0
  116. package/assets/builtin/mobheads/items/husk.json +6 -0
  117. package/assets/builtin/mobheads/items/illusioner.json +6 -0
  118. package/assets/builtin/mobheads/items/iron_golem.json +6 -0
  119. package/assets/builtin/mobheads/items/llama.json +6 -0
  120. package/assets/builtin/mobheads/items/magma_cube.json +6 -0
  121. package/assets/builtin/mobheads/items/mannequin.json +6 -0
  122. package/assets/builtin/mobheads/items/mooshroom.json +6 -0
  123. package/assets/builtin/mobheads/items/mule.json +6 -0
  124. package/assets/builtin/mobheads/items/nautilus.json +6 -0
  125. package/assets/builtin/mobheads/items/ocelot.json +6 -0
  126. package/assets/builtin/mobheads/items/panda.json +6 -0
  127. package/assets/builtin/mobheads/items/parched.json +6 -0
  128. package/assets/builtin/mobheads/items/parrot.json +6 -0
  129. package/assets/builtin/mobheads/items/phantom.json +6 -0
  130. package/assets/builtin/mobheads/items/pig.json +6 -0
  131. package/assets/builtin/mobheads/items/piglin.json +6 -0
  132. package/assets/builtin/mobheads/items/piglin_brute.json +6 -0
  133. package/assets/builtin/mobheads/items/pillager.json +6 -0
  134. package/assets/builtin/mobheads/items/player.json +6 -0
  135. package/assets/builtin/mobheads/items/polar_bear.json +6 -0
  136. package/assets/builtin/mobheads/items/pufferfish.json +6 -0
  137. package/assets/builtin/mobheads/items/rabbit.json +6 -0
  138. package/assets/builtin/mobheads/items/ravager.json +6 -0
  139. package/assets/builtin/mobheads/items/salmon.json +6 -0
  140. package/assets/builtin/mobheads/items/sheep.json +6 -0
  141. package/assets/builtin/mobheads/items/shulker.json +6 -0
  142. package/assets/builtin/mobheads/items/silverfish.json +6 -0
  143. package/assets/builtin/mobheads/items/skeleton.json +6 -0
  144. package/assets/builtin/mobheads/items/skeleton_horse.json +6 -0
  145. package/assets/builtin/mobheads/items/slime.json +6 -0
  146. package/assets/builtin/mobheads/items/sniffer.json +6 -0
  147. package/assets/builtin/mobheads/items/snow_golem.json +6 -0
  148. package/assets/builtin/mobheads/items/spider.json +6 -0
  149. package/assets/builtin/mobheads/items/squid.json +6 -0
  150. package/assets/builtin/mobheads/items/stray.json +6 -0
  151. package/assets/builtin/mobheads/items/strider.json +6 -0
  152. package/assets/builtin/mobheads/items/sulfur_cube.json +6 -0
  153. package/assets/builtin/mobheads/items/tadpole.json +6 -0
  154. package/assets/builtin/mobheads/items/trader_llama.json +6 -0
  155. package/assets/builtin/mobheads/items/tropical_fish.json +14 -0
  156. package/assets/builtin/mobheads/items/turtle.json +6 -0
  157. package/assets/builtin/mobheads/items/vex.json +6 -0
  158. package/assets/builtin/mobheads/items/villager.json +6 -0
  159. package/assets/builtin/mobheads/items/vindicator.json +6 -0
  160. package/assets/builtin/mobheads/items/wandering_trader.json +6 -0
  161. package/assets/builtin/mobheads/items/warden.json +6 -0
  162. package/assets/builtin/mobheads/items/witch.json +6 -0
  163. package/assets/builtin/mobheads/items/wither.json +6 -0
  164. package/assets/builtin/mobheads/items/wither_skeleton.json +6 -0
  165. package/assets/builtin/mobheads/items/wolf.json +6 -0
  166. package/assets/builtin/mobheads/items/zoglin.json +6 -0
  167. package/assets/builtin/mobheads/items/zombie.json +6 -0
  168. package/assets/builtin/mobheads/items/zombie_horse.json +6 -0
  169. package/assets/builtin/mobheads/items/zombie_nautilus.json +6 -0
  170. package/assets/builtin/mobheads/items/zombie_villager.json +6 -0
  171. package/assets/builtin/mobheads/items/zombified_piglin.json +6 -0
  172. package/assets/builtin/mobheads/models/item/allay.json +6 -0
  173. package/assets/builtin/mobheads/models/item/armadillo.json +41 -0
  174. package/assets/builtin/mobheads/models/item/axolotl.json +36 -0
  175. package/assets/builtin/mobheads/models/item/base/camel.json +59 -0
  176. package/assets/builtin/mobheads/models/item/base/cat.json +52 -0
  177. package/assets/builtin/mobheads/models/item/base/cow.json +56 -0
  178. package/assets/builtin/mobheads/models/item/base/donkey.json +68 -0
  179. package/assets/builtin/mobheads/models/item/base/guardian.json +272 -0
  180. package/assets/builtin/mobheads/models/item/base/head_32_32.json +19 -0
  181. package/assets/builtin/mobheads/models/item/base/head_64_32.json +34 -0
  182. package/assets/builtin/mobheads/models/item/base/head_64_64.json +34 -0
  183. package/assets/builtin/mobheads/models/item/base/head_64_64_overlay.json +34 -0
  184. package/assets/builtin/mobheads/models/item/base/head_display.json +8 -0
  185. package/assets/builtin/mobheads/models/item/base/hoglin.json +81 -0
  186. package/assets/builtin/mobheads/models/item/base/horse.json +80 -0
  187. package/assets/builtin/mobheads/models/item/base/llama.json +64 -0
  188. package/assets/builtin/mobheads/models/item/base/nautilus.json +213 -0
  189. package/assets/builtin/mobheads/models/item/base/piglin.json +80 -0
  190. package/assets/builtin/mobheads/models/item/base/spider.json +32 -0
  191. package/assets/builtin/mobheads/models/item/base/squid.json +116 -0
  192. package/assets/builtin/mobheads/models/item/base/villager.json +43 -0
  193. package/assets/builtin/mobheads/models/item/bat.json +41 -0
  194. package/assets/builtin/mobheads/models/item/bee.json +59 -0
  195. package/assets/builtin/mobheads/models/item/blaze.json +6 -0
  196. package/assets/builtin/mobheads/models/item/bogged.json +113 -0
  197. package/assets/builtin/mobheads/models/item/breeze.json +49 -0
  198. package/assets/builtin/mobheads/models/item/camel.json +6 -0
  199. package/assets/builtin/mobheads/models/item/camel_husk.json +6 -0
  200. package/assets/builtin/mobheads/models/item/cat.json +6 -0
  201. package/assets/builtin/mobheads/models/item/cave_spider.json +6 -0
  202. package/assets/builtin/mobheads/models/item/chicken.json +62 -0
  203. package/assets/builtin/mobheads/models/item/cod.json +98 -0
  204. package/assets/builtin/mobheads/models/item/copper_golem.json +85 -0
  205. package/assets/builtin/mobheads/models/item/cow.json +6 -0
  206. package/assets/builtin/mobheads/models/item/creaking.json +120 -0
  207. package/assets/builtin/mobheads/models/item/creeper.json +6 -0
  208. package/assets/builtin/mobheads/models/item/dolphin.json +33 -0
  209. package/assets/builtin/mobheads/models/item/donkey.json +6 -0
  210. package/assets/builtin/mobheads/models/item/drowned.json +8 -0
  211. package/assets/builtin/mobheads/models/item/elder_guardian.json +6 -0
  212. package/assets/builtin/mobheads/models/item/ender_dragon.json +113 -0
  213. package/assets/builtin/mobheads/models/item/enderman.json +41 -0
  214. package/assets/builtin/mobheads/models/item/endermite.json +59 -0
  215. package/assets/builtin/mobheads/models/item/evoker.json +6 -0
  216. package/assets/builtin/mobheads/models/item/fox.json +55 -0
  217. package/assets/builtin/mobheads/models/item/frog.json +159 -0
  218. package/assets/builtin/mobheads/models/item/ghast.json +131 -0
  219. package/assets/builtin/mobheads/models/item/giant.json +6 -0
  220. package/assets/builtin/mobheads/models/item/glow_squid.json +6 -0
  221. package/assets/builtin/mobheads/models/item/goat.json +56 -0
  222. package/assets/builtin/mobheads/models/item/guardian.json +6 -0
  223. package/assets/builtin/mobheads/models/item/happy_ghast.json +131 -0
  224. package/assets/builtin/mobheads/models/item/hoglin.json +6 -0
  225. package/assets/builtin/mobheads/models/item/horse.json +6 -0
  226. package/assets/builtin/mobheads/models/item/husk.json +6 -0
  227. package/assets/builtin/mobheads/models/item/illusioner.json +6 -0
  228. package/assets/builtin/mobheads/models/item/iron_golem.json +34 -0
  229. package/assets/builtin/mobheads/models/item/llama.json +7 -0
  230. package/assets/builtin/mobheads/models/item/magma_cube.json +100 -0
  231. package/assets/builtin/mobheads/models/item/mooshroom.json +6 -0
  232. package/assets/builtin/mobheads/models/item/mule.json +6 -0
  233. package/assets/builtin/mobheads/models/item/nautilus.json +6 -0
  234. package/assets/builtin/mobheads/models/item/ocelot.json +6 -0
  235. package/assets/builtin/mobheads/models/item/panda.json +61 -0
  236. package/assets/builtin/mobheads/models/item/parched.json +6 -0
  237. package/assets/builtin/mobheads/models/item/parrot.json +73 -0
  238. package/assets/builtin/mobheads/models/item/phantom.json +33 -0
  239. package/assets/builtin/mobheads/models/item/pig.json +35 -0
  240. package/assets/builtin/mobheads/models/item/piglin.json +6 -0
  241. package/assets/builtin/mobheads/models/item/piglin_brute.json +6 -0
  242. package/assets/builtin/mobheads/models/item/pillager.json +6 -0
  243. package/assets/builtin/mobheads/models/item/player.json +6 -0
  244. package/assets/builtin/mobheads/models/item/polar_bear.json +61 -0
  245. package/assets/builtin/mobheads/models/item/pufferfish.json +113 -0
  246. package/assets/builtin/mobheads/models/item/rabbit.json +50 -0
  247. package/assets/builtin/mobheads/models/item/ravager.json +75 -0
  248. package/assets/builtin/mobheads/models/item/salmon.json +80 -0
  249. package/assets/builtin/mobheads/models/item/sheep.json +34 -0
  250. package/assets/builtin/mobheads/models/item/shulker.json +109 -0
  251. package/assets/builtin/mobheads/models/item/silverfish.json +148 -0
  252. package/assets/builtin/mobheads/models/item/skeleton.json +6 -0
  253. package/assets/builtin/mobheads/models/item/skeleton_horse.json +6 -0
  254. package/assets/builtin/mobheads/models/item/slime.json +69 -0
  255. package/assets/builtin/mobheads/models/item/sniffer.json +85 -0
  256. package/assets/builtin/mobheads/models/item/snow_golem.json +24 -0
  257. package/assets/builtin/mobheads/models/item/spider.json +6 -0
  258. package/assets/builtin/mobheads/models/item/squid.json +6 -0
  259. package/assets/builtin/mobheads/models/item/stray.json +8 -0
  260. package/assets/builtin/mobheads/models/item/strider.json +101 -0
  261. package/assets/builtin/mobheads/models/item/sulfur_cube.json +38 -0
  262. package/assets/builtin/mobheads/models/item/tadpole.json +31 -0
  263. package/assets/builtin/mobheads/models/item/trader_llama.json +7 -0
  264. package/assets/builtin/mobheads/models/item/tropical_fish.json +141 -0
  265. package/assets/builtin/mobheads/models/item/turtle.json +23 -0
  266. package/assets/builtin/mobheads/models/item/vex.json +23 -0
  267. package/assets/builtin/mobheads/models/item/villager.json +6 -0
  268. package/assets/builtin/mobheads/models/item/vindicator.json +6 -0
  269. package/assets/builtin/mobheads/models/item/wandering_trader.json +6 -0
  270. package/assets/builtin/mobheads/models/item/warden.json +92 -0
  271. package/assets/builtin/mobheads/models/item/witch.json +110 -0
  272. package/assets/builtin/mobheads/models/item/wither.json +22 -0
  273. package/assets/builtin/mobheads/models/item/wither_skeleton.json +6 -0
  274. package/assets/builtin/mobheads/models/item/wolf.json +59 -0
  275. package/assets/builtin/mobheads/models/item/zoglin.json +6 -0
  276. package/assets/builtin/mobheads/models/item/zombie.json +6 -0
  277. package/assets/builtin/mobheads/models/item/zombie_horse.json +6 -0
  278. package/assets/builtin/mobheads/models/item/zombie_nautilus.json +6 -0
  279. package/assets/builtin/mobheads/models/item/zombie_villager.json +6 -0
  280. package/assets/builtin/mobheads/models/item/zombified_piglin.json +6 -0
  281. package/assets/builtin/renderchest/atlases/items.json +9 -0
  282. package/assets/builtin/renderchest/items/empty.json +5 -0
  283. package/assets/builtin/renderchest/items/unknown.json +6 -0
  284. package/assets/builtin/renderchest/models/item/banner.json +50 -0
  285. package/assets/builtin/renderchest/models/item/chest/chest.json +6 -0
  286. package/assets/builtin/renderchest/models/item/chest/copper_chest.json +6 -0
  287. package/assets/builtin/renderchest/models/item/chest/ender_chest.json +6 -0
  288. package/assets/builtin/renderchest/models/item/chest/exposed_copper_chest.json +6 -0
  289. package/assets/builtin/renderchest/models/item/chest/oxidized_copper_chest.json +6 -0
  290. package/assets/builtin/renderchest/models/item/chest/trapped_chest.json +6 -0
  291. package/assets/builtin/renderchest/models/item/chest/weathered_copper_chest.json +6 -0
  292. package/assets/builtin/renderchest/models/item/chest.json +47 -0
  293. package/assets/builtin/renderchest/models/item/conduit.json +24 -0
  294. package/assets/builtin/renderchest/models/item/copper_golem_statue/copper_golem_statue.json +6 -0
  295. package/assets/builtin/renderchest/models/item/copper_golem_statue/exposed_copper_golem_statue.json +6 -0
  296. package/assets/builtin/renderchest/models/item/copper_golem_statue/oxidized_copper_golem_statue.json +6 -0
  297. package/assets/builtin/renderchest/models/item/copper_golem_statue/weathered_copper_golem_statue.json +6 -0
  298. package/assets/builtin/renderchest/models/item/copper_golem_statue.json +132 -0
  299. package/assets/builtin/renderchest/models/item/decorated_pot.json +69 -0
  300. package/assets/builtin/renderchest/models/item/decorated_pot_base.json +37 -0
  301. package/assets/builtin/renderchest/models/item/decorated_pot_overlay.json +14 -0
  302. package/assets/builtin/renderchest/models/item/empty.json +6 -0
  303. package/assets/builtin/renderchest/models/item/filled_map/base.json +6 -0
  304. package/assets/builtin/renderchest/models/item/filled_map/overlay.json +6 -0
  305. package/assets/builtin/renderchest/models/item/firework_star/base.json +6 -0
  306. package/assets/builtin/renderchest/models/item/firework_star/overlay.json +6 -0
  307. package/assets/builtin/renderchest/models/item/potion/arrow_base.json +6 -0
  308. package/assets/builtin/renderchest/models/item/potion/arrow_head.json +6 -0
  309. package/assets/builtin/renderchest/models/item/potion/bottle.json +6 -0
  310. package/assets/builtin/renderchest/models/item/potion/bottle_lingering.json +6 -0
  311. package/assets/builtin/renderchest/models/item/potion/bottle_splash.json +6 -0
  312. package/assets/builtin/renderchest/models/item/potion/content.json +6 -0
  313. package/assets/builtin/renderchest/models/item/shield.json +41 -0
  314. package/assets/builtin/renderchest/models/item/shulker_box/black_shulker_box.json +6 -0
  315. package/assets/builtin/renderchest/models/item/shulker_box/blue_shulker_box.json +6 -0
  316. package/assets/builtin/renderchest/models/item/shulker_box/brown_shulker_box.json +6 -0
  317. package/assets/builtin/renderchest/models/item/shulker_box/cyan_shulker_box.json +6 -0
  318. package/assets/builtin/renderchest/models/item/shulker_box/gray_shulker_box.json +6 -0
  319. package/assets/builtin/renderchest/models/item/shulker_box/green_shulker_box.json +6 -0
  320. package/assets/builtin/renderchest/models/item/shulker_box/light_blue_shulker_box.json +6 -0
  321. package/assets/builtin/renderchest/models/item/shulker_box/light_gray_shulker_box.json +6 -0
  322. package/assets/builtin/renderchest/models/item/shulker_box/lime_shulker_box.json +6 -0
  323. package/assets/builtin/renderchest/models/item/shulker_box/magenta_shulker_box.json +6 -0
  324. package/assets/builtin/renderchest/models/item/shulker_box/orange_shulker_box.json +6 -0
  325. package/assets/builtin/renderchest/models/item/shulker_box/pink_shulker_box.json +6 -0
  326. package/assets/builtin/renderchest/models/item/shulker_box/purple_shulker_box.json +6 -0
  327. package/assets/builtin/renderchest/models/item/shulker_box/red_shulker_box.json +6 -0
  328. package/assets/builtin/renderchest/models/item/shulker_box/shulker_box.json +6 -0
  329. package/assets/builtin/renderchest/models/item/shulker_box/white_shulker_box.json +6 -0
  330. package/assets/builtin/renderchest/models/item/shulker_box/yellow_shulker_box.json +6 -0
  331. package/assets/builtin/renderchest/models/item/shulker_box.json +98 -0
  332. package/assets/builtin/renderchest/models/item/unknown.json +6 -0
  333. package/assets/builtin/renderchest/textures/item/empty.png +0 -0
  334. package/assets/builtin/renderchest/textures/item/unknown.png +0 -0
  335. package/assets/builtin-bed-compat/minecraft/models/item/black_bed.json +6 -0
  336. package/assets/builtin-bed-compat/minecraft/models/item/blue_bed.json +6 -0
  337. package/assets/builtin-bed-compat/minecraft/models/item/brown_bed.json +6 -0
  338. package/assets/builtin-bed-compat/minecraft/models/item/cyan_bed.json +6 -0
  339. package/assets/builtin-bed-compat/minecraft/models/item/gray_bed.json +6 -0
  340. package/assets/builtin-bed-compat/minecraft/models/item/green_bed.json +6 -0
  341. package/assets/builtin-bed-compat/minecraft/models/item/light_blue_bed.json +6 -0
  342. package/assets/builtin-bed-compat/minecraft/models/item/light_gray_bed.json +6 -0
  343. package/assets/builtin-bed-compat/minecraft/models/item/lime_bed.json +6 -0
  344. package/assets/builtin-bed-compat/minecraft/models/item/magenta_bed.json +6 -0
  345. package/assets/builtin-bed-compat/minecraft/models/item/orange_bed.json +6 -0
  346. package/assets/builtin-bed-compat/minecraft/models/item/pink_bed.json +6 -0
  347. package/assets/builtin-bed-compat/minecraft/models/item/purple_bed.json +6 -0
  348. package/assets/builtin-bed-compat/minecraft/models/item/red_bed.json +6 -0
  349. package/assets/builtin-bed-compat/minecraft/models/item/white_bed.json +6 -0
  350. package/assets/builtin-bed-compat/minecraft/models/item/yellow_bed.json +6 -0
  351. package/assets/builtin-bed-compat/renderchest/models/item/bed.json +72 -0
  352. package/assets/builtin-legacy/minecraft/atlases/misc.json +19 -0
  353. package/assets/builtin-legacy/minecraft/models/item/black_banner.json +3 -0
  354. package/assets/builtin-legacy/minecraft/models/item/black_bed.json +6 -0
  355. package/assets/builtin-legacy/minecraft/models/item/black_shulker_box.json +6 -0
  356. package/assets/builtin-legacy/minecraft/models/item/blue_banner.json +3 -0
  357. package/assets/builtin-legacy/minecraft/models/item/blue_bed.json +6 -0
  358. package/assets/builtin-legacy/minecraft/models/item/blue_shulker_box.json +6 -0
  359. package/assets/builtin-legacy/minecraft/models/item/brown_banner.json +3 -0
  360. package/assets/builtin-legacy/minecraft/models/item/brown_bed.json +6 -0
  361. package/assets/builtin-legacy/minecraft/models/item/brown_shulker_box.json +6 -0
  362. package/assets/builtin-legacy/minecraft/models/item/chest.json +6 -0
  363. package/assets/builtin-legacy/minecraft/models/item/conduit.json +6 -0
  364. package/assets/builtin-legacy/minecraft/models/item/creeper_head.json +3 -0
  365. package/assets/builtin-legacy/minecraft/models/item/cyan_banner.json +3 -0
  366. package/assets/builtin-legacy/minecraft/models/item/cyan_bed.json +6 -0
  367. package/assets/builtin-legacy/minecraft/models/item/cyan_shulker_box.json +6 -0
  368. package/assets/builtin-legacy/minecraft/models/item/decorated_pot.json +3 -0
  369. package/assets/builtin-legacy/minecraft/models/item/dragon_head.json +3 -0
  370. package/assets/builtin-legacy/minecraft/models/item/empty.json +3 -0
  371. package/assets/builtin-legacy/minecraft/models/item/ender_chest.json +6 -0
  372. package/assets/builtin-legacy/minecraft/models/item/gray_banner.json +3 -0
  373. package/assets/builtin-legacy/minecraft/models/item/gray_bed.json +6 -0
  374. package/assets/builtin-legacy/minecraft/models/item/gray_shulker_box.json +6 -0
  375. package/assets/builtin-legacy/minecraft/models/item/green_banner.json +3 -0
  376. package/assets/builtin-legacy/minecraft/models/item/green_bed.json +6 -0
  377. package/assets/builtin-legacy/minecraft/models/item/green_shulker_box.json +6 -0
  378. package/assets/builtin-legacy/minecraft/models/item/light_blue_banner.json +3 -0
  379. package/assets/builtin-legacy/minecraft/models/item/light_blue_bed.json +6 -0
  380. package/assets/builtin-legacy/minecraft/models/item/light_blue_shulker_box.json +6 -0
  381. package/assets/builtin-legacy/minecraft/models/item/light_gray_banner.json +3 -0
  382. package/assets/builtin-legacy/minecraft/models/item/light_gray_bed.json +6 -0
  383. package/assets/builtin-legacy/minecraft/models/item/light_gray_shulker_box.json +6 -0
  384. package/assets/builtin-legacy/minecraft/models/item/lime_banner.json +3 -0
  385. package/assets/builtin-legacy/minecraft/models/item/lime_bed.json +6 -0
  386. package/assets/builtin-legacy/minecraft/models/item/lime_shulker_box.json +6 -0
  387. package/assets/builtin-legacy/minecraft/models/item/magenta_banner.json +3 -0
  388. package/assets/builtin-legacy/minecraft/models/item/magenta_bed.json +6 -0
  389. package/assets/builtin-legacy/minecraft/models/item/magenta_shulker_box.json +6 -0
  390. package/assets/builtin-legacy/minecraft/models/item/orange_banner.json +3 -0
  391. package/assets/builtin-legacy/minecraft/models/item/orange_bed.json +6 -0
  392. package/assets/builtin-legacy/minecraft/models/item/orange_shulker_box.json +6 -0
  393. package/assets/builtin-legacy/minecraft/models/item/piglin_head.json +3 -0
  394. package/assets/builtin-legacy/minecraft/models/item/pink_banner.json +3 -0
  395. package/assets/builtin-legacy/minecraft/models/item/pink_bed.json +6 -0
  396. package/assets/builtin-legacy/minecraft/models/item/pink_shulker_box.json +6 -0
  397. package/assets/builtin-legacy/minecraft/models/item/player_head.json +3 -0
  398. package/assets/builtin-legacy/minecraft/models/item/purple_banner.json +3 -0
  399. package/assets/builtin-legacy/minecraft/models/item/purple_bed.json +6 -0
  400. package/assets/builtin-legacy/minecraft/models/item/purple_shulker_box.json +6 -0
  401. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_amethyst_trim.json +7 -0
  402. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_base.json +6 -0
  403. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_copper_trim.json +7 -0
  404. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_diamond_trim.json +7 -0
  405. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_emerald_trim.json +7 -0
  406. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_gold_trim.json +7 -0
  407. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_iron_trim.json +7 -0
  408. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_lapis_trim.json +7 -0
  409. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_netherite_trim.json +7 -0
  410. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_overlay.json +6 -0
  411. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_quartz_trim.json +7 -0
  412. package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_redstone_trim.json +7 -0
  413. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_amethyst_trim.json +7 -0
  414. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_base.json +6 -0
  415. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_copper_trim.json +7 -0
  416. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_diamond_trim.json +7 -0
  417. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_emerald_trim.json +7 -0
  418. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_gold_trim.json +7 -0
  419. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_iron_trim.json +7 -0
  420. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_lapis_trim.json +7 -0
  421. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_netherite_trim.json +7 -0
  422. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_overlay.json +6 -0
  423. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_quartz_trim.json +7 -0
  424. package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_redstone_trim.json +7 -0
  425. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_amethyst_trim.json +7 -0
  426. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_base.json +6 -0
  427. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_copper_trim.json +7 -0
  428. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_diamond_trim.json +7 -0
  429. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_emerald_trim.json +7 -0
  430. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_gold_trim.json +7 -0
  431. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_iron_trim.json +7 -0
  432. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_lapis_trim.json +7 -0
  433. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_netherite_trim.json +7 -0
  434. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_overlay.json +6 -0
  435. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_quartz_trim.json +7 -0
  436. package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_redstone_trim.json +7 -0
  437. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_amethyst_trim.json +7 -0
  438. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_base.json +6 -0
  439. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_copper_trim.json +7 -0
  440. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_diamond_trim.json +7 -0
  441. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_emerald_trim.json +7 -0
  442. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_gold_trim.json +7 -0
  443. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_iron_trim.json +7 -0
  444. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_lapis_trim.json +7 -0
  445. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_netherite_trim.json +7 -0
  446. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_overlay.json +6 -0
  447. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_quartz_trim.json +7 -0
  448. package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_redstone_trim.json +7 -0
  449. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_angler_pottery_sherd.json +9 -0
  450. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_archer_pottery_sherd.json +9 -0
  451. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_arms_up_pottery_sherd.json +9 -0
  452. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_blade_pottery_sherd.json +9 -0
  453. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_brewer_pottery_sherd.json +9 -0
  454. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_brick.json +9 -0
  455. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_burn_pottery_sherd.json +9 -0
  456. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_danger_pottery_sherd.json +9 -0
  457. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_explorer_pottery_sherd.json +9 -0
  458. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_friend_pottery_sherd.json +9 -0
  459. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_heart_pottery_sherd.json +9 -0
  460. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_heartbreak_pottery_sherd.json +9 -0
  461. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_howl_pottery_sherd.json +9 -0
  462. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_miner_pottery_sherd.json +9 -0
  463. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_mourner_pottery_sherd.json +9 -0
  464. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_plenty_pottery_sherd.json +9 -0
  465. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_prize_pottery_sherd.json +9 -0
  466. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_sheaf_pottery_sherd.json +9 -0
  467. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_shelter_pottery_sherd.json +9 -0
  468. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_skull_pottery_sherd.json +9 -0
  469. package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_snort_pottery_sherd.json +9 -0
  470. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_angler_pottery_sherd.json +6 -0
  471. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_archer_pottery_sherd.json +6 -0
  472. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_arms_up_pottery_sherd.json +6 -0
  473. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_blade_pottery_sherd.json +6 -0
  474. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_brewer_pottery_sherd.json +6 -0
  475. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_brick.json +6 -0
  476. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_burn_pottery_sherd.json +6 -0
  477. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_danger_pottery_sherd.json +6 -0
  478. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_explorer_pottery_sherd.json +6 -0
  479. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_friend_pottery_sherd.json +6 -0
  480. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_heart_pottery_sherd.json +6 -0
  481. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_heartbreak_pottery_sherd.json +6 -0
  482. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_howl_pottery_sherd.json +6 -0
  483. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_miner_pottery_sherd.json +6 -0
  484. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_mourner_pottery_sherd.json +6 -0
  485. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_plenty_pottery_sherd.json +6 -0
  486. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_prize_pottery_sherd.json +6 -0
  487. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_sheaf_pottery_sherd.json +6 -0
  488. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_shelter_pottery_sherd.json +6 -0
  489. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_skull_pottery_sherd.json +6 -0
  490. package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_snort_pottery_sherd.json +6 -0
  491. package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle.json +6 -0
  492. package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle_lingering.json +6 -0
  493. package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle_splash.json +6 -0
  494. package/assets/builtin-legacy/minecraft/models/item/rc_potion_content.json +6 -0
  495. package/assets/builtin-legacy/minecraft/models/item/rc_tipped_arrow_base.json +6 -0
  496. package/assets/builtin-legacy/minecraft/models/item/rc_tipped_arrow_head.json +6 -0
  497. package/assets/builtin-legacy/minecraft/models/item/red_banner.json +3 -0
  498. package/assets/builtin-legacy/minecraft/models/item/red_bed.json +6 -0
  499. package/assets/builtin-legacy/minecraft/models/item/red_shulker_box.json +6 -0
  500. package/assets/builtin-legacy/minecraft/models/item/shield.json +6 -0
  501. package/assets/builtin-legacy/minecraft/models/item/shulker_box.json +6 -0
  502. package/assets/builtin-legacy/minecraft/models/item/skeleton_skull.json +3 -0
  503. package/assets/builtin-legacy/minecraft/models/item/trapped_chest.json +6 -0
  504. package/assets/builtin-legacy/minecraft/models/item/unknown.json +3 -0
  505. package/assets/builtin-legacy/minecraft/models/item/white_banner.json +3 -0
  506. package/assets/builtin-legacy/minecraft/models/item/white_bed.json +6 -0
  507. package/assets/builtin-legacy/minecraft/models/item/white_shulker_box.json +6 -0
  508. package/assets/builtin-legacy/minecraft/models/item/wither_skeleton_skull.json +3 -0
  509. package/assets/builtin-legacy/minecraft/models/item/yellow_banner.json +3 -0
  510. package/assets/builtin-legacy/minecraft/models/item/yellow_bed.json +6 -0
  511. package/assets/builtin-legacy/minecraft/models/item/yellow_shulker_box.json +6 -0
  512. package/assets/builtin-legacy/minecraft/models/item/zombie_head.json +3 -0
  513. package/assets/builtin-legacy/mobheads/models/item/allay.json +6 -0
  514. package/assets/builtin-legacy/mobheads/models/item/armadillo.json +41 -0
  515. package/assets/builtin-legacy/mobheads/models/item/axolotl.json +36 -0
  516. package/assets/builtin-legacy/mobheads/models/item/base/cat.json +52 -0
  517. package/assets/builtin-legacy/mobheads/models/item/base/cow.json +43 -0
  518. package/assets/builtin-legacy/mobheads/models/item/base/donkey.json +68 -0
  519. package/assets/builtin-legacy/mobheads/models/item/base/guardian.json +272 -0
  520. package/assets/builtin-legacy/mobheads/models/item/base/head_32_32.json +19 -0
  521. package/assets/builtin-legacy/mobheads/models/item/base/head_64_32.json +19 -0
  522. package/assets/builtin-legacy/mobheads/models/item/base/head_64_64.json +19 -0
  523. package/assets/builtin-legacy/mobheads/models/item/base/head_display.json +8 -0
  524. package/assets/builtin-legacy/mobheads/models/item/base/hoglin.json +81 -0
  525. package/assets/builtin-legacy/mobheads/models/item/base/horse.json +80 -0
  526. package/assets/builtin-legacy/mobheads/models/item/base/llama.json +64 -0
  527. package/assets/builtin-legacy/mobheads/models/item/base/piglin.json +80 -0
  528. package/assets/builtin-legacy/mobheads/models/item/base/spider.json +32 -0
  529. package/assets/builtin-legacy/mobheads/models/item/base/squid.json +116 -0
  530. package/assets/builtin-legacy/mobheads/models/item/base/villager.json +43 -0
  531. package/assets/builtin-legacy/mobheads/models/item/bat.json +41 -0
  532. package/assets/builtin-legacy/mobheads/models/item/bee.json +59 -0
  533. package/assets/builtin-legacy/mobheads/models/item/blaze.json +6 -0
  534. package/assets/builtin-legacy/mobheads/models/item/breeze.json +49 -0
  535. package/assets/builtin-legacy/mobheads/models/item/camel.json +62 -0
  536. package/assets/builtin-legacy/mobheads/models/item/cat.json +6 -0
  537. package/assets/builtin-legacy/mobheads/models/item/cave_spider.json +6 -0
  538. package/assets/builtin-legacy/mobheads/models/item/chicken.json +46 -0
  539. package/assets/builtin-legacy/mobheads/models/item/cod.json +98 -0
  540. package/assets/builtin-legacy/mobheads/models/item/cow.json +6 -0
  541. package/assets/builtin-legacy/mobheads/models/item/creeper.json +6 -0
  542. package/assets/builtin-legacy/mobheads/models/item/dolphin.json +33 -0
  543. package/assets/builtin-legacy/mobheads/models/item/donkey.json +6 -0
  544. package/assets/builtin-legacy/mobheads/models/item/drowned.json +35 -0
  545. package/assets/builtin-legacy/mobheads/models/item/elder_guardian.json +6 -0
  546. package/assets/builtin-legacy/mobheads/models/item/ender_dragon.json +113 -0
  547. package/assets/builtin-legacy/mobheads/models/item/enderman.json +41 -0
  548. package/assets/builtin-legacy/mobheads/models/item/endermite.json +59 -0
  549. package/assets/builtin-legacy/mobheads/models/item/evoker.json +6 -0
  550. package/assets/builtin-legacy/mobheads/models/item/fox.json +55 -0
  551. package/assets/builtin-legacy/mobheads/models/item/frog.json +159 -0
  552. package/assets/builtin-legacy/mobheads/models/item/ghast.json +131 -0
  553. package/assets/builtin-legacy/mobheads/models/item/giant.json +6 -0
  554. package/assets/builtin-legacy/mobheads/models/item/glow_squid.json +6 -0
  555. package/assets/builtin-legacy/mobheads/models/item/goat.json +56 -0
  556. package/assets/builtin-legacy/mobheads/models/item/guardian.json +6 -0
  557. package/assets/builtin-legacy/mobheads/models/item/hoglin.json +6 -0
  558. package/assets/builtin-legacy/mobheads/models/item/horse.json +6 -0
  559. package/assets/builtin-legacy/mobheads/models/item/husk.json +6 -0
  560. package/assets/builtin-legacy/mobheads/models/item/illusioner.json +6 -0
  561. package/assets/builtin-legacy/mobheads/models/item/iron_golem.json +34 -0
  562. package/assets/builtin-legacy/mobheads/models/item/llama.json +7 -0
  563. package/assets/builtin-legacy/mobheads/models/item/magma_cube.json +52 -0
  564. package/assets/builtin-legacy/mobheads/models/item/mooshroom.json +6 -0
  565. package/assets/builtin-legacy/mobheads/models/item/mule.json +6 -0
  566. package/assets/builtin-legacy/mobheads/models/item/ocelot.json +6 -0
  567. package/assets/builtin-legacy/mobheads/models/item/panda.json +61 -0
  568. package/assets/builtin-legacy/mobheads/models/item/parrot.json +73 -0
  569. package/assets/builtin-legacy/mobheads/models/item/phantom.json +33 -0
  570. package/assets/builtin-legacy/mobheads/models/item/pig.json +35 -0
  571. package/assets/builtin-legacy/mobheads/models/item/piglin.json +6 -0
  572. package/assets/builtin-legacy/mobheads/models/item/piglin_brute.json +6 -0
  573. package/assets/builtin-legacy/mobheads/models/item/pillager.json +6 -0
  574. package/assets/builtin-legacy/mobheads/models/item/player.json +6 -0
  575. package/assets/builtin-legacy/mobheads/models/item/polar_bear.json +61 -0
  576. package/assets/builtin-legacy/mobheads/models/item/pufferfish.json +113 -0
  577. package/assets/builtin-legacy/mobheads/models/item/rabbit.json +59 -0
  578. package/assets/builtin-legacy/mobheads/models/item/ravager.json +75 -0
  579. package/assets/builtin-legacy/mobheads/models/item/salmon.json +80 -0
  580. package/assets/builtin-legacy/mobheads/models/item/sheep.json +34 -0
  581. package/assets/builtin-legacy/mobheads/models/item/shulker.json +109 -0
  582. package/assets/builtin-legacy/mobheads/models/item/silverfish.json +148 -0
  583. package/assets/builtin-legacy/mobheads/models/item/skeleton.json +6 -0
  584. package/assets/builtin-legacy/mobheads/models/item/skeleton_horse.json +6 -0
  585. package/assets/builtin-legacy/mobheads/models/item/slime.json +69 -0
  586. package/assets/builtin-legacy/mobheads/models/item/sniffer.json +85 -0
  587. package/assets/builtin-legacy/mobheads/models/item/snow_golem.json +24 -0
  588. package/assets/builtin-legacy/mobheads/models/item/spider.json +6 -0
  589. package/assets/builtin-legacy/mobheads/models/item/squid.json +6 -0
  590. package/assets/builtin-legacy/mobheads/models/item/stray.json +35 -0
  591. package/assets/builtin-legacy/mobheads/models/item/strider.json +101 -0
  592. package/assets/builtin-legacy/mobheads/models/item/tadpole.json +31 -0
  593. package/assets/builtin-legacy/mobheads/models/item/trader_llama.json +7 -0
  594. package/assets/builtin-legacy/mobheads/models/item/tropical_fish.json +141 -0
  595. package/assets/builtin-legacy/mobheads/models/item/turtle.json +23 -0
  596. package/assets/builtin-legacy/mobheads/models/item/vex.json +23 -0
  597. package/assets/builtin-legacy/mobheads/models/item/villager.json +6 -0
  598. package/assets/builtin-legacy/mobheads/models/item/vindicator.json +6 -0
  599. package/assets/builtin-legacy/mobheads/models/item/wandering_trader.json +6 -0
  600. package/assets/builtin-legacy/mobheads/models/item/warden.json +92 -0
  601. package/assets/builtin-legacy/mobheads/models/item/witch.json +110 -0
  602. package/assets/builtin-legacy/mobheads/models/item/wither.json +22 -0
  603. package/assets/builtin-legacy/mobheads/models/item/wither_skeleton.json +6 -0
  604. package/assets/builtin-legacy/mobheads/models/item/wolf.json +59 -0
  605. package/assets/builtin-legacy/mobheads/models/item/zoglin.json +6 -0
  606. package/assets/builtin-legacy/mobheads/models/item/zombie.json +6 -0
  607. package/assets/builtin-legacy/mobheads/models/item/zombie_horse.json +6 -0
  608. package/assets/builtin-legacy/mobheads/models/item/zombie_villager.json +6 -0
  609. package/assets/builtin-legacy/mobheads/models/item/zombified_piglin.json +6 -0
  610. package/assets/builtin-legacy/renderchest/atlases/items.json +9 -0
  611. package/assets/builtin-legacy/renderchest/models/item/banner.json +53 -0
  612. package/assets/builtin-legacy/renderchest/models/item/bed.json +72 -0
  613. package/assets/builtin-legacy/renderchest/models/item/chest.json +49 -0
  614. package/assets/builtin-legacy/renderchest/models/item/conduit.json +24 -0
  615. package/assets/builtin-legacy/renderchest/models/item/decorated_pot.json +69 -0
  616. package/assets/builtin-legacy/renderchest/models/item/decorated_pot_base.json +34 -0
  617. package/assets/builtin-legacy/renderchest/models/item/decorated_pot_overlay.json +14 -0
  618. package/assets/builtin-legacy/renderchest/models/item/empty.json +6 -0
  619. package/assets/builtin-legacy/renderchest/models/item/shield.json +38 -0
  620. package/assets/builtin-legacy/renderchest/models/item/shulker_box.json +103 -0
  621. package/assets/builtin-legacy/renderchest/models/item/unknown.json +6 -0
  622. package/assets/builtin-legacy/renderchest/textures/item/empty.png +0 -0
  623. package/assets/builtin-legacy/renderchest/textures/item/unknown.png +0 -0
  624. package/dist/atlas/registry.d.ts +8 -0
  625. package/dist/atlas/registry.js +2 -0
  626. package/dist/atlas/sources.d.ts +2 -0
  627. package/dist/atlas/sources.js +2 -0
  628. package/dist/blend-CHP2-j9U.js +90 -0
  629. package/dist/blend-Qvrn6YgK.d.ts +36 -0
  630. package/dist/builtin-C8GZEN40.js +16 -0
  631. package/dist/builtin.d.ts +5 -0
  632. package/dist/builtin.js +2 -0
  633. package/dist/cli.d.ts +1 -0
  634. package/dist/cli.js +174 -0
  635. package/dist/compose-cph4bfdr.js +27 -0
  636. package/dist/definition-3MBm8ar_.js +117 -0
  637. package/dist/definition-BwX6Xxv0.d.ts +34 -0
  638. package/dist/discovery-BzaOti7l.js +91 -0
  639. package/dist/discovery-CmNYzKPr.d.ts +18 -0
  640. package/dist/download-D9aARBFp.js +34 -0
  641. package/dist/dynamic/generators.d.ts +2 -0
  642. package/dist/dynamic/generators.js +2 -0
  643. package/dist/encode-BDB_VIHN.d.ts +31 -0
  644. package/dist/encode-BdTHbOp-.js +86 -0
  645. package/dist/entity-fallback-CodtI6v8.js +265 -0
  646. package/dist/face-DC6cNMdz.d.ts +24 -0
  647. package/dist/face-Wfia-_Yx.js +92 -0
  648. package/dist/fluid-bucket-D-GpUQjg.js +88 -0
  649. package/dist/generators-CCB8h0mP.d.ts +23 -0
  650. package/dist/generators-CcVRG30y.js +145 -0
  651. package/dist/geo-B5VqGulc.js +333 -0
  652. package/dist/geometry-BSVmKx5b.d.ts +28 -0
  653. package/dist/geometry-uIDha8S4.js +229 -0
  654. package/dist/index.d.ts +20 -0
  655. package/dist/index.js +20 -0
  656. package/dist/item-styles-DJ3LWZS2.js +174 -0
  657. package/dist/items/definition.d.ts +2 -0
  658. package/dist/items/definition.js +2 -0
  659. package/dist/items/discovery.d.ts +2 -0
  660. package/dist/items/discovery.js +2 -0
  661. package/dist/jar-6T3xdgaL.d.ts +21 -0
  662. package/dist/jar-Bt3i0ls4.js +119 -0
  663. package/dist/legacy-reshape-CewShfF3.js +203 -0
  664. package/dist/legacy-tints-B09J0Rxh.js +169 -0
  665. package/dist/lighting--5myudVu.js +83 -0
  666. package/dist/lighting-3FGRC3Af.d.ts +42 -0
  667. package/dist/loader-C-eqwp3M.js +359 -0
  668. package/dist/loader-CBzn3Koc.js +228 -0
  669. package/dist/loader-TFFNV4Jl.d.ts +88 -0
  670. package/dist/loader-lCkMRDH4.d.ts +69 -0
  671. package/dist/locator-jDbdUeTd.d.ts +24 -0
  672. package/dist/locator-ycZzh_6z.js +54 -0
  673. package/dist/manager-CoZaeQTu.d.ts +88 -0
  674. package/dist/manager-dfI7b9N4.js +150 -0
  675. package/dist/minify-CIV6enbr.d.ts +11 -0
  676. package/dist/minify-bjMRmr5J.js +31 -0
  677. package/dist/models/loader.d.ts +2 -0
  678. package/dist/models/loader.js +2 -0
  679. package/dist/models/types.d.ts +2 -0
  680. package/dist/models/types.js +11 -0
  681. package/dist/mods/prepare.d.ts +2 -0
  682. package/dist/mods/prepare.js +2 -0
  683. package/dist/mods/synthesize.d.ts +10 -0
  684. package/dist/mods/synthesize.js +2 -0
  685. package/dist/output/encode.d.ts +2 -0
  686. package/dist/output/encode.js +2 -0
  687. package/dist/output/item-styles.d.ts +10 -0
  688. package/dist/output/item-styles.js +2 -0
  689. package/dist/output/minify.d.ts +2 -0
  690. package/dist/output/minify.js +2 -0
  691. package/dist/output/stylesheet.d.ts +2 -0
  692. package/dist/output/stylesheet.js +2 -0
  693. package/dist/prepare-Bvc5ve2m.js +68 -0
  694. package/dist/prepare-DROxBZp1.js +112 -0
  695. package/dist/prepare-DnnGGv9k.d.ts +25 -0
  696. package/dist/prepare-wfWtaz_X.d.ts +45 -0
  697. package/dist/rasterizer-ABgsWTYN.js +139 -0
  698. package/dist/rasterizer-CVOlRsuw.d.ts +41 -0
  699. package/dist/registry-C9E7jyzG.js +28 -0
  700. package/dist/render/blend.d.ts +2 -0
  701. package/dist/render/blend.js +2 -0
  702. package/dist/render/compose.d.ts +6 -0
  703. package/dist/render/compose.js +2 -0
  704. package/dist/render/entity-fallback.d.ts +30 -0
  705. package/dist/render/entity-fallback.js +2 -0
  706. package/dist/render/face.d.ts +2 -0
  707. package/dist/render/face.js +2 -0
  708. package/dist/render/fluid-bucket.d.ts +14 -0
  709. package/dist/render/fluid-bucket.js +2 -0
  710. package/dist/render/geo.d.ts +54 -0
  711. package/dist/render/geo.js +2 -0
  712. package/dist/render/geometry.d.ts +2 -0
  713. package/dist/render/geometry.js +2 -0
  714. package/dist/render/legacy-tints.d.ts +12 -0
  715. package/dist/render/legacy-tints.js +2 -0
  716. package/dist/render/lighting.d.ts +2 -0
  717. package/dist/render/lighting.js +2 -0
  718. package/dist/render/obj.d.ts +24 -0
  719. package/dist/render/obj.js +2 -0
  720. package/dist/render/rasterizer.d.ts +2 -0
  721. package/dist/render/rasterizer.js +2 -0
  722. package/dist/render/renderer.d.ts +2 -0
  723. package/dist/render/renderer.js +2 -0
  724. package/dist/render/tints.d.ts +2 -0
  725. package/dist/render/tints.js +2 -0
  726. package/dist/render/vector.d.ts +2 -0
  727. package/dist/render/vector.js +2 -0
  728. package/dist/renderer-CmOz6WI9.js +507 -0
  729. package/dist/renderer-DQfv6axF.d.ts +44 -0
  730. package/dist/resources/jar.d.ts +2 -0
  731. package/dist/resources/jar.js +2 -0
  732. package/dist/resources/locator.d.ts +2 -0
  733. package/dist/resources/locator.js +2 -0
  734. package/dist/resources/manager.d.ts +2 -0
  735. package/dist/resources/manager.js +2 -0
  736. package/dist/resources/synthetic.d.ts +2 -0
  737. package/dist/resources/synthetic.js +2 -0
  738. package/dist/run-CEaRhk4A.js +298 -0
  739. package/dist/run-D2XL05Zl.d.ts +54 -0
  740. package/dist/run.d.ts +3 -0
  741. package/dist/run.js +3 -0
  742. package/dist/sources-Bxk-WOzH.js +202 -0
  743. package/dist/sources-DH9dk3KF.d.ts +104 -0
  744. package/dist/stylesheet-CovT3B2S.js +71 -0
  745. package/dist/stylesheet-i-t_7sZ7.d.ts +53 -0
  746. package/dist/synthesize-CRgSEmEp.js +128 -0
  747. package/dist/synthetic-CDsj--li.d.ts +34 -0
  748. package/dist/synthetic-DC2bSnGe.js +0 -0
  749. package/dist/textures/loader.d.ts +2 -0
  750. package/dist/textures/loader.js +2 -0
  751. package/dist/tints-FQlxTzUL.js +108 -0
  752. package/dist/tints-Fr6WoPaU.d.ts +22 -0
  753. package/dist/types-COGbtA1t.d.ts +69 -0
  754. package/dist/vector-CCxLae_T.js +190 -0
  755. package/dist/vector-DRKRi4--.d.ts +43 -0
  756. package/dist/versions/download.d.ts +9 -0
  757. package/dist/versions/download.js +2 -0
  758. package/dist/versions/legacy-reshape.d.ts +9 -0
  759. package/dist/versions/legacy-reshape.js +2 -0
  760. package/dist/versions/prepare.d.ts +2 -0
  761. package/dist/versions/prepare.js +2 -0
  762. package/dist/workers/pool.d.ts +23 -0
  763. package/dist/workers/pool.js +67 -0
  764. package/package.json +71 -22
@@ -0,0 +1,88 @@
1
+ import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
2
+ //#region src/render/fluid-bucket.ts
3
+ /**
4
+ * Paint bucket contents for fluid_container loader models. Forge draws these
5
+ * with a fluid sprite behind a mask texture we don't ship, but vanilla always
6
+ * has both `bucket` and `water_bucket` sprites — their pixel diff IS the fill
7
+ * region, and the fluid's average color (from its conventional still texture)
8
+ * shaded by the water sprite's own shading paints it convincingly.
9
+ */
10
+ /** Conventional homes for a fluid's still texture, most common first. */
11
+ const STILL_TEXTURE_PATTERNS = [
12
+ (name) => `block/fluid/${name}_still`,
13
+ (name) => `block/${name}_still`,
14
+ (name) => `fluid/${name}_still`,
15
+ (name) => `block/fluid/${name}`,
16
+ (name) => `blocks/fluids/${name}_still`,
17
+ (name) => `blocks/${name}_still`
18
+ ];
19
+ /** The particle texture declared by the fluid's block model, if any. */
20
+ async function particleTexture(fluid, textures, resources) {
21
+ const raw = await resources.getResource("model", new ResourceLocator(fluid.namespace, `block/${fluid.path}`));
22
+ if (!raw) return null;
23
+ try {
24
+ const particle = JSON.parse(raw.toString("utf8")).textures?.particle;
25
+ const locator = typeof particle === "string" && !particle.startsWith("#") ? ResourceLocator.tryParse(particle) : null;
26
+ return locator ? await textures.load(locator) : null;
27
+ } catch {
28
+ return null;
29
+ }
30
+ }
31
+ /** Average color of a texture's opaque pixels, or null if fully transparent. */
32
+ function averageColor(texture) {
33
+ let red = 0;
34
+ let green = 0;
35
+ let blue = 0;
36
+ let count = 0;
37
+ for (let offset = 0; offset < texture.data.length; offset += 4) {
38
+ if (texture.data[offset + 3] <= 128) continue;
39
+ red += texture.data[offset];
40
+ green += texture.data[offset + 1];
41
+ blue += texture.data[offset + 2];
42
+ count++;
43
+ }
44
+ return count === 0 ? null : [
45
+ red / count,
46
+ green / count,
47
+ blue / count
48
+ ];
49
+ }
50
+ /**
51
+ * Paint the fluid into a bucket sprite IN PLACE (pass a copy, never a cached
52
+ * texture) at native sprite resolution. The unpainted sprite doubles as the
53
+ * empty-bucket reference: fill pixels are where water_bucket is opaque and the
54
+ * bucket is not, and each pixel's condition reads state that painting never
55
+ * touches. Returns false when the fluid can't be resolved — the plain bucket
56
+ * stays, which is the old behavior.
57
+ */
58
+ async function paintBucketFluid(bucket, fluid, textures, resources) {
59
+ const fluidLocator = ResourceLocator.tryParse(fluid);
60
+ if (!fluidLocator) return false;
61
+ let still = null;
62
+ for (const pattern of STILL_TEXTURE_PATTERNS) {
63
+ still = await textures.load(new ResourceLocator(fluidLocator.namespace, pattern(fluidLocator.path)));
64
+ if (still) break;
65
+ }
66
+ still ??= resources ? await particleTexture(fluidLocator, textures, resources) : null;
67
+ const color = still ? averageColor(still) : null;
68
+ if (!color) return false;
69
+ const water = await textures.load(ResourceLocator.parse("minecraft:item/water_bucket"));
70
+ if (!water || water.width !== bucket.width || water.height !== bucket.height) return false;
71
+ const luminance = (offset) => .299 * water.data[offset] + .587 * water.data[offset + 1] + .114 * water.data[offset + 2];
72
+ const isFill = (offset) => water.data[offset + 3] > 128 && (bucket.data[offset + 3] <= 128 || Math.abs(water.data[offset] - bucket.data[offset]) + Math.abs(water.data[offset + 1] - bucket.data[offset + 1]) + Math.abs(water.data[offset + 2] - bucket.data[offset + 2]) > 60);
73
+ let peakLuma = 1;
74
+ for (let offset = 0; offset < water.data.length; offset += 4) if (isFill(offset)) peakLuma = Math.max(peakLuma, luminance(offset));
75
+ let painted = false;
76
+ for (let offset = 0; offset < water.data.length; offset += 4) {
77
+ if (!isFill(offset)) continue;
78
+ const shade = luminance(offset) / peakLuma;
79
+ bucket.data[offset] = Math.min(255, color[0] * shade);
80
+ bucket.data[offset + 1] = Math.min(255, color[1] * shade);
81
+ bucket.data[offset + 2] = Math.min(255, color[2] * shade);
82
+ bucket.data[offset + 3] = 255;
83
+ painted = true;
84
+ }
85
+ return painted;
86
+ }
87
+ //#endregion
88
+ export { paintBucketFluid as t };
@@ -0,0 +1,23 @@
1
+ import { n as MapResourceManager } from "./synthetic-CDsj--li.js";
2
+ //#region src/dynamic/generators.d.ts
3
+ declare const TRIM_MATERIALS: readonly ["quartz", "iron", "gold", "diamond", "netherite", "redstone", "copper", "emerald", "lapis", "amethyst", "resin"];
4
+ /** Materials with a darker variant used when the trim matches the armor metal. */
5
+ declare const TRIM_DARKER_MATERIALS: Set<string>;
6
+ declare const ARMOR_ITEM_TYPES: readonly ["boots", "leggings", "chestplate", "helmet"];
7
+ declare const POTTERY_SHERDS: readonly ["brick", "angler", "archer", "arms_up", "blade", "brewer", "burn", "danger", "explorer", "friend", "heart", "heartbreak", "howl", "miner", "mourner", "plenty", "prize", "sheaf", "shelter", "skull", "snort", "flow", "guster", "scrape"];
8
+ interface DynamicItem {
9
+ /** Item id including the synthetic namespace, e.g. `_armor_trims:helmet_trim_gold`. */
10
+ id: string;
11
+ }
12
+ interface DynamicResources {
13
+ layer: MapResourceManager;
14
+ items: DynamicItem[];
15
+ }
16
+ /**
17
+ * Materials whose trim sprites exist for the target version are discovered by
18
+ * the caller (via the atlas resolver); this generates the full matrix and lets
19
+ * missing sprites fail per item.
20
+ */
21
+ declare function builtinDynamicResources(): DynamicResources;
22
+ //#endregion
23
+ export { TRIM_DARKER_MATERIALS as a, POTTERY_SHERDS as i, DynamicItem as n, TRIM_MATERIALS as o, DynamicResources as r, builtinDynamicResources as s, ARMOR_ITEM_TYPES as t };
@@ -0,0 +1,145 @@
1
+ import { n as MapResourceManager } from "./synthetic-DC2bSnGe.js";
2
+ //#region src/dynamic/generators.ts
3
+ /**
4
+ * Dynamic resources ported from renderchest's DynamicResourceGenerators, built
5
+ * as plain model/item layers instead of code-backed namespaces: decorated pot
6
+ * variants, leather armor trim layers, armor trim sprites (resolved by the
7
+ * paletted_permutations atlas), and charged crossbows. The synthetic namespace
8
+ * names (underscore prefix) match upstream so the CSS contract stays stable.
9
+ */
10
+ const TRIM_MATERIALS = [
11
+ "quartz",
12
+ "iron",
13
+ "gold",
14
+ "diamond",
15
+ "netherite",
16
+ "redstone",
17
+ "copper",
18
+ "emerald",
19
+ "lapis",
20
+ "amethyst",
21
+ "resin"
22
+ ];
23
+ /** Materials with a darker variant used when the trim matches the armor metal. */
24
+ const TRIM_DARKER_MATERIALS = /* @__PURE__ */ new Set([
25
+ "iron",
26
+ "gold",
27
+ "diamond",
28
+ "netherite"
29
+ ]);
30
+ const ARMOR_ITEM_TYPES = [
31
+ "boots",
32
+ "leggings",
33
+ "chestplate",
34
+ "helmet"
35
+ ];
36
+ const POTTERY_SHERDS = [
37
+ "brick",
38
+ "angler",
39
+ "archer",
40
+ "arms_up",
41
+ "blade",
42
+ "brewer",
43
+ "burn",
44
+ "danger",
45
+ "explorer",
46
+ "friend",
47
+ "heart",
48
+ "heartbreak",
49
+ "howl",
50
+ "miner",
51
+ "mourner",
52
+ "plenty",
53
+ "prize",
54
+ "sheaf",
55
+ "shelter",
56
+ "skull",
57
+ "snort",
58
+ "flow",
59
+ "guster",
60
+ "scrape"
61
+ ];
62
+ function sherdTextureName(sherd) {
63
+ return sherd === "brick" ? "brick" : `${sherd}_pottery_sherd`;
64
+ }
65
+ /**
66
+ * Materials whose trim sprites exist for the target version are discovered by
67
+ * the caller (via the atlas resolver); this generates the full matrix and lets
68
+ * missing sprites fail per item.
69
+ */
70
+ function builtinDynamicResources() {
71
+ const layer = new MapResourceManager();
72
+ const items = [];
73
+ for (const type of ARMOR_ITEM_TYPES) for (const material of TRIM_MATERIALS) {
74
+ const variants = TRIM_DARKER_MATERIALS.has(material) ? [material, `${material}_darker`] : [material];
75
+ for (const variant of variants) {
76
+ const name = `${type}_trim_${variant}`;
77
+ layer.set("model", `_armor_trims:item/${name}`, JSON.stringify({
78
+ parent: "minecraft:item/generated",
79
+ textures: { layer0: `minecraft:trims/items/${type}_trim_${variant}` }
80
+ }));
81
+ layer.set("itemDefinition", `_armor_trims:${name}`, JSON.stringify({ model: {
82
+ type: "minecraft:model",
83
+ model: `_armor_trims:item/${name}`
84
+ } }));
85
+ items.push({ id: `_armor_trims:${name}` });
86
+ }
87
+ }
88
+ for (const type of ARMOR_ITEM_TYPES) {
89
+ const entries = [[`leather_${type}_base`, { layer0: `minecraft:item/leather_${type}` }], [`leather_${type}_overlay`, { layer0: `minecraft:item/leather_${type}_overlay` }]];
90
+ for (const material of TRIM_MATERIALS) entries.push([`leather_${type}_${material}_trim`, {
91
+ layer0: `minecraft:item/leather_${type}_overlay`,
92
+ layer1: `minecraft:trims/items/${type}_trim_${material}`
93
+ }]);
94
+ for (const [name, textures] of entries) {
95
+ layer.set("model", `_leather_armor:item/${name}`, JSON.stringify({
96
+ parent: "minecraft:item/generated",
97
+ textures
98
+ }));
99
+ layer.set("itemDefinition", `_leather_armor:${name}`, JSON.stringify({ model: {
100
+ type: "minecraft:model",
101
+ model: `_leather_armor:item/${name}`
102
+ } }));
103
+ items.push({ id: `_leather_armor:${name}` });
104
+ }
105
+ }
106
+ for (const sherd of POTTERY_SHERDS) {
107
+ const texture = sherdTextureName(sherd);
108
+ layer.set("model", `_decorated_pot:pot_b_${sherd}`, JSON.stringify({
109
+ parent: "renderchest:item/decorated_pot",
110
+ textures: {
111
+ north: "#brick",
112
+ south: "#brick",
113
+ east: "#brick",
114
+ west: `#${texture}`
115
+ }
116
+ }));
117
+ layer.set("itemDefinition", `_decorated_pot:pot_b_${sherd}`, JSON.stringify({ model: {
118
+ type: "minecraft:model",
119
+ model: `_decorated_pot:pot_b_${sherd}`
120
+ } }));
121
+ items.push({ id: `_decorated_pot:pot_b_${sherd}` });
122
+ layer.set("model", `_decorated_pot:pot_o_${sherd}`, JSON.stringify({
123
+ parent: "renderchest:item/decorated_pot_overlay",
124
+ textures: { south: `#${texture}` }
125
+ }));
126
+ layer.set("itemDefinition", `_decorated_pot:pot_o_${sherd}`, JSON.stringify({ model: {
127
+ type: "minecraft:model",
128
+ model: `_decorated_pot:pot_o_${sherd}`
129
+ } }));
130
+ items.push({ id: `_decorated_pot:pot_o_${sherd}` });
131
+ }
132
+ for (const [name, model] of [["arrow", "minecraft:item/crossbow_arrow"], ["rocket", "minecraft:item/crossbow_firework"]]) {
133
+ layer.set("itemDefinition", `_crossbow:${name}`, JSON.stringify({ model: {
134
+ type: "minecraft:model",
135
+ model
136
+ } }));
137
+ items.push({ id: `_crossbow:${name}` });
138
+ }
139
+ return {
140
+ layer,
141
+ items
142
+ };
143
+ }
144
+ //#endregion
145
+ export { builtinDynamicResources as a, TRIM_MATERIALS as i, POTTERY_SHERDS as n, TRIM_DARKER_MATERIALS as r, ARMOR_ITEM_TYPES as t };
@@ -0,0 +1,333 @@
1
+ import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
2
+ import { n as displayMatrix } from "./vector-CCxLae_T.js";
3
+ import { s as toFloatTexture } from "./blend-CHP2-j9U.js";
4
+ import { t as combineFaceBuffers } from "./compose-cph4bfdr.js";
5
+ import { n as renderFace, t as faceMaxZ } from "./face-Wfia-_Yx.js";
6
+ import { c as lightsForProfile } from "./lighting--5myudVu.js";
7
+ //#region src/render/geo.ts
8
+ /**
9
+ * Bedrock-format geometry (`.geo.json`) rendering, best-effort. GeckoLib mods
10
+ * ship their item/entity geometry in this format and register the renderer in
11
+ * Java code — the old pipeline extracted these files and never read them, so
12
+ * every GeckoLib item was a guaranteed miss. Cubes + bone hierarchy convert
13
+ * into the same face geometry the JSON-element pipeline rasterizes; the model
14
+ * is auto-fitted into the unit cube and given the standard block gui pose.
15
+ */
16
+ /** Handles both the modern (1.12+) and legacy (`geometry.name` keyed) layouts. */
17
+ function parseGeo(json) {
18
+ const modern = json["minecraft:geometry"]?.[0];
19
+ if (modern?.bones) return {
20
+ textureWidth: modern.description?.texture_width ?? 64,
21
+ textureHeight: modern.description?.texture_height ?? 64,
22
+ bones: modern.bones
23
+ };
24
+ for (const [key, value] of Object.entries(json)) {
25
+ if (!(key.startsWith("geometry.") && value && typeof value === "object")) continue;
26
+ const legacy = value;
27
+ if (legacy.bones) return {
28
+ textureWidth: legacy.texturewidth ?? 64,
29
+ textureHeight: legacy.textureheight ?? 64,
30
+ bones: legacy.bones
31
+ };
32
+ }
33
+ return null;
34
+ }
35
+ function rotatePoint(point, pivot, rotation) {
36
+ const toRadians = Math.PI / 180;
37
+ let [x, y, z] = [
38
+ point[0] - pivot[0],
39
+ point[1] - pivot[1],
40
+ point[2] - pivot[2]
41
+ ];
42
+ const [rx, ry, rz] = [
43
+ -rotation[0] * toRadians,
44
+ -rotation[1] * toRadians,
45
+ rotation[2] * toRadians
46
+ ];
47
+ [x, y] = [x * Math.cos(rz) - y * Math.sin(rz), x * Math.sin(rz) + y * Math.cos(rz)];
48
+ [x, z] = [x * Math.cos(ry) + z * Math.sin(ry), -x * Math.sin(ry) + z * Math.cos(ry)];
49
+ [y, z] = [y * Math.cos(rx) - z * Math.sin(rx), y * Math.sin(rx) + z * Math.cos(rx)];
50
+ return [
51
+ x + pivot[0],
52
+ y + pivot[1],
53
+ z + pivot[2]
54
+ ];
55
+ }
56
+ /** Standard Minecraft box unwrap for `uv: [u, v]` cubes. */
57
+ function boxFaces(origin, size, u, v) {
58
+ const [ox, oy, oz] = origin;
59
+ const [sx, sy, sz] = size;
60
+ const x1 = ox + sx;
61
+ const y1 = oy + sy;
62
+ const z1 = oz + sz;
63
+ const corner = (x, y, z) => [
64
+ x,
65
+ y,
66
+ z
67
+ ];
68
+ return [
69
+ {
70
+ direction: "up",
71
+ corners: [
72
+ corner(ox, y1, oz),
73
+ corner(x1, y1, oz),
74
+ corner(x1, y1, z1),
75
+ corner(ox, y1, z1)
76
+ ],
77
+ uv: [
78
+ u + sz,
79
+ v,
80
+ u + sz + sx,
81
+ v + sz
82
+ ]
83
+ },
84
+ {
85
+ direction: "down",
86
+ corners: [
87
+ corner(ox, oy, z1),
88
+ corner(x1, oy, z1),
89
+ corner(x1, oy, oz),
90
+ corner(ox, oy, oz)
91
+ ],
92
+ uv: [
93
+ u + sz + sx,
94
+ v,
95
+ u + sz + sx + sx,
96
+ v + sz
97
+ ]
98
+ },
99
+ {
100
+ direction: "north",
101
+ corners: [
102
+ corner(x1, y1, oz),
103
+ corner(ox, y1, oz),
104
+ corner(ox, oy, oz),
105
+ corner(x1, oy, oz)
106
+ ],
107
+ uv: [
108
+ u + sz,
109
+ v + sz,
110
+ u + sz + sx,
111
+ v + sz + sy
112
+ ]
113
+ },
114
+ {
115
+ direction: "south",
116
+ corners: [
117
+ corner(ox, y1, z1),
118
+ corner(x1, y1, z1),
119
+ corner(x1, oy, z1),
120
+ corner(ox, oy, z1)
121
+ ],
122
+ uv: [
123
+ u + sz + sx + sz,
124
+ v + sz,
125
+ u + sz + sx + sz + sx,
126
+ v + sz + sy
127
+ ]
128
+ },
129
+ {
130
+ direction: "east",
131
+ corners: [
132
+ corner(x1, y1, z1),
133
+ corner(x1, y1, oz),
134
+ corner(x1, oy, oz),
135
+ corner(x1, oy, z1)
136
+ ],
137
+ uv: [
138
+ u,
139
+ v + sz,
140
+ u + sz,
141
+ v + sz + sy
142
+ ]
143
+ },
144
+ {
145
+ direction: "west",
146
+ corners: [
147
+ corner(ox, y1, oz),
148
+ corner(ox, y1, z1),
149
+ corner(ox, oy, z1),
150
+ corner(ox, oy, oz)
151
+ ],
152
+ uv: [
153
+ u + sz + sx,
154
+ v + sz,
155
+ u + sz + sx + sz,
156
+ v + sz + sy
157
+ ]
158
+ }
159
+ ];
160
+ }
161
+ /** Convert a parsed geo into face geometry, unit-cube fitted with gui pose. */
162
+ function geoToFaces(geo) {
163
+ const bonesByName = /* @__PURE__ */ new Map();
164
+ for (const bone of geo.bones) if (bone.name) bonesByName.set(bone.name, bone);
165
+ const boneChain = (bone) => {
166
+ const chain = [];
167
+ let current = bone;
168
+ while (current) {
169
+ chain.push(current);
170
+ current = current.parent ? bonesByName.get(current.parent) : void 0;
171
+ if (chain.length > 32) break;
172
+ }
173
+ return chain;
174
+ };
175
+ const faces = [];
176
+ const min = [
177
+ Infinity,
178
+ Infinity,
179
+ Infinity
180
+ ];
181
+ const max = [
182
+ -Infinity,
183
+ -Infinity,
184
+ -Infinity
185
+ ];
186
+ for (const bone of geo.bones) {
187
+ const chain = boneChain(bone);
188
+ for (const cube of bone.cubes ?? []) {
189
+ if (!cube.origin || !cube.size) continue;
190
+ const inflate = cube.inflate ?? 0;
191
+ const origin = [
192
+ cube.origin[0] - inflate,
193
+ cube.origin[1] - inflate,
194
+ cube.origin[2] - inflate
195
+ ];
196
+ const size = [
197
+ cube.size[0] + inflate * 2,
198
+ cube.size[1] + inflate * 2,
199
+ cube.size[2] + inflate * 2
200
+ ];
201
+ const uvBase = Array.isArray(cube.uv) ? cube.uv : null;
202
+ const perFace = !Array.isArray(cube.uv) && cube.uv ? cube.uv : null;
203
+ for (const spec of boxFaces(origin, size, uvBase?.[0] ?? 0, uvBase?.[1] ?? 0)) {
204
+ let uvRect = spec.uv;
205
+ if (perFace) {
206
+ const entry = perFace[spec.direction];
207
+ if (!entry) continue;
208
+ const uvSize = entry.uv_size ?? [size[0], size[1]];
209
+ uvRect = [
210
+ entry.uv[0],
211
+ entry.uv[1],
212
+ entry.uv[0] + uvSize[0],
213
+ entry.uv[1] + uvSize[1]
214
+ ];
215
+ }
216
+ let corners = spec.corners.map((point) => [...point]);
217
+ if (cube.rotation && cube.pivot) corners = corners.map((point) => rotatePoint(point, cube.pivot, cube.rotation));
218
+ for (const link of chain) if (link.rotation && link.pivot) corners = corners.map((point) => rotatePoint(point, link.pivot, link.rotation));
219
+ corners = corners.map((point) => [
220
+ -point[0],
221
+ point[1],
222
+ point[2]
223
+ ]);
224
+ for (const point of corners) for (let axis = 0; axis < 3; axis++) {
225
+ min[axis] = Math.min(min[axis], point[axis]);
226
+ max[axis] = Math.max(max[axis], point[axis]);
227
+ }
228
+ faces.push({
229
+ direction: spec.direction,
230
+ vertices: corners,
231
+ uv1: [uvRect[0] / geo.textureWidth, uvRect[1] / geo.textureHeight],
232
+ uv2: [uvRect[2] / geo.textureWidth, uvRect[3] / geo.textureHeight],
233
+ textureRef: "#geo",
234
+ rotation: 0,
235
+ tintIndex: null,
236
+ shadeDirectionOverride: null
237
+ });
238
+ }
239
+ }
240
+ }
241
+ const extent = Math.max(max[0] - min[0], max[1] - min[1], max[2] - min[2]);
242
+ if (!Number.isFinite(extent) || extent <= 0) return [];
243
+ const scale = 1 / extent;
244
+ const center = [
245
+ (min[0] + max[0]) / 2,
246
+ (min[1] + max[1]) / 2,
247
+ (min[2] + max[2]) / 2
248
+ ];
249
+ for (const face of faces) for (const vertex of face.vertices) for (let axis = 0; axis < 3; axis++) vertex[axis] = (vertex[axis] - center[axis]) * scale + .5;
250
+ return faces;
251
+ }
252
+ /** Conventional locations GeckoLib mods keep item geometry and textures. */
253
+ async function findGeoForItem(resources, id) {
254
+ const locator = ResourceLocator.parse(id);
255
+ const geoPaths = [
256
+ `geo/${locator.path}.geo.json`,
257
+ `geo/item/${locator.path}.geo.json`,
258
+ `geckolib/geo/${locator.path}.geo.json`,
259
+ `models/geo/${locator.path}.geo.json`
260
+ ];
261
+ if (!(await Promise.all(geoPaths.map((path) => resources.hasResource("raw", new ResourceLocator(locator.namespace, path))))).includes(true)) {
262
+ const name = locator.path.split("/").pop();
263
+ const matches = (await resources.listResources("raw", locator.namespace)).map((candidate) => candidate.path).filter((path) => path.endsWith(`/${name}.geo.json`) && /(?:^|\/)(?:geo|geckolib)\//.test(path)).toSorted((a, b) => a.length - b.length);
264
+ geoPaths.push(...matches);
265
+ }
266
+ for (const geoPath of geoPaths) {
267
+ const raw = await resources.getResource("raw", new ResourceLocator(locator.namespace, geoPath));
268
+ if (!raw) continue;
269
+ let geo;
270
+ try {
271
+ geo = parseGeo(JSON.parse(raw.toString("utf8")));
272
+ } catch {
273
+ continue;
274
+ }
275
+ if (!geo) continue;
276
+ const mirrored = geoPath.replace(/(^|\/)(geo|geckolib\/geo|models\/geo)\//, "$1").replace(/^\//, "").replace(/\.geo\.json$/, "");
277
+ for (const texturePath of [
278
+ mirrored,
279
+ `item/${locator.path}`,
280
+ `items/${locator.path}`,
281
+ `geo/${locator.path}`
282
+ ]) {
283
+ const texture = new ResourceLocator(locator.namespace, texturePath);
284
+ if (await resources.hasResource("texture", texture)) return {
285
+ geo,
286
+ texture
287
+ };
288
+ }
289
+ }
290
+ return null;
291
+ }
292
+ /** Render a parsed geo with the standard block gui pose. */
293
+ async function renderGeo(geo, texture, textures, options) {
294
+ const faces = geoToFaces(geo);
295
+ if (faces.length === 0) return null;
296
+ const loaded = await textures.load(texture);
297
+ if (!loaded) return null;
298
+ const float = toFloatTexture(loaded);
299
+ const lights = lightsForProfile(options.lightingProfile);
300
+ const renderSize = options.size * options.quality;
301
+ const transformation = displayMatrix([
302
+ 30,
303
+ 225,
304
+ 0
305
+ ], [
306
+ 0,
307
+ 0,
308
+ 0
309
+ ], [
310
+ .9,
311
+ .9,
312
+ .9
313
+ ]);
314
+ const renderable = faces.map((geometry) => {
315
+ return {
316
+ geometry,
317
+ texture: float,
318
+ light: lights.side,
319
+ tint: null,
320
+ maxZ: faceMaxZ(geometry)
321
+ };
322
+ });
323
+ renderable.sort((a, b) => a.maxZ - b.maxZ);
324
+ const buffers = [];
325
+ for (const face of renderable) {
326
+ const buffer = renderFace(face, renderSize, renderSize, transformation);
327
+ if (buffer) buffers.push(buffer);
328
+ }
329
+ if (buffers.length === 0) return null;
330
+ return combineFaceBuffers(renderSize, renderSize, buffers);
331
+ }
332
+ //#endregion
333
+ export { renderGeo as i, geoToFaces as n, parseGeo as r, findGeoForItem as t };
@@ -0,0 +1,28 @@
1
+ import { a as FaceDirectionName, o as ModelElementJson, r as ElementRotationJson } from "./types-COGbtA1t.js";
2
+ import { n as Vec3 } from "./vector-DRKRi4--.js";
3
+ //#region src/render/geometry.d.ts
4
+ interface FaceGeometry {
5
+ direction: FaceDirectionName;
6
+ /** Shared, possibly rotation-mutated corner vectors, in quad order v0..v3. */
7
+ vertices: [Vec3, Vec3, Vec3, Vec3];
8
+ /** Normalized UV rect corners (0–1). */
9
+ uv1: [number, number];
10
+ uv2: [number, number];
11
+ textureRef: string;
12
+ /** Degrees 0/90/180/270 — rotates the UV corner assignment. */
13
+ rotation: number;
14
+ tintIndex: number | null;
15
+ shadeDirectionOverride: Vec3 | null;
16
+ }
17
+ declare const FACE_NORMALS: Record<FaceDirectionName, Vec3>;
18
+ declare function buildElementFaces(element: ModelElementJson): FaceGeometry[];
19
+ /**
20
+ * Element rotation mutates the shared corner vectors in place, after face/UV
21
+ * construction. Supports the vanilla {origin, axis, angle} form and the newer
22
+ * per-axis {origin, x?, y?, z?} form (applied X, then Y, then Z). `rotation_rc`
23
+ * takes precedence when present (renderchest escape hatch). No angle restriction,
24
+ * no rescale — matching upstream.
25
+ */
26
+ declare function applyElementRotation(rotation: ElementRotationJson | undefined, corners: Vec3[]): void;
27
+ //#endregion
28
+ export { buildElementFaces as i, FaceGeometry as n, applyElementRotation as r, FACE_NORMALS as t };