@nodecraft/rendermite 0.0.1 → 1.0.1

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 +92 -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-3u49i-eD.js +108 -0
  644. package/dist/encode-C5kdAm45.d.ts +34 -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-BK7Q8WZ3.d.ts +54 -0
  739. package/dist/run-Dr6BfyN9.js +316 -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,71 @@
1
+ //#region src/output/stylesheet.ts
2
+ /** Class-name sanitization is a security/robustness boundary: ids come from mod jars. */
3
+ function itemClass(id, prefix = "rc-") {
4
+ return prefix + id.replaceAll(":", "_").replaceAll(/[^\w.-]/g, "_").replaceAll(".", String.raw`\.`);
5
+ }
6
+ function url(path, urlPrefix) {
7
+ return `url('${urlPrefix}${path}')`;
8
+ }
9
+ function generateStylesheet(items, options = {}) {
10
+ const prefix = options.prefix ?? "rc-";
11
+ const urlPrefix = options.urlPrefix ?? "";
12
+ const format = options.format ?? "webp";
13
+ const fallback = options.fallback ?? true;
14
+ const baseExtension = fallback ? "png" : format;
15
+ const blocks = [];
16
+ const upgrade = [];
17
+ const enchantedSelectors = [];
18
+ const itemSelector = `.${prefix}item`;
19
+ const unknown = "items/renderchest/unknown";
20
+ const empty = "items/renderchest/empty";
21
+ blocks.push(`@keyframes ${prefix}enchanted {\n from { background-position: -256px 1024px; }\n to { background-position: 256px -1024px; }\n}`, `${itemSelector} {\n position: relative;\n image-rendering: pixelated;\n background-image: ${url(`${unknown}.${baseExtension}`, urlPrefix)};\n mask-image: ${url(`${unknown}.${baseExtension}`, urlPrefix)};\n background-size: cover;\n background-color: var(--${prefix}layer-1-tint);\n background-blend-mode: multiply;\n mask-size: cover;\n}`, `${itemSelector}.${prefix}enchanted {\n mask-image: ${url(`${unknown}.${baseExtension}`, urlPrefix)};\n}`, `${itemSelector}:before {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n image-rendering: pixelated;\n background-image: ${url(`${empty}.${baseExtension}`, urlPrefix)};\n background-size: cover;\n background-color: var(--${prefix}layer-2-tint);\n background-blend-mode: multiply;\n mask-size: cover;\n}`);
22
+ upgrade.push(`${itemSelector} { background-image: ${url(`${unknown}.${format}`, urlPrefix)}; mask-image: ${url(`${unknown}.${format}`, urlPrefix)}; }`, `${itemSelector}:before { background-image: ${url(`${empty}.${format}`, urlPrefix)}; }`);
23
+ for (const item of items) {
24
+ const selector = `${itemSelector}.${itemClass(item.id, prefix)}`;
25
+ const image = (ext) => url(`${item.image}.${ext}`, urlPrefix);
26
+ const baseProps = [];
27
+ for (const [name, value] of Object.entries(item.variables ?? {})) baseProps.push(`${name}: ${value};`);
28
+ baseProps.push(`background-image: ${image(baseExtension)};`);
29
+ const mask = item.mask === void 0 ? null : item.mask;
30
+ if (item.alwaysEnchanted) {
31
+ enchantedSelectors.push(`${selector}:after`);
32
+ baseProps.push(`mask-image: ${image(baseExtension)};`);
33
+ } else if (mask === null) baseProps.push("mask-image: none;");
34
+ else baseProps.push(`mask-image: ${url(`${mask}.${baseExtension}`, urlPrefix)};`);
35
+ blocks.push(`${selector} {\n ${baseProps.join("\n ")}\n}`);
36
+ blocks.push(`${selector}.${prefix}enchanted {\n mask-image: ${image(baseExtension)};\n}`);
37
+ upgrade.push(`${selector} { background-image: ${image(format)}; ${mask !== null || item.alwaysEnchanted ? `mask-image: ${url(`${mask ?? item.image}.${format}`, urlPrefix)}; ` : ""}}`);
38
+ upgrade.push(`${selector}.${prefix}enchanted { mask-image: ${image(format)}; }`);
39
+ if (item.before) {
40
+ const beforeProps = [`background-image: ${url(`${item.before.image}.${baseExtension}`, urlPrefix)};`];
41
+ if (item.before.mask) beforeProps.push(`mask-image: ${url(`${item.before.mask}.${baseExtension}`, urlPrefix)};`);
42
+ blocks.push(`${selector}:before {\n ${beforeProps.join("\n ")}\n}`);
43
+ upgrade.push(`${selector}:before { background-image: ${url(`${item.before.image}.${format}`, urlPrefix)}; }`);
44
+ }
45
+ for (const variant of item.variants ?? []) {
46
+ if (variant.image) {
47
+ const variantSelector = `${selector}.${prefix}${variant.suffix}`;
48
+ const props = [`background-image: ${url(`${variant.image}.${baseExtension}`, urlPrefix)};`];
49
+ if (variant.mask) props.push(`mask-image: ${url(`${variant.mask}.${baseExtension}`, urlPrefix)};`);
50
+ blocks.push(`${variantSelector} {\n ${props.join("\n ")}\n}`);
51
+ blocks.push(`${variantSelector}.${prefix}enchanted {\n mask-image: ${url(`${variant.image}.${baseExtension}`, urlPrefix)};\n}`);
52
+ upgrade.push(`${variantSelector} { background-image: ${url(`${variant.image}.${format}`, urlPrefix)}; }`);
53
+ }
54
+ if (variant.before) {
55
+ const variantSelector = `${selector}.${prefix}${variant.suffix}:before`;
56
+ const props = [`background-image: ${url(`${variant.before.image}.${baseExtension}`, urlPrefix)};`];
57
+ if (variant.before.mask) props.push(`mask-image: ${url(`${variant.before.mask}.${baseExtension}`, urlPrefix)};`);
58
+ blocks.push(`${variantSelector} {\n ${props.join("\n ")}\n}`);
59
+ upgrade.push(`${variantSelector} { background-image: ${url(`${variant.before.image}.${format}`, urlPrefix)}; }`);
60
+ }
61
+ }
62
+ }
63
+ const glintSelectors = [...enchantedSelectors, `.${prefix}enchanted:after`];
64
+ const glint = `${glintSelectors.join(",\n")} {\n position: absolute;\n width: 200%;\n height: 200%;\n top: -50%;\n left: -50%;\n image-rendering: pixelated;\n mix-blend-mode: screen;\n content: '';\n opacity: 0.6;\n background-image: ${url(`${prefix}enchantment.${baseExtension}`, urlPrefix)};\n background-size: 512px 512px;\n filter: blur(2px) contrast(200%);\n transform: rotate(-8deg);\n animation-name: ${prefix}enchanted;\n animation-duration: 32s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}`;
65
+ blocks.push(glint);
66
+ upgrade.push(`${glintSelectors.join(", ")} { background-image: ${url(`${prefix}enchantment.${format}`, urlPrefix)}; }`);
67
+ if (fallback) blocks.push(`@media (min-resolution: 1dpi) {\n${upgrade.map((rule) => ` ${rule}`).join("\n")}\n}`);
68
+ return blocks.join("\n\n");
69
+ }
70
+ //#endregion
71
+ export { itemClass as n, generateStylesheet as t };
@@ -0,0 +1,53 @@
1
+ //#region src/output/stylesheet.d.ts
2
+ /**
3
+ * Stylesheet generation matching the renderchest CSS contract
4
+ * (docs/research/css-contract.md). Differences by design: selectors are
5
+ * sanitized (junk mod item names once broke whole sheets), and the URL prefix
6
+ * is configurable so published sheets need no downstream rebasing.
7
+ */
8
+ interface StylesheetOptions {
9
+ /** CSS class prefix, default `rc-`. */
10
+ prefix?: string;
11
+ /** Prepended to every url(); default '' = relative to the stylesheet. */
12
+ urlPrefix?: string;
13
+ /** Primary image format for the upgrade block; base rules always use png. */
14
+ format?: 'webp' | 'avif';
15
+ /** Emit the base rules in png plus a media-query upgrade block. */
16
+ fallback?: boolean;
17
+ }
18
+ interface ItemStyle {
19
+ /** Item id, e.g. `minecraft:stone`. */
20
+ id: string;
21
+ /** Image path relative to output root, without extension (e.g. `items/minecraft/stone`). */
22
+ image: string;
23
+ /** Custom properties set on the base rule (e.g. --rc-layer-1-tint: #9e643f). */
24
+ variables?: Record<string, string>;
25
+ /** Mask image path (defaults to none — cleared for regular items). */
26
+ mask?: string | null;
27
+ /** :before layer image, for two-layer items. */
28
+ before?: {
29
+ image: string;
30
+ mask?: string;
31
+ };
32
+ /**
33
+ * Extra selector-suffixed variants: `before` styles the pseudo-element
34
+ * (trims, pot overlays); `image`/`mask` restyle the base element
35
+ * (pot bodies, crossbow projectiles).
36
+ */
37
+ variants?: Array<{
38
+ suffix: string;
39
+ image?: string;
40
+ mask?: string;
41
+ before?: {
42
+ image: string;
43
+ mask?: string;
44
+ };
45
+ }>;
46
+ /** Item always shows the enchant glint (enchanted book etc.). */
47
+ alwaysEnchanted?: boolean;
48
+ }
49
+ /** Class-name sanitization is a security/robustness boundary: ids come from mod jars. */
50
+ declare function itemClass(id: string, prefix?: string): string;
51
+ declare function generateStylesheet(items: ItemStyle[], options?: StylesheetOptions): string;
52
+ //#endregion
53
+ export { itemClass as i, StylesheetOptions as n, generateStylesheet as r, ItemStyle as t };
@@ -0,0 +1,128 @@
1
+ import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
2
+ import { n as MapResourceManager } from "./synthetic-DC2bSnGe.js";
3
+ //#region src/mods/synthesize.ts
4
+ /**
5
+ * Model synthesis for mods that ship textures without item models, ported from
6
+ * the ui pipeline's synthesizeItemModels. Every rule below was earned on the
7
+ * 419k-item modded run:
8
+ * - a real model from the mod always beats a synthesized one;
9
+ * - lang-declared ids filter out invented items (a mod with no lang file
10
+ * synthesizes everything — losing coverage is worse than a few extras);
11
+ * - the item sprite wins name collisions with block sprites (one model per name);
12
+ * - block textures another model draws as faces are custom geometry — wrapping
13
+ * a UV atlas over a cube renders scrambled, so skip;
14
+ * - `<id>_base` block models with no `<id>` are code-built block entities, skip;
15
+ * - face-suffixed textures (_top, _side…) are parts, not items.
16
+ */
17
+ const BLOCK_FACE_SUFFIXES = [
18
+ "_top",
19
+ "_bottom",
20
+ "_side",
21
+ "_front",
22
+ "_back",
23
+ "_end",
24
+ "_inner",
25
+ "_overlay"
26
+ ];
27
+ /** Texture directories by era: modern singular and pre-1.13 plural. */
28
+ const ITEM_TEXTURE_DIRS = ["item", "items"];
29
+ const BLOCK_TEXTURE_DIRS = ["block", "blocks"];
30
+ async function textureNames(resources, namespace, directories) {
31
+ const names = /* @__PURE__ */ new Map();
32
+ for (const directory of directories) for (const locator of await resources.listResources("texture", namespace)) {
33
+ if (!locator.path.startsWith(`${directory}/`)) continue;
34
+ const name = locator.path.slice(directory.length + 1);
35
+ if (!names.has(name)) names.set(name, locator.path);
36
+ }
37
+ return names;
38
+ }
39
+ /** Ids declared by the mod's own lang file (item.<ns>.<id> / block.<ns>.<id>). */
40
+ async function declaredItemIds(resources, namespace) {
41
+ const lang = await resources.getResource("lang", ResourceLocator.parse(`${namespace}:en_us`));
42
+ if (!lang) return null;
43
+ try {
44
+ const entries = JSON.parse(lang.toString("utf8"));
45
+ const declared = /* @__PURE__ */ new Set();
46
+ const pattern = new RegExp(String.raw`^(?:item|block)\.${namespace}\.(.+)$`);
47
+ for (const key of Object.keys(entries)) {
48
+ const match = pattern.exec(key);
49
+ if (match) declared.add(match[1].split(".", 1)[0]);
50
+ }
51
+ return declared;
52
+ } catch {
53
+ return null;
54
+ }
55
+ }
56
+ /** Every texture referenced as a face by any of the namespace's models. */
57
+ async function referencedBlockTextures(resources, namespace) {
58
+ const used = /* @__PURE__ */ new Set();
59
+ for (const locator of await resources.listResources("model", namespace)) {
60
+ const raw = await resources.getResource("model", locator);
61
+ if (!raw) continue;
62
+ try {
63
+ const json = JSON.parse(raw.toString("utf8"));
64
+ for (const value of Object.values(json.textures ?? {})) {
65
+ if (typeof value !== "string" || value.startsWith("#")) continue;
66
+ const normalized = value.includes(":") ? value : `${namespace}:${value}`;
67
+ if (normalized.startsWith(`${namespace}:block/`) || normalized.startsWith(`${namespace}:blocks/`)) used.add(normalized.split("/").slice(1).join("/"));
68
+ }
69
+ } catch {}
70
+ }
71
+ return used;
72
+ }
73
+ async function synthesizeItemModels(resources, namespace) {
74
+ const output = new MapResourceManager();
75
+ let synthesized = 0;
76
+ const existingModels = /* @__PURE__ */ new Set();
77
+ const blockModels = /* @__PURE__ */ new Set();
78
+ for (const locator of await resources.listResources("model", namespace)) if (locator.path.startsWith("item/")) existingModels.add(locator.path.slice(5));
79
+ else if (locator.path.startsWith("block/")) blockModels.add(locator.path.slice(6));
80
+ const declared = await declaredItemIds(resources, namespace);
81
+ const wanted = (name) => !declared || declared.size === 0 || declared.has(name);
82
+ const itemTextures = await textureNames(resources, namespace, ITEM_TEXTURE_DIRS);
83
+ const blockTextures = await textureNames(resources, namespace, BLOCK_TEXTURE_DIRS);
84
+ const usedTextures = await referencedBlockTextures(resources, namespace);
85
+ const claimed = /* @__PURE__ */ new Set();
86
+ for (const [name, texturePath] of itemTextures) {
87
+ if (existingModels.has(name) || !wanted(name)) continue;
88
+ output.set("model", `${namespace}:item/${name}`, JSON.stringify({
89
+ parent: "item/generated",
90
+ textures: { layer0: `${namespace}:${texturePath}` }
91
+ }));
92
+ claimed.add(name);
93
+ synthesized++;
94
+ }
95
+ for (const [name, texturePath] of blockTextures) {
96
+ if (existingModels.has(name) || claimed.has(name) || !wanted(name)) continue;
97
+ if (BLOCK_FACE_SUFFIXES.some((suffix) => name.endsWith(suffix))) continue;
98
+ if (blockModels.has(name)) {
99
+ output.set("model", `${namespace}:item/${name}`, JSON.stringify({ parent: `${namespace}:block/${name}` }));
100
+ synthesized++;
101
+ continue;
102
+ }
103
+ if (usedTextures.has(texturePath.split("/").slice(1).join("/")) || usedTextures.has(name)) continue;
104
+ if (blockModels.has(`${name}_base`)) continue;
105
+ const directory = texturePath.split("/", 1)[0];
106
+ const topName = blockTextures.has(`${name}_top`) ? `${namespace}:${directory}/${name}_top` : null;
107
+ const sideName = blockTextures.has(`${name}_side`) ? `${namespace}:${directory}/${name}_side` : `${namespace}:${texturePath}`;
108
+ if (topName) output.set("model", `${namespace}:item/${name}`, JSON.stringify({
109
+ parent: "block/cube_bottom_top",
110
+ textures: {
111
+ top: topName,
112
+ bottom: topName,
113
+ side: sideName
114
+ }
115
+ }));
116
+ else output.set("model", `${namespace}:item/${name}`, JSON.stringify({
117
+ parent: "block/cube_all",
118
+ textures: { all: sideName }
119
+ }));
120
+ synthesized++;
121
+ }
122
+ return {
123
+ models: output,
124
+ synthesized
125
+ };
126
+ }
127
+ //#endregion
128
+ export { synthesizeItemModels as t };
@@ -0,0 +1,34 @@
1
+ import { n as ResourceLocator } from "./locator-jDbdUeTd.js";
2
+ import { a as ResourceManager, i as ResourceKindName } from "./manager-CoZaeQTu.js";
3
+ //#region src/resources/synthetic.d.ts
4
+ /**
5
+ * In-memory resources, used for era shims (synthesized `models/item/generated.json`,
6
+ * reshaped legacy textures) so version preparation composes as layers instead of
7
+ * mutating asset trees on disk like the old pipeline did.
8
+ */
9
+ declare class MapResourceManager implements ResourceManager {
10
+ private readonly entries;
11
+ set(kind: ResourceKindName, locator: string | ResourceLocator, content: Buffer | string): this;
12
+ getResource(kind: ResourceKindName, locator: ResourceLocator): Promise<Buffer | null>;
13
+ hasResource(kind: ResourceKindName, locator: ResourceLocator): Promise<boolean>;
14
+ getAllResources(kind: ResourceKindName, locator: ResourceLocator): Promise<Buffer[]>;
15
+ listResources(kind: ResourceKindName, namespace: string): Promise<ResourceLocator[]>;
16
+ listNamespaces(): Promise<string[]>;
17
+ }
18
+ /**
19
+ * Restricts a manager to specific resource kinds — donor versions may only
20
+ * contribute geometry (models/blockstates), never textures, so borrowed shapes
21
+ * always render with the target version's own art.
22
+ */
23
+ declare class KindFilteredResourceManager implements ResourceManager {
24
+ private readonly inner;
25
+ private readonly kinds;
26
+ constructor(inner: ResourceManager, kinds: ResourceKindName[]);
27
+ getResource(kind: ResourceKindName, locator: ResourceLocator): Promise<Buffer | null>;
28
+ hasResource(kind: ResourceKindName, locator: ResourceLocator): Promise<boolean>;
29
+ getAllResources(kind: ResourceKindName, locator: ResourceLocator): Promise<Buffer[]>;
30
+ listResources(kind: ResourceKindName, namespace: string): Promise<ResourceLocator[]>;
31
+ listNamespaces(): Promise<string[]>;
32
+ }
33
+ //#endregion
34
+ export { MapResourceManager as n, KindFilteredResourceManager as t };
Binary file
@@ -0,0 +1,2 @@
1
+ import { a as TextureMeta, i as TextureLoader, n as AtlasResolverLike, o as TextureResolutionError, r as Texture, t as AnimatedTexture } from "../loader-TFFNV4Jl.js";
2
+ export { AnimatedTexture, AtlasResolverLike, Texture, TextureLoader, TextureMeta, TextureResolutionError };
@@ -0,0 +1,2 @@
1
+ import { n as TextureLoader, r as TextureResolutionError, t as AnimatedTexture } from "../loader-CBzn3Koc.js";
2
+ export { AnimatedTexture, TextureLoader, TextureResolutionError };
@@ -0,0 +1,108 @@
1
+ import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
2
+ //#region src/render/tints.ts
3
+ /**
4
+ * Tint definition → color resolution for static icons, mirroring upstream's
5
+ * Tinter classes (docs/research/renderchest-spec.md §8).
6
+ */
7
+ var InvalidTinterDefinitionError = class extends Error {};
8
+ /** The 16 dye colors upstream's renderchest:random picks from. */
9
+ const DYE_COLORS = [
10
+ "#f9fffe",
11
+ "#f9801d",
12
+ "#c74ebd",
13
+ "#3ab3da",
14
+ "#fed83d",
15
+ "#80c71f",
16
+ "#f38baa",
17
+ "#474f52",
18
+ "#9d9d97",
19
+ "#169c9c",
20
+ "#8932b8",
21
+ "#3c44aa",
22
+ "#835432",
23
+ "#5e7c16",
24
+ "#b02e26",
25
+ "#1d1d21"
26
+ ];
27
+ function hexColor(hex) {
28
+ return {
29
+ r: Number.parseInt(hex.slice(1, 3), 16) / 255,
30
+ g: Number.parseInt(hex.slice(3, 5), 16) / 255,
31
+ b: Number.parseInt(hex.slice(5, 7), 16) / 255
32
+ };
33
+ }
34
+ /**
35
+ * Upstream constant-tint parsing: null/-1 → no tint; int → ARGB packed
36
+ * (alpha ignored for tinting — tintImage uses the pixel's own alpha);
37
+ * [r,g,b] floats. Anything else throws.
38
+ */
39
+ function parseTintValue(value) {
40
+ if ([
41
+ null,
42
+ void 0,
43
+ -1
44
+ ].includes(value)) return null;
45
+ if (typeof value === "number") return {
46
+ r: (value >>> 16 & 255) / 255,
47
+ g: (value >>> 8 & 255) / 255,
48
+ b: (value & 255) / 255
49
+ };
50
+ if (Array.isArray(value) && value.length >= 3 && value.every((entry) => typeof entry === "number")) return {
51
+ r: value[0],
52
+ g: value[1],
53
+ b: value[2]
54
+ };
55
+ throw new InvalidTinterDefinitionError(`Unparseable tint value: ${JSON.stringify(value)}`);
56
+ }
57
+ const DEFAULT_READING_TYPES = /* @__PURE__ */ new Set([
58
+ "minecraft:dye",
59
+ "minecraft:firework",
60
+ "minecraft:potion",
61
+ "minecraft:map_color",
62
+ "minecraft:team"
63
+ ]);
64
+ async function resolveTint(definition, context) {
65
+ const type = definition.type.includes(":") ? definition.type : `minecraft:${definition.type}`;
66
+ switch (type) {
67
+ case "minecraft:constant": return parseTintValue(definition.value);
68
+ case "minecraft:custom_model_data": return null;
69
+ case "minecraft:grass": {
70
+ const temperature = clamp01(typeof definition.temperature === "number" ? definition.temperature : .5);
71
+ const downfall = clamp01(typeof definition.downfall === "number" ? definition.downfall : 1);
72
+ return sampleColorMap(context.textures, "minecraft:colormap/grass", 1 - temperature, 1 - downfall * temperature);
73
+ }
74
+ case "renderchest:random": {
75
+ const index = context.randomIndex ?? Math.floor(Math.random() * DYE_COLORS.length);
76
+ return hexColor(DYE_COLORS[index % DYE_COLORS.length]);
77
+ }
78
+ default:
79
+ if (DEFAULT_READING_TYPES.has(type)) return parseTintValue(definition.default);
80
+ throw new InvalidTinterDefinitionError(`Unknown tint type: ${definition.type}`);
81
+ }
82
+ }
83
+ async function resolveTints(definitions, context) {
84
+ const colors = [];
85
+ for (const definition of definitions) colors.push(await resolveTint(definition, context));
86
+ return colors;
87
+ }
88
+ function clamp01(value) {
89
+ return value < 0 ? 0 : Math.min(value, 1);
90
+ }
91
+ /** Sample coordinates are clamped into the map; a missing map falls back to magenta. */
92
+ async function sampleColorMap(textures, locator, sampleX, sampleY) {
93
+ const texture = await textures.load(ResourceLocator.parse(locator));
94
+ if (!texture) return {
95
+ r: 1,
96
+ g: 0,
97
+ b: 1
98
+ };
99
+ const x = Math.min(texture.width - 1, Math.max(0, Math.floor(sampleX * texture.width)));
100
+ const offset = (Math.min(texture.height - 1, Math.max(0, Math.floor(sampleY * texture.height))) * texture.width + x) * 4;
101
+ return {
102
+ r: texture.data[offset] / 255,
103
+ g: texture.data[offset + 1] / 255,
104
+ b: texture.data[offset + 2] / 255
105
+ };
106
+ }
107
+ //#endregion
108
+ export { resolveTints as a, resolveTint as i, InvalidTinterDefinitionError as n, parseTintValue as r, DYE_COLORS as t };
@@ -0,0 +1,22 @@
1
+ import { i as TextureLoader } from "./loader-TFFNV4Jl.js";
2
+ import { n as TintColor } from "./face-DC6cNMdz.js";
3
+ import { o as TintDefinition } from "./definition-BwX6Xxv0.js";
4
+ //#region src/render/tints.d.ts
5
+ declare class InvalidTinterDefinitionError extends Error {}
6
+ /** The 16 dye colors upstream's renderchest:random picks from. */
7
+ declare const DYE_COLORS: readonly ["#f9fffe", "#f9801d", "#c74ebd", "#3ab3da", "#fed83d", "#80c71f", "#f38baa", "#474f52", "#9d9d97", "#169c9c", "#8932b8", "#3c44aa", "#835432", "#5e7c16", "#b02e26", "#1d1d21"];
8
+ /**
9
+ * Upstream constant-tint parsing: null/-1 → no tint; int → ARGB packed
10
+ * (alpha ignored for tinting — tintImage uses the pixel's own alpha);
11
+ * [r,g,b] floats. Anything else throws.
12
+ */
13
+ declare function parseTintValue(value: unknown): TintColor | null;
14
+ interface TintContext {
15
+ textures: TextureLoader;
16
+ /** Deterministic replacement for upstream's random dye pick, keyed per item. */
17
+ randomIndex?: number;
18
+ }
19
+ declare function resolveTint(definition: TintDefinition, context: TintContext): Promise<TintColor | null>;
20
+ declare function resolveTints(definitions: TintDefinition[], context: TintContext): Promise<Array<TintColor | null>>;
21
+ //#endregion
22
+ export { resolveTint as a, parseTintValue as i, InvalidTinterDefinitionError as n, resolveTints as o, TintContext as r, DYE_COLORS as t };
@@ -0,0 +1,69 @@
1
+ //#region src/models/types.d.ts
2
+ /**
3
+ * Raw Minecraft block/item model JSON, as found in `assets/<ns>/models/`.
4
+ * Field semantics: https://minecraft.wiki/w/Model — stable since 1.8, with
5
+ * `gui_light` added in 1.15 and loader-specific extensions ignored here.
6
+ */
7
+ type Vec3 = [number, number, number];
8
+ type Vec4 = [number, number, number, number];
9
+ declare const FaceDirection: {
10
+ readonly down: "down";
11
+ readonly up: "up";
12
+ readonly north: "north";
13
+ readonly south: "south";
14
+ readonly west: "west";
15
+ readonly east: "east";
16
+ };
17
+ type FaceDirectionName = keyof typeof FaceDirection;
18
+ interface ModelFaceJson {
19
+ /** Texture reference (`#name`) or direct locator. */
20
+ texture: string;
21
+ /** [x1, y1, x2, y2] in 0–16 texture space; derived from the element bounds when absent. */
22
+ uv?: Vec4;
23
+ cullface?: string;
24
+ /** UV rotation in degrees: 0, 90, 180, 270. */
25
+ rotation?: number;
26
+ /** Index into the model's tint layers; -1/absent = untinted. */
27
+ tintindex?: number;
28
+ }
29
+ interface ElementRotationJson {
30
+ origin: Vec3;
31
+ axis: 'x' | 'y' | 'z';
32
+ /** -45 to 45 in 22.5 steps in vanilla; mods ship arbitrary angles. */
33
+ angle: number;
34
+ rescale?: boolean;
35
+ }
36
+ interface ModelElementJson {
37
+ /** Corner coordinates in 0–16 block space (mods exceed the range). */
38
+ from: Vec3;
39
+ to: Vec3;
40
+ rotation?: ElementRotationJson;
41
+ shade?: boolean;
42
+ light_emission?: number;
43
+ faces: Partial<Record<FaceDirectionName, ModelFaceJson>>;
44
+ }
45
+ interface DisplayTransformJson {
46
+ /** Degrees, applied x then y then z. */
47
+ rotation?: Vec3;
48
+ translation?: Vec3;
49
+ scale?: Vec3;
50
+ }
51
+ type DisplayPosition = 'gui' | 'ground' | 'fixed' | 'head' | 'firstperson_righthand' | 'firstperson_lefthand' | 'thirdperson_righthand' | 'thirdperson_lefthand';
52
+ interface ModelJson {
53
+ parent?: string;
54
+ ambientocclusion?: boolean;
55
+ /** `front` renders items like flat sprites, `side` like blocks. */
56
+ gui_light?: 'front' | 'side';
57
+ display?: Partial<Record<DisplayPosition, DisplayTransformJson>>;
58
+ /** name → locator or `#reference`. */
59
+ textures?: Record<string, string>;
60
+ elements?: ModelElementJson[];
61
+ overrides?: Array<{
62
+ predicate: Record<string, number>;
63
+ model: string;
64
+ }>;
65
+ /** Loader-specific extension point (forge/neoforge); handled by the mods layer. */
66
+ loader?: string;
67
+ }
68
+ //#endregion
69
+ export { FaceDirectionName as a, ModelJson as c, FaceDirection as i, Vec3 as l, DisplayTransformJson as n, ModelElementJson as o, ElementRotationJson as r, ModelFaceJson as s, DisplayPosition as t, Vec4 as u };