@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.
- package/LICENSE +25 -0
- package/README.md +92 -0
- package/assets/README.md +17 -0
- package/assets/builtin/minecraft/atlases/misc.json +24 -0
- package/assets/builtin/minecraft/items/black_banner.json +12 -0
- package/assets/builtin/minecraft/items/black_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/blue_banner.json +12 -0
- package/assets/builtin/minecraft/items/blue_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/brown_banner.json +12 -0
- package/assets/builtin/minecraft/items/brown_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/chest.json +6 -0
- package/assets/builtin/minecraft/items/conduit.json +6 -0
- package/assets/builtin/minecraft/items/copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/creeper_head.json +6 -0
- package/assets/builtin/minecraft/items/cyan_banner.json +12 -0
- package/assets/builtin/minecraft/items/cyan_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/decorated_pot.json +6 -0
- package/assets/builtin/minecraft/items/dragon_head.json +6 -0
- package/assets/builtin/minecraft/items/ender_chest.json +6 -0
- package/assets/builtin/minecraft/items/exposed_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/exposed_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/gray_banner.json +12 -0
- package/assets/builtin/minecraft/items/gray_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/green_banner.json +12 -0
- package/assets/builtin/minecraft/items/green_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/light_blue_banner.json +12 -0
- package/assets/builtin/minecraft/items/light_blue_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/light_gray_banner.json +12 -0
- package/assets/builtin/minecraft/items/light_gray_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/lime_banner.json +12 -0
- package/assets/builtin/minecraft/items/lime_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/magenta_banner.json +12 -0
- package/assets/builtin/minecraft/items/magenta_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/orange_banner.json +12 -0
- package/assets/builtin/minecraft/items/orange_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/oxidized_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/oxidized_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/piglin_head.json +6 -0
- package/assets/builtin/minecraft/items/pink_banner.json +12 -0
- package/assets/builtin/minecraft/items/pink_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/player_head.json +6 -0
- package/assets/builtin/minecraft/items/purple_banner.json +12 -0
- package/assets/builtin/minecraft/items/purple_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/rc_filled_map_base.json +6 -0
- package/assets/builtin/minecraft/items/rc_filled_map_overlay.json +7 -0
- package/assets/builtin/minecraft/items/rc_firework_star_base.json +6 -0
- package/assets/builtin/minecraft/items/rc_firework_star_overlay.json +6 -0
- package/assets/builtin/minecraft/items/rc_potion_bottle.json +6 -0
- package/assets/builtin/minecraft/items/rc_potion_bottle_lingering.json +6 -0
- package/assets/builtin/minecraft/items/rc_potion_bottle_splash.json +6 -0
- package/assets/builtin/minecraft/items/rc_potion_content.json +6 -0
- package/assets/builtin/minecraft/items/rc_tipped_arrow_base.json +6 -0
- package/assets/builtin/minecraft/items/rc_tipped_arrow_head.json +6 -0
- package/assets/builtin/minecraft/items/red_banner.json +12 -0
- package/assets/builtin/minecraft/items/red_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/shield.json +6 -0
- package/assets/builtin/minecraft/items/shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/skeleton_skull.json +6 -0
- package/assets/builtin/minecraft/items/trapped_chest.json +6 -0
- package/assets/builtin/minecraft/items/waxed_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/waxed_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/waxed_exposed_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/waxed_exposed_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/waxed_oxidized_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/waxed_oxidized_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/waxed_weathered_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/waxed_weathered_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/weathered_copper_chest.json +6 -0
- package/assets/builtin/minecraft/items/weathered_copper_golem_statue.json +6 -0
- package/assets/builtin/minecraft/items/white_banner.json +12 -0
- package/assets/builtin/minecraft/items/white_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/wither_skeleton_skull.json +6 -0
- package/assets/builtin/minecraft/items/yellow_banner.json +12 -0
- package/assets/builtin/minecraft/items/yellow_shulker_box.json +6 -0
- package/assets/builtin/minecraft/items/zombie_head.json +6 -0
- package/assets/builtin/minecraft/models/item/generated.json +30 -0
- package/assets/builtin/minecraft/textures/item/empty.png +0 -0
- package/assets/builtin/minecraft/textures/item/unknown.png +0 -0
- package/assets/builtin/mobheads/items/allay.json +6 -0
- package/assets/builtin/mobheads/items/armadillo.json +6 -0
- package/assets/builtin/mobheads/items/axolotl.json +6 -0
- package/assets/builtin/mobheads/items/bat.json +6 -0
- package/assets/builtin/mobheads/items/bee.json +6 -0
- package/assets/builtin/mobheads/items/blaze.json +6 -0
- package/assets/builtin/mobheads/items/bogged.json +6 -0
- package/assets/builtin/mobheads/items/breeze.json +6 -0
- package/assets/builtin/mobheads/items/camel.json +6 -0
- package/assets/builtin/mobheads/items/camel_husk.json +6 -0
- package/assets/builtin/mobheads/items/cat.json +6 -0
- package/assets/builtin/mobheads/items/cave_spider.json +6 -0
- package/assets/builtin/mobheads/items/chicken.json +6 -0
- package/assets/builtin/mobheads/items/cod.json +6 -0
- package/assets/builtin/mobheads/items/copper_golem.json +6 -0
- package/assets/builtin/mobheads/items/cow.json +6 -0
- package/assets/builtin/mobheads/items/creaking.json +6 -0
- package/assets/builtin/mobheads/items/creeper.json +6 -0
- package/assets/builtin/mobheads/items/dolphin.json +6 -0
- package/assets/builtin/mobheads/items/donkey.json +6 -0
- package/assets/builtin/mobheads/items/drowned.json +6 -0
- package/assets/builtin/mobheads/items/elder_guardian.json +6 -0
- package/assets/builtin/mobheads/items/ender_dragon.json +6 -0
- package/assets/builtin/mobheads/items/enderman.json +6 -0
- package/assets/builtin/mobheads/items/endermite.json +6 -0
- package/assets/builtin/mobheads/items/evoker.json +6 -0
- package/assets/builtin/mobheads/items/fox.json +6 -0
- package/assets/builtin/mobheads/items/frog.json +6 -0
- package/assets/builtin/mobheads/items/ghast.json +6 -0
- package/assets/builtin/mobheads/items/giant.json +6 -0
- package/assets/builtin/mobheads/items/glow_squid.json +6 -0
- package/assets/builtin/mobheads/items/goat.json +6 -0
- package/assets/builtin/mobheads/items/guardian.json +6 -0
- package/assets/builtin/mobheads/items/happy_ghast.json +6 -0
- package/assets/builtin/mobheads/items/hoglin.json +6 -0
- package/assets/builtin/mobheads/items/horse.json +6 -0
- package/assets/builtin/mobheads/items/husk.json +6 -0
- package/assets/builtin/mobheads/items/illusioner.json +6 -0
- package/assets/builtin/mobheads/items/iron_golem.json +6 -0
- package/assets/builtin/mobheads/items/llama.json +6 -0
- package/assets/builtin/mobheads/items/magma_cube.json +6 -0
- package/assets/builtin/mobheads/items/mannequin.json +6 -0
- package/assets/builtin/mobheads/items/mooshroom.json +6 -0
- package/assets/builtin/mobheads/items/mule.json +6 -0
- package/assets/builtin/mobheads/items/nautilus.json +6 -0
- package/assets/builtin/mobheads/items/ocelot.json +6 -0
- package/assets/builtin/mobheads/items/panda.json +6 -0
- package/assets/builtin/mobheads/items/parched.json +6 -0
- package/assets/builtin/mobheads/items/parrot.json +6 -0
- package/assets/builtin/mobheads/items/phantom.json +6 -0
- package/assets/builtin/mobheads/items/pig.json +6 -0
- package/assets/builtin/mobheads/items/piglin.json +6 -0
- package/assets/builtin/mobheads/items/piglin_brute.json +6 -0
- package/assets/builtin/mobheads/items/pillager.json +6 -0
- package/assets/builtin/mobheads/items/player.json +6 -0
- package/assets/builtin/mobheads/items/polar_bear.json +6 -0
- package/assets/builtin/mobheads/items/pufferfish.json +6 -0
- package/assets/builtin/mobheads/items/rabbit.json +6 -0
- package/assets/builtin/mobheads/items/ravager.json +6 -0
- package/assets/builtin/mobheads/items/salmon.json +6 -0
- package/assets/builtin/mobheads/items/sheep.json +6 -0
- package/assets/builtin/mobheads/items/shulker.json +6 -0
- package/assets/builtin/mobheads/items/silverfish.json +6 -0
- package/assets/builtin/mobheads/items/skeleton.json +6 -0
- package/assets/builtin/mobheads/items/skeleton_horse.json +6 -0
- package/assets/builtin/mobheads/items/slime.json +6 -0
- package/assets/builtin/mobheads/items/sniffer.json +6 -0
- package/assets/builtin/mobheads/items/snow_golem.json +6 -0
- package/assets/builtin/mobheads/items/spider.json +6 -0
- package/assets/builtin/mobheads/items/squid.json +6 -0
- package/assets/builtin/mobheads/items/stray.json +6 -0
- package/assets/builtin/mobheads/items/strider.json +6 -0
- package/assets/builtin/mobheads/items/sulfur_cube.json +6 -0
- package/assets/builtin/mobheads/items/tadpole.json +6 -0
- package/assets/builtin/mobheads/items/trader_llama.json +6 -0
- package/assets/builtin/mobheads/items/tropical_fish.json +14 -0
- package/assets/builtin/mobheads/items/turtle.json +6 -0
- package/assets/builtin/mobheads/items/vex.json +6 -0
- package/assets/builtin/mobheads/items/villager.json +6 -0
- package/assets/builtin/mobheads/items/vindicator.json +6 -0
- package/assets/builtin/mobheads/items/wandering_trader.json +6 -0
- package/assets/builtin/mobheads/items/warden.json +6 -0
- package/assets/builtin/mobheads/items/witch.json +6 -0
- package/assets/builtin/mobheads/items/wither.json +6 -0
- package/assets/builtin/mobheads/items/wither_skeleton.json +6 -0
- package/assets/builtin/mobheads/items/wolf.json +6 -0
- package/assets/builtin/mobheads/items/zoglin.json +6 -0
- package/assets/builtin/mobheads/items/zombie.json +6 -0
- package/assets/builtin/mobheads/items/zombie_horse.json +6 -0
- package/assets/builtin/mobheads/items/zombie_nautilus.json +6 -0
- package/assets/builtin/mobheads/items/zombie_villager.json +6 -0
- package/assets/builtin/mobheads/items/zombified_piglin.json +6 -0
- package/assets/builtin/mobheads/models/item/allay.json +6 -0
- package/assets/builtin/mobheads/models/item/armadillo.json +41 -0
- package/assets/builtin/mobheads/models/item/axolotl.json +36 -0
- package/assets/builtin/mobheads/models/item/base/camel.json +59 -0
- package/assets/builtin/mobheads/models/item/base/cat.json +52 -0
- package/assets/builtin/mobheads/models/item/base/cow.json +56 -0
- package/assets/builtin/mobheads/models/item/base/donkey.json +68 -0
- package/assets/builtin/mobheads/models/item/base/guardian.json +272 -0
- package/assets/builtin/mobheads/models/item/base/head_32_32.json +19 -0
- package/assets/builtin/mobheads/models/item/base/head_64_32.json +34 -0
- package/assets/builtin/mobheads/models/item/base/head_64_64.json +34 -0
- package/assets/builtin/mobheads/models/item/base/head_64_64_overlay.json +34 -0
- package/assets/builtin/mobheads/models/item/base/head_display.json +8 -0
- package/assets/builtin/mobheads/models/item/base/hoglin.json +81 -0
- package/assets/builtin/mobheads/models/item/base/horse.json +80 -0
- package/assets/builtin/mobheads/models/item/base/llama.json +64 -0
- package/assets/builtin/mobheads/models/item/base/nautilus.json +213 -0
- package/assets/builtin/mobheads/models/item/base/piglin.json +80 -0
- package/assets/builtin/mobheads/models/item/base/spider.json +32 -0
- package/assets/builtin/mobheads/models/item/base/squid.json +116 -0
- package/assets/builtin/mobheads/models/item/base/villager.json +43 -0
- package/assets/builtin/mobheads/models/item/bat.json +41 -0
- package/assets/builtin/mobheads/models/item/bee.json +59 -0
- package/assets/builtin/mobheads/models/item/blaze.json +6 -0
- package/assets/builtin/mobheads/models/item/bogged.json +113 -0
- package/assets/builtin/mobheads/models/item/breeze.json +49 -0
- package/assets/builtin/mobheads/models/item/camel.json +6 -0
- package/assets/builtin/mobheads/models/item/camel_husk.json +6 -0
- package/assets/builtin/mobheads/models/item/cat.json +6 -0
- package/assets/builtin/mobheads/models/item/cave_spider.json +6 -0
- package/assets/builtin/mobheads/models/item/chicken.json +62 -0
- package/assets/builtin/mobheads/models/item/cod.json +98 -0
- package/assets/builtin/mobheads/models/item/copper_golem.json +85 -0
- package/assets/builtin/mobheads/models/item/cow.json +6 -0
- package/assets/builtin/mobheads/models/item/creaking.json +120 -0
- package/assets/builtin/mobheads/models/item/creeper.json +6 -0
- package/assets/builtin/mobheads/models/item/dolphin.json +33 -0
- package/assets/builtin/mobheads/models/item/donkey.json +6 -0
- package/assets/builtin/mobheads/models/item/drowned.json +8 -0
- package/assets/builtin/mobheads/models/item/elder_guardian.json +6 -0
- package/assets/builtin/mobheads/models/item/ender_dragon.json +113 -0
- package/assets/builtin/mobheads/models/item/enderman.json +41 -0
- package/assets/builtin/mobheads/models/item/endermite.json +59 -0
- package/assets/builtin/mobheads/models/item/evoker.json +6 -0
- package/assets/builtin/mobheads/models/item/fox.json +55 -0
- package/assets/builtin/mobheads/models/item/frog.json +159 -0
- package/assets/builtin/mobheads/models/item/ghast.json +131 -0
- package/assets/builtin/mobheads/models/item/giant.json +6 -0
- package/assets/builtin/mobheads/models/item/glow_squid.json +6 -0
- package/assets/builtin/mobheads/models/item/goat.json +56 -0
- package/assets/builtin/mobheads/models/item/guardian.json +6 -0
- package/assets/builtin/mobheads/models/item/happy_ghast.json +131 -0
- package/assets/builtin/mobheads/models/item/hoglin.json +6 -0
- package/assets/builtin/mobheads/models/item/horse.json +6 -0
- package/assets/builtin/mobheads/models/item/husk.json +6 -0
- package/assets/builtin/mobheads/models/item/illusioner.json +6 -0
- package/assets/builtin/mobheads/models/item/iron_golem.json +34 -0
- package/assets/builtin/mobheads/models/item/llama.json +7 -0
- package/assets/builtin/mobheads/models/item/magma_cube.json +100 -0
- package/assets/builtin/mobheads/models/item/mooshroom.json +6 -0
- package/assets/builtin/mobheads/models/item/mule.json +6 -0
- package/assets/builtin/mobheads/models/item/nautilus.json +6 -0
- package/assets/builtin/mobheads/models/item/ocelot.json +6 -0
- package/assets/builtin/mobheads/models/item/panda.json +61 -0
- package/assets/builtin/mobheads/models/item/parched.json +6 -0
- package/assets/builtin/mobheads/models/item/parrot.json +73 -0
- package/assets/builtin/mobheads/models/item/phantom.json +33 -0
- package/assets/builtin/mobheads/models/item/pig.json +35 -0
- package/assets/builtin/mobheads/models/item/piglin.json +6 -0
- package/assets/builtin/mobheads/models/item/piglin_brute.json +6 -0
- package/assets/builtin/mobheads/models/item/pillager.json +6 -0
- package/assets/builtin/mobheads/models/item/player.json +6 -0
- package/assets/builtin/mobheads/models/item/polar_bear.json +61 -0
- package/assets/builtin/mobheads/models/item/pufferfish.json +113 -0
- package/assets/builtin/mobheads/models/item/rabbit.json +50 -0
- package/assets/builtin/mobheads/models/item/ravager.json +75 -0
- package/assets/builtin/mobheads/models/item/salmon.json +80 -0
- package/assets/builtin/mobheads/models/item/sheep.json +34 -0
- package/assets/builtin/mobheads/models/item/shulker.json +109 -0
- package/assets/builtin/mobheads/models/item/silverfish.json +148 -0
- package/assets/builtin/mobheads/models/item/skeleton.json +6 -0
- package/assets/builtin/mobheads/models/item/skeleton_horse.json +6 -0
- package/assets/builtin/mobheads/models/item/slime.json +69 -0
- package/assets/builtin/mobheads/models/item/sniffer.json +85 -0
- package/assets/builtin/mobheads/models/item/snow_golem.json +24 -0
- package/assets/builtin/mobheads/models/item/spider.json +6 -0
- package/assets/builtin/mobheads/models/item/squid.json +6 -0
- package/assets/builtin/mobheads/models/item/stray.json +8 -0
- package/assets/builtin/mobheads/models/item/strider.json +101 -0
- package/assets/builtin/mobheads/models/item/sulfur_cube.json +38 -0
- package/assets/builtin/mobheads/models/item/tadpole.json +31 -0
- package/assets/builtin/mobheads/models/item/trader_llama.json +7 -0
- package/assets/builtin/mobheads/models/item/tropical_fish.json +141 -0
- package/assets/builtin/mobheads/models/item/turtle.json +23 -0
- package/assets/builtin/mobheads/models/item/vex.json +23 -0
- package/assets/builtin/mobheads/models/item/villager.json +6 -0
- package/assets/builtin/mobheads/models/item/vindicator.json +6 -0
- package/assets/builtin/mobheads/models/item/wandering_trader.json +6 -0
- package/assets/builtin/mobheads/models/item/warden.json +92 -0
- package/assets/builtin/mobheads/models/item/witch.json +110 -0
- package/assets/builtin/mobheads/models/item/wither.json +22 -0
- package/assets/builtin/mobheads/models/item/wither_skeleton.json +6 -0
- package/assets/builtin/mobheads/models/item/wolf.json +59 -0
- package/assets/builtin/mobheads/models/item/zoglin.json +6 -0
- package/assets/builtin/mobheads/models/item/zombie.json +6 -0
- package/assets/builtin/mobheads/models/item/zombie_horse.json +6 -0
- package/assets/builtin/mobheads/models/item/zombie_nautilus.json +6 -0
- package/assets/builtin/mobheads/models/item/zombie_villager.json +6 -0
- package/assets/builtin/mobheads/models/item/zombified_piglin.json +6 -0
- package/assets/builtin/renderchest/atlases/items.json +9 -0
- package/assets/builtin/renderchest/items/empty.json +5 -0
- package/assets/builtin/renderchest/items/unknown.json +6 -0
- package/assets/builtin/renderchest/models/item/banner.json +50 -0
- package/assets/builtin/renderchest/models/item/chest/chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/copper_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/ender_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/exposed_copper_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/oxidized_copper_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/trapped_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest/weathered_copper_chest.json +6 -0
- package/assets/builtin/renderchest/models/item/chest.json +47 -0
- package/assets/builtin/renderchest/models/item/conduit.json +24 -0
- package/assets/builtin/renderchest/models/item/copper_golem_statue/copper_golem_statue.json +6 -0
- package/assets/builtin/renderchest/models/item/copper_golem_statue/exposed_copper_golem_statue.json +6 -0
- package/assets/builtin/renderchest/models/item/copper_golem_statue/oxidized_copper_golem_statue.json +6 -0
- package/assets/builtin/renderchest/models/item/copper_golem_statue/weathered_copper_golem_statue.json +6 -0
- package/assets/builtin/renderchest/models/item/copper_golem_statue.json +132 -0
- package/assets/builtin/renderchest/models/item/decorated_pot.json +69 -0
- package/assets/builtin/renderchest/models/item/decorated_pot_base.json +37 -0
- package/assets/builtin/renderchest/models/item/decorated_pot_overlay.json +14 -0
- package/assets/builtin/renderchest/models/item/empty.json +6 -0
- package/assets/builtin/renderchest/models/item/filled_map/base.json +6 -0
- package/assets/builtin/renderchest/models/item/filled_map/overlay.json +6 -0
- package/assets/builtin/renderchest/models/item/firework_star/base.json +6 -0
- package/assets/builtin/renderchest/models/item/firework_star/overlay.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/arrow_base.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/arrow_head.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/bottle.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/bottle_lingering.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/bottle_splash.json +6 -0
- package/assets/builtin/renderchest/models/item/potion/content.json +6 -0
- package/assets/builtin/renderchest/models/item/shield.json +41 -0
- package/assets/builtin/renderchest/models/item/shulker_box/black_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/blue_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/brown_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/cyan_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/gray_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/green_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/light_blue_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/light_gray_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/lime_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/magenta_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/orange_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/pink_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/purple_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/red_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/white_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box/yellow_shulker_box.json +6 -0
- package/assets/builtin/renderchest/models/item/shulker_box.json +98 -0
- package/assets/builtin/renderchest/models/item/unknown.json +6 -0
- package/assets/builtin/renderchest/textures/item/empty.png +0 -0
- package/assets/builtin/renderchest/textures/item/unknown.png +0 -0
- package/assets/builtin-bed-compat/minecraft/models/item/black_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/blue_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/brown_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/cyan_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/gray_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/green_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/light_blue_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/light_gray_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/lime_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/magenta_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/orange_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/pink_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/purple_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/red_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/white_bed.json +6 -0
- package/assets/builtin-bed-compat/minecraft/models/item/yellow_bed.json +6 -0
- package/assets/builtin-bed-compat/renderchest/models/item/bed.json +72 -0
- package/assets/builtin-legacy/minecraft/atlases/misc.json +19 -0
- package/assets/builtin-legacy/minecraft/models/item/black_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/black_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/black_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/blue_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/blue_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/blue_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/brown_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/brown_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/brown_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/chest.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/conduit.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/creeper_head.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/cyan_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/cyan_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/cyan_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/decorated_pot.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/dragon_head.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/empty.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/ender_chest.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/gray_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/gray_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/gray_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/green_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/green_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/green_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/light_blue_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/light_blue_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/light_blue_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/light_gray_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/light_gray_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/light_gray_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/lime_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/lime_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/lime_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/magenta_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/magenta_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/magenta_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/orange_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/orange_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/orange_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/piglin_head.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/pink_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/pink_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/pink_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/player_head.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/purple_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/purple_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/purple_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_amethyst_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_base.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_copper_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_diamond_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_emerald_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_gold_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_iron_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_lapis_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_netherite_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_overlay.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_quartz_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_boots_redstone_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_amethyst_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_base.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_copper_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_diamond_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_emerald_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_gold_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_iron_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_lapis_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_netherite_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_overlay.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_quartz_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_chestplate_redstone_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_amethyst_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_base.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_copper_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_diamond_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_emerald_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_gold_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_iron_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_lapis_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_netherite_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_overlay.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_quartz_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_helmet_redstone_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_amethyst_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_base.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_copper_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_diamond_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_emerald_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_gold_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_iron_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_lapis_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_netherite_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_overlay.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_quartz_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_leather_leggings_redstone_trim.json +7 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_angler_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_archer_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_arms_up_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_blade_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_brewer_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_brick.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_burn_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_danger_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_explorer_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_friend_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_heart_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_heartbreak_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_howl_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_miner_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_mourner_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_plenty_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_prize_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_sheaf_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_shelter_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_skull_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_b_snort_pottery_sherd.json +9 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_angler_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_archer_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_arms_up_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_blade_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_brewer_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_brick.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_burn_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_danger_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_explorer_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_friend_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_heart_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_heartbreak_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_howl_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_miner_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_mourner_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_plenty_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_prize_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_sheaf_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_shelter_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_skull_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_pot_o_snort_pottery_sherd.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle_lingering.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_potion_bottle_splash.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_potion_content.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_tipped_arrow_base.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/rc_tipped_arrow_head.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/red_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/red_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/red_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/shield.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/skeleton_skull.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/trapped_chest.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/unknown.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/white_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/white_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/white_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/wither_skeleton_skull.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/yellow_banner.json +3 -0
- package/assets/builtin-legacy/minecraft/models/item/yellow_bed.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/yellow_shulker_box.json +6 -0
- package/assets/builtin-legacy/minecraft/models/item/zombie_head.json +3 -0
- package/assets/builtin-legacy/mobheads/models/item/allay.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/armadillo.json +41 -0
- package/assets/builtin-legacy/mobheads/models/item/axolotl.json +36 -0
- package/assets/builtin-legacy/mobheads/models/item/base/cat.json +52 -0
- package/assets/builtin-legacy/mobheads/models/item/base/cow.json +43 -0
- package/assets/builtin-legacy/mobheads/models/item/base/donkey.json +68 -0
- package/assets/builtin-legacy/mobheads/models/item/base/guardian.json +272 -0
- package/assets/builtin-legacy/mobheads/models/item/base/head_32_32.json +19 -0
- package/assets/builtin-legacy/mobheads/models/item/base/head_64_32.json +19 -0
- package/assets/builtin-legacy/mobheads/models/item/base/head_64_64.json +19 -0
- package/assets/builtin-legacy/mobheads/models/item/base/head_display.json +8 -0
- package/assets/builtin-legacy/mobheads/models/item/base/hoglin.json +81 -0
- package/assets/builtin-legacy/mobheads/models/item/base/horse.json +80 -0
- package/assets/builtin-legacy/mobheads/models/item/base/llama.json +64 -0
- package/assets/builtin-legacy/mobheads/models/item/base/piglin.json +80 -0
- package/assets/builtin-legacy/mobheads/models/item/base/spider.json +32 -0
- package/assets/builtin-legacy/mobheads/models/item/base/squid.json +116 -0
- package/assets/builtin-legacy/mobheads/models/item/base/villager.json +43 -0
- package/assets/builtin-legacy/mobheads/models/item/bat.json +41 -0
- package/assets/builtin-legacy/mobheads/models/item/bee.json +59 -0
- package/assets/builtin-legacy/mobheads/models/item/blaze.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/breeze.json +49 -0
- package/assets/builtin-legacy/mobheads/models/item/camel.json +62 -0
- package/assets/builtin-legacy/mobheads/models/item/cat.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/cave_spider.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/chicken.json +46 -0
- package/assets/builtin-legacy/mobheads/models/item/cod.json +98 -0
- package/assets/builtin-legacy/mobheads/models/item/cow.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/creeper.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/dolphin.json +33 -0
- package/assets/builtin-legacy/mobheads/models/item/donkey.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/drowned.json +35 -0
- package/assets/builtin-legacy/mobheads/models/item/elder_guardian.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/ender_dragon.json +113 -0
- package/assets/builtin-legacy/mobheads/models/item/enderman.json +41 -0
- package/assets/builtin-legacy/mobheads/models/item/endermite.json +59 -0
- package/assets/builtin-legacy/mobheads/models/item/evoker.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/fox.json +55 -0
- package/assets/builtin-legacy/mobheads/models/item/frog.json +159 -0
- package/assets/builtin-legacy/mobheads/models/item/ghast.json +131 -0
- package/assets/builtin-legacy/mobheads/models/item/giant.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/glow_squid.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/goat.json +56 -0
- package/assets/builtin-legacy/mobheads/models/item/guardian.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/hoglin.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/horse.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/husk.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/illusioner.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/iron_golem.json +34 -0
- package/assets/builtin-legacy/mobheads/models/item/llama.json +7 -0
- package/assets/builtin-legacy/mobheads/models/item/magma_cube.json +52 -0
- package/assets/builtin-legacy/mobheads/models/item/mooshroom.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/mule.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/ocelot.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/panda.json +61 -0
- package/assets/builtin-legacy/mobheads/models/item/parrot.json +73 -0
- package/assets/builtin-legacy/mobheads/models/item/phantom.json +33 -0
- package/assets/builtin-legacy/mobheads/models/item/pig.json +35 -0
- package/assets/builtin-legacy/mobheads/models/item/piglin.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/piglin_brute.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/pillager.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/player.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/polar_bear.json +61 -0
- package/assets/builtin-legacy/mobheads/models/item/pufferfish.json +113 -0
- package/assets/builtin-legacy/mobheads/models/item/rabbit.json +59 -0
- package/assets/builtin-legacy/mobheads/models/item/ravager.json +75 -0
- package/assets/builtin-legacy/mobheads/models/item/salmon.json +80 -0
- package/assets/builtin-legacy/mobheads/models/item/sheep.json +34 -0
- package/assets/builtin-legacy/mobheads/models/item/shulker.json +109 -0
- package/assets/builtin-legacy/mobheads/models/item/silverfish.json +148 -0
- package/assets/builtin-legacy/mobheads/models/item/skeleton.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/skeleton_horse.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/slime.json +69 -0
- package/assets/builtin-legacy/mobheads/models/item/sniffer.json +85 -0
- package/assets/builtin-legacy/mobheads/models/item/snow_golem.json +24 -0
- package/assets/builtin-legacy/mobheads/models/item/spider.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/squid.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/stray.json +35 -0
- package/assets/builtin-legacy/mobheads/models/item/strider.json +101 -0
- package/assets/builtin-legacy/mobheads/models/item/tadpole.json +31 -0
- package/assets/builtin-legacy/mobheads/models/item/trader_llama.json +7 -0
- package/assets/builtin-legacy/mobheads/models/item/tropical_fish.json +141 -0
- package/assets/builtin-legacy/mobheads/models/item/turtle.json +23 -0
- package/assets/builtin-legacy/mobheads/models/item/vex.json +23 -0
- package/assets/builtin-legacy/mobheads/models/item/villager.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/vindicator.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/wandering_trader.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/warden.json +92 -0
- package/assets/builtin-legacy/mobheads/models/item/witch.json +110 -0
- package/assets/builtin-legacy/mobheads/models/item/wither.json +22 -0
- package/assets/builtin-legacy/mobheads/models/item/wither_skeleton.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/wolf.json +59 -0
- package/assets/builtin-legacy/mobheads/models/item/zoglin.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/zombie.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/zombie_horse.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/zombie_villager.json +6 -0
- package/assets/builtin-legacy/mobheads/models/item/zombified_piglin.json +6 -0
- package/assets/builtin-legacy/renderchest/atlases/items.json +9 -0
- package/assets/builtin-legacy/renderchest/models/item/banner.json +53 -0
- package/assets/builtin-legacy/renderchest/models/item/bed.json +72 -0
- package/assets/builtin-legacy/renderchest/models/item/chest.json +49 -0
- package/assets/builtin-legacy/renderchest/models/item/conduit.json +24 -0
- package/assets/builtin-legacy/renderchest/models/item/decorated_pot.json +69 -0
- package/assets/builtin-legacy/renderchest/models/item/decorated_pot_base.json +34 -0
- package/assets/builtin-legacy/renderchest/models/item/decorated_pot_overlay.json +14 -0
- package/assets/builtin-legacy/renderchest/models/item/empty.json +6 -0
- package/assets/builtin-legacy/renderchest/models/item/shield.json +38 -0
- package/assets/builtin-legacy/renderchest/models/item/shulker_box.json +103 -0
- package/assets/builtin-legacy/renderchest/models/item/unknown.json +6 -0
- package/assets/builtin-legacy/renderchest/textures/item/empty.png +0 -0
- package/assets/builtin-legacy/renderchest/textures/item/unknown.png +0 -0
- package/dist/atlas/registry.d.ts +8 -0
- package/dist/atlas/registry.js +2 -0
- package/dist/atlas/sources.d.ts +2 -0
- package/dist/atlas/sources.js +2 -0
- package/dist/blend-CHP2-j9U.js +90 -0
- package/dist/blend-Qvrn6YgK.d.ts +36 -0
- package/dist/builtin-C8GZEN40.js +16 -0
- package/dist/builtin.d.ts +5 -0
- package/dist/builtin.js +2 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +174 -0
- package/dist/compose-cph4bfdr.js +27 -0
- package/dist/definition-3MBm8ar_.js +117 -0
- package/dist/definition-BwX6Xxv0.d.ts +34 -0
- package/dist/discovery-BzaOti7l.js +91 -0
- package/dist/discovery-CmNYzKPr.d.ts +18 -0
- package/dist/download-D9aARBFp.js +34 -0
- package/dist/dynamic/generators.d.ts +2 -0
- package/dist/dynamic/generators.js +2 -0
- package/dist/encode-3u49i-eD.js +108 -0
- package/dist/encode-C5kdAm45.d.ts +34 -0
- package/dist/entity-fallback-CodtI6v8.js +265 -0
- package/dist/face-DC6cNMdz.d.ts +24 -0
- package/dist/face-Wfia-_Yx.js +92 -0
- package/dist/fluid-bucket-D-GpUQjg.js +88 -0
- package/dist/generators-CCB8h0mP.d.ts +23 -0
- package/dist/generators-CcVRG30y.js +145 -0
- package/dist/geo-B5VqGulc.js +333 -0
- package/dist/geometry-BSVmKx5b.d.ts +28 -0
- package/dist/geometry-uIDha8S4.js +229 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +20 -0
- package/dist/item-styles-DJ3LWZS2.js +174 -0
- package/dist/items/definition.d.ts +2 -0
- package/dist/items/definition.js +2 -0
- package/dist/items/discovery.d.ts +2 -0
- package/dist/items/discovery.js +2 -0
- package/dist/jar-6T3xdgaL.d.ts +21 -0
- package/dist/jar-Bt3i0ls4.js +119 -0
- package/dist/legacy-reshape-CewShfF3.js +203 -0
- package/dist/legacy-tints-B09J0Rxh.js +169 -0
- package/dist/lighting--5myudVu.js +83 -0
- package/dist/lighting-3FGRC3Af.d.ts +42 -0
- package/dist/loader-C-eqwp3M.js +359 -0
- package/dist/loader-CBzn3Koc.js +228 -0
- package/dist/loader-TFFNV4Jl.d.ts +88 -0
- package/dist/loader-lCkMRDH4.d.ts +69 -0
- package/dist/locator-jDbdUeTd.d.ts +24 -0
- package/dist/locator-ycZzh_6z.js +54 -0
- package/dist/manager-CoZaeQTu.d.ts +88 -0
- package/dist/manager-dfI7b9N4.js +150 -0
- package/dist/minify-CIV6enbr.d.ts +11 -0
- package/dist/minify-bjMRmr5J.js +31 -0
- package/dist/models/loader.d.ts +2 -0
- package/dist/models/loader.js +2 -0
- package/dist/models/types.d.ts +2 -0
- package/dist/models/types.js +11 -0
- package/dist/mods/prepare.d.ts +2 -0
- package/dist/mods/prepare.js +2 -0
- package/dist/mods/synthesize.d.ts +10 -0
- package/dist/mods/synthesize.js +2 -0
- package/dist/output/encode.d.ts +2 -0
- package/dist/output/encode.js +2 -0
- package/dist/output/item-styles.d.ts +10 -0
- package/dist/output/item-styles.js +2 -0
- package/dist/output/minify.d.ts +2 -0
- package/dist/output/minify.js +2 -0
- package/dist/output/stylesheet.d.ts +2 -0
- package/dist/output/stylesheet.js +2 -0
- package/dist/prepare-Bvc5ve2m.js +68 -0
- package/dist/prepare-DROxBZp1.js +112 -0
- package/dist/prepare-DnnGGv9k.d.ts +25 -0
- package/dist/prepare-wfWtaz_X.d.ts +45 -0
- package/dist/rasterizer-ABgsWTYN.js +139 -0
- package/dist/rasterizer-CVOlRsuw.d.ts +41 -0
- package/dist/registry-C9E7jyzG.js +28 -0
- package/dist/render/blend.d.ts +2 -0
- package/dist/render/blend.js +2 -0
- package/dist/render/compose.d.ts +6 -0
- package/dist/render/compose.js +2 -0
- package/dist/render/entity-fallback.d.ts +30 -0
- package/dist/render/entity-fallback.js +2 -0
- package/dist/render/face.d.ts +2 -0
- package/dist/render/face.js +2 -0
- package/dist/render/fluid-bucket.d.ts +14 -0
- package/dist/render/fluid-bucket.js +2 -0
- package/dist/render/geo.d.ts +54 -0
- package/dist/render/geo.js +2 -0
- package/dist/render/geometry.d.ts +2 -0
- package/dist/render/geometry.js +2 -0
- package/dist/render/legacy-tints.d.ts +12 -0
- package/dist/render/legacy-tints.js +2 -0
- package/dist/render/lighting.d.ts +2 -0
- package/dist/render/lighting.js +2 -0
- package/dist/render/obj.d.ts +24 -0
- package/dist/render/obj.js +2 -0
- package/dist/render/rasterizer.d.ts +2 -0
- package/dist/render/rasterizer.js +2 -0
- package/dist/render/renderer.d.ts +2 -0
- package/dist/render/renderer.js +2 -0
- package/dist/render/tints.d.ts +2 -0
- package/dist/render/tints.js +2 -0
- package/dist/render/vector.d.ts +2 -0
- package/dist/render/vector.js +2 -0
- package/dist/renderer-CmOz6WI9.js +507 -0
- package/dist/renderer-DQfv6axF.d.ts +44 -0
- package/dist/resources/jar.d.ts +2 -0
- package/dist/resources/jar.js +2 -0
- package/dist/resources/locator.d.ts +2 -0
- package/dist/resources/locator.js +2 -0
- package/dist/resources/manager.d.ts +2 -0
- package/dist/resources/manager.js +2 -0
- package/dist/resources/synthetic.d.ts +2 -0
- package/dist/resources/synthetic.js +2 -0
- package/dist/run-BK7Q8WZ3.d.ts +54 -0
- package/dist/run-Dr6BfyN9.js +316 -0
- package/dist/run.d.ts +3 -0
- package/dist/run.js +3 -0
- package/dist/sources-Bxk-WOzH.js +202 -0
- package/dist/sources-DH9dk3KF.d.ts +104 -0
- package/dist/stylesheet-CovT3B2S.js +71 -0
- package/dist/stylesheet-i-t_7sZ7.d.ts +53 -0
- package/dist/synthesize-CRgSEmEp.js +128 -0
- package/dist/synthetic-CDsj--li.d.ts +34 -0
- package/dist/synthetic-DC2bSnGe.js +0 -0
- package/dist/textures/loader.d.ts +2 -0
- package/dist/textures/loader.js +2 -0
- package/dist/tints-FQlxTzUL.js +108 -0
- package/dist/tints-Fr6WoPaU.d.ts +22 -0
- package/dist/types-COGbtA1t.d.ts +69 -0
- package/dist/vector-CCxLae_T.js +190 -0
- package/dist/vector-DRKRi4--.d.ts +43 -0
- package/dist/versions/download.d.ts +9 -0
- package/dist/versions/download.js +2 -0
- package/dist/versions/legacy-reshape.d.ts +9 -0
- package/dist/versions/legacy-reshape.js +2 -0
- package/dist/versions/prepare.d.ts +2 -0
- package/dist/versions/prepare.js +2 -0
- package/dist/workers/pool.d.ts +23 -0
- package/dist/workers/pool.js +67 -0
- package/package.json +71 -22
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
|
|
2
|
+
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-dfI7b9N4.js";
|
|
3
|
+
import { t as loadAtlasResolver } from "./registry-C9E7jyzG.js";
|
|
4
|
+
import { a as builtinDynamicResources } from "./generators-CcVRG30y.js";
|
|
5
|
+
import { a as defaultProperties } from "./definition-3MBm8ar_.js";
|
|
6
|
+
import { n as discoverItems, r as resolveItem } from "./discovery-BzaOti7l.js";
|
|
7
|
+
import { t as ModelLoader } from "./loader-C-eqwp3M.js";
|
|
8
|
+
import { s as toFloatTexture, t as blendPixel } from "./blend-CHP2-j9U.js";
|
|
9
|
+
import { r as encodeRasterAsset, t as encodeAnimatedIcon } from "./encode-3u49i-eD.js";
|
|
10
|
+
import { t as classifyItemStyle } from "./item-styles-DJ3LWZS2.js";
|
|
11
|
+
import { t as minifyStylesheet } from "./minify-bjMRmr5J.js";
|
|
12
|
+
import { t as generateStylesheet } from "./stylesheet-CovT3B2S.js";
|
|
13
|
+
import { a as renderModelFrames, i as renderModel, n as boxDownscale, r as pointResize } from "./renderer-CmOz6WI9.js";
|
|
14
|
+
import { n as renderEntityFallback, r as spawnEggTints, t as renderDyedVariantFallback } from "./entity-fallback-CodtI6v8.js";
|
|
15
|
+
import { i as renderGeo, t as findGeoForItem } from "./geo-B5VqGulc.js";
|
|
16
|
+
import { t as legacyTintsForChain } from "./legacy-tints-B09J0Rxh.js";
|
|
17
|
+
import { a as resolveTints } from "./tints-FQlxTzUL.js";
|
|
18
|
+
import { n as TextureLoader } from "./loader-CBzn3Koc.js";
|
|
19
|
+
import path from "node:path";
|
|
20
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
21
|
+
//#region src/run.ts
|
|
22
|
+
/**
|
|
23
|
+
* Render-run orchestration: discover items, evaluate definitions, render,
|
|
24
|
+
* encode, write images + stylesheet + item list. Unlike upstream, failures are
|
|
25
|
+
* per-item, collected, and reported — a run summary counts files, never log lines.
|
|
26
|
+
*/
|
|
27
|
+
async function run(options) {
|
|
28
|
+
const namespaces = options.namespaces ?? ["minecraft"];
|
|
29
|
+
const size = options.size ?? 64;
|
|
30
|
+
const quality = options.quality ?? 2;
|
|
31
|
+
const prefix = options.prefix ?? "rc-";
|
|
32
|
+
const format = options.format ?? "webp";
|
|
33
|
+
const fallback = options.fallback ?? true;
|
|
34
|
+
const lightingProfile = options.lightingProfile ?? "modern";
|
|
35
|
+
const dynamic = options.builtin ? builtinDynamicResources() : null;
|
|
36
|
+
const resources = options.builtin && dynamic ? new LayeredResourceManager([
|
|
37
|
+
new FolderResourceManager(options.builtin),
|
|
38
|
+
dynamic.layer,
|
|
39
|
+
options.resources
|
|
40
|
+
]) : options.resources;
|
|
41
|
+
const models = new ModelLoader(resources);
|
|
42
|
+
const textures = new TextureLoader(resources);
|
|
43
|
+
const glint = await resolveEnchantmentGlint(resources);
|
|
44
|
+
if (!glint) throw new Error("Missing enchantment glint texture (minecraft:misc/enchanted_glint_item or enchanted_item_glint)");
|
|
45
|
+
const encodedGlint = await encodeRasterAsset(glint, fallback ? ["png", format] : [format]);
|
|
46
|
+
textures.setAtlasResolver(await loadAtlasResolver(resources, (locator) => textures.load(locator)));
|
|
47
|
+
const ids = [];
|
|
48
|
+
const seen = /* @__PURE__ */ new Set();
|
|
49
|
+
if (options.builtin) for (const placeholder of ["renderchest:unknown", "renderchest:empty"]) {
|
|
50
|
+
seen.add(placeholder);
|
|
51
|
+
ids.push(placeholder);
|
|
52
|
+
}
|
|
53
|
+
for (const namespace of namespaces) for (const item of await discoverItems(resources, namespace)) {
|
|
54
|
+
if (seen.has(item.id)) continue;
|
|
55
|
+
if (options.builtin && !await itemExistsIn(options.resources, item.id)) continue;
|
|
56
|
+
seen.add(item.id);
|
|
57
|
+
ids.push(item.id);
|
|
58
|
+
}
|
|
59
|
+
if (dynamic && namespaces.includes("minecraft")) {
|
|
60
|
+
const hasTrims = await resources.hasResource("texture", ResourceLocator.parse("minecraft:trims/color_palettes/trim_palette"));
|
|
61
|
+
const groupAvailable = {
|
|
62
|
+
_armor_trims: hasTrims,
|
|
63
|
+
_leather_armor: hasTrims,
|
|
64
|
+
_decorated_pot: await resources.hasResource("texture", ResourceLocator.parse("minecraft:entity/decorated_pot/decorated_pot_base")),
|
|
65
|
+
_crossbow: await resources.hasResource("model", ResourceLocator.parse("minecraft:item/crossbow_arrow"))
|
|
66
|
+
};
|
|
67
|
+
for (const item of dynamic.items) if ((groupAvailable[item.id.split(":", 1)[0]] ?? true) && !seen.has(item.id)) {
|
|
68
|
+
seen.add(item.id);
|
|
69
|
+
ids.push(item.id);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const rendered = [];
|
|
73
|
+
const failed = [];
|
|
74
|
+
const spriteFallbacks = [];
|
|
75
|
+
const skippedTemplates = [];
|
|
76
|
+
const styles = [];
|
|
77
|
+
let writtenFiles = 0;
|
|
78
|
+
await mkdir(options.output, { recursive: true });
|
|
79
|
+
for (const [extension, buffer] of encodedGlint) {
|
|
80
|
+
await writeFile(path.join(options.output, `${prefix}enchantment.${extension}`), buffer);
|
|
81
|
+
writtenFiles++;
|
|
82
|
+
}
|
|
83
|
+
let templateParents = null;
|
|
84
|
+
const loadTemplateParents = async () => {
|
|
85
|
+
const parents = /* @__PURE__ */ new Set();
|
|
86
|
+
for (const namespace of namespaces) for (const modelLocator of await resources.listResources("model", namespace)) {
|
|
87
|
+
if (!modelLocator.path.startsWith("item/")) continue;
|
|
88
|
+
const raw = await resources.getResource("model", modelLocator);
|
|
89
|
+
if (!raw) continue;
|
|
90
|
+
try {
|
|
91
|
+
const parent = JSON.parse(raw.toString("utf8")).parent;
|
|
92
|
+
if (typeof parent === "string") parents.add(ResourceLocator.parse(parent).toString());
|
|
93
|
+
} catch {}
|
|
94
|
+
}
|
|
95
|
+
return parents;
|
|
96
|
+
};
|
|
97
|
+
const isTemplateModel = async (id) => {
|
|
98
|
+
const locator = ResourceLocator.parse(id);
|
|
99
|
+
if (await resources.hasResource("itemDefinition", locator)) return false;
|
|
100
|
+
templateParents ??= loadTemplateParents();
|
|
101
|
+
return (await templateParents).has(new ResourceLocator(locator.namespace, `item/${locator.path}`).toString());
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Code-rendered models often still ship a flat item sprite (the old
|
|
105
|
+
* pipeline's black-icon audit checked exactly this). A real sprite beats
|
|
106
|
+
* no icon; the fallback is recorded so it is never a silent substitution.
|
|
107
|
+
*/
|
|
108
|
+
const spriteFallback = async (id) => {
|
|
109
|
+
const locator = ResourceLocator.parse(id);
|
|
110
|
+
for (const directory of ["item", "items"]) {
|
|
111
|
+
const texture = await textures.load(new ResourceLocator(locator.namespace, `${directory}/${locator.path}`));
|
|
112
|
+
if (texture) {
|
|
113
|
+
const float = toFloatTexture(texture);
|
|
114
|
+
const upscaled = pointResize(float, size * quality, size * quality);
|
|
115
|
+
return quality === 1 ? upscaled : boxDownscale(upscaled, quality);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
};
|
|
120
|
+
const concurrency = Math.max(1, options.concurrency ?? 8);
|
|
121
|
+
let nextIndex = 0;
|
|
122
|
+
let completed = 0;
|
|
123
|
+
const renderFrames = async (id) => {
|
|
124
|
+
const instructions = await resolveItem(resources, id, defaultProperties());
|
|
125
|
+
let frames;
|
|
126
|
+
let delaysMs;
|
|
127
|
+
if (instructions.length === 1) {
|
|
128
|
+
const model = await models.load(instructions[0].model);
|
|
129
|
+
let tints = instructions[0].tints.length > 0 ? await resolveTints(instructions[0].tints, { textures }) : await legacyTintsForChain(model.chain, textures);
|
|
130
|
+
if (!tints && model.chain.some((entry) => entry.endsWith("item/template_spawn_egg"))) tints = await spawnEggTints(id, resources, textures).catch(() => null);
|
|
131
|
+
tints ??= [];
|
|
132
|
+
const result = await renderModelFrames(model, textures, {
|
|
133
|
+
size,
|
|
134
|
+
quality,
|
|
135
|
+
lightingProfile,
|
|
136
|
+
itemTransform: instructions[0].transform,
|
|
137
|
+
tints,
|
|
138
|
+
resources
|
|
139
|
+
});
|
|
140
|
+
frames = result.frames;
|
|
141
|
+
delaysMs = result.delaysMs;
|
|
142
|
+
} else {
|
|
143
|
+
let combined = null;
|
|
144
|
+
for (const instruction of instructions) {
|
|
145
|
+
const model = await models.load(instruction.model);
|
|
146
|
+
const tints = instruction.tints.length > 0 ? await resolveTints(instruction.tints, { textures }) : await legacyTintsForChain(model.chain, textures) ?? [];
|
|
147
|
+
const renderedModel = await renderModel(model, textures, {
|
|
148
|
+
size,
|
|
149
|
+
quality,
|
|
150
|
+
lightingProfile,
|
|
151
|
+
itemTransform: instruction.transform,
|
|
152
|
+
tints,
|
|
153
|
+
resources
|
|
154
|
+
});
|
|
155
|
+
combined = combined === null ? renderedModel : blendOver(combined, renderedModel);
|
|
156
|
+
}
|
|
157
|
+
frames = [combined ?? {
|
|
158
|
+
width: size,
|
|
159
|
+
height: size,
|
|
160
|
+
data: new Float64Array(size * size * 4)
|
|
161
|
+
}];
|
|
162
|
+
delaysMs = [50];
|
|
163
|
+
}
|
|
164
|
+
if (frames.length === 0) {
|
|
165
|
+
frames = [{
|
|
166
|
+
width: size,
|
|
167
|
+
height: size,
|
|
168
|
+
data: new Float64Array(size * size * 4)
|
|
169
|
+
}];
|
|
170
|
+
delaysMs = [50];
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
frames,
|
|
174
|
+
delaysMs
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
const renderOne = async (index) => {
|
|
178
|
+
const id = ids[index];
|
|
179
|
+
let frames;
|
|
180
|
+
let delaysMs;
|
|
181
|
+
let usedFallback = false;
|
|
182
|
+
try {
|
|
183
|
+
({frames, delaysMs} = await renderFrames(id));
|
|
184
|
+
} catch (err) {
|
|
185
|
+
const blockLocator = ResourceLocator.parse(id);
|
|
186
|
+
const blockRender = await models.load(new ResourceLocator(blockLocator.namespace, `block/${blockLocator.path}`)).then((model) => renderModel(model, textures, {
|
|
187
|
+
size,
|
|
188
|
+
quality,
|
|
189
|
+
lightingProfile,
|
|
190
|
+
resources
|
|
191
|
+
})).catch(() => null);
|
|
192
|
+
const geo = blockRender ? null : await findGeoForItem(resources, id).catch(() => null);
|
|
193
|
+
const geoRender = geo ? await renderGeo(geo.geo, geo.texture, textures, {
|
|
194
|
+
size,
|
|
195
|
+
quality,
|
|
196
|
+
lightingProfile
|
|
197
|
+
}).catch(() => null) : null;
|
|
198
|
+
let fallbackRender = blockRender ?? (geoRender && quality !== 1 ? boxDownscale(geoRender, quality) : geoRender);
|
|
199
|
+
fallbackRender ??= options.builtin ? await renderEntityFallback(id, models, textures, resources, {
|
|
200
|
+
size,
|
|
201
|
+
quality,
|
|
202
|
+
lightingProfile,
|
|
203
|
+
resources
|
|
204
|
+
}).catch(() => null) : null;
|
|
205
|
+
fallbackRender ??= await renderDyedVariantFallback(id, models, textures, {
|
|
206
|
+
size,
|
|
207
|
+
quality,
|
|
208
|
+
lightingProfile,
|
|
209
|
+
resources
|
|
210
|
+
}).catch(() => null);
|
|
211
|
+
if (fallbackRender) {
|
|
212
|
+
frames = [fallbackRender];
|
|
213
|
+
delaysMs = [50];
|
|
214
|
+
} else {
|
|
215
|
+
const fallback = await spriteFallback(id).catch(() => null);
|
|
216
|
+
if (!fallback) {
|
|
217
|
+
if (await isTemplateModel(id).catch(() => false)) skippedTemplates.push(id);
|
|
218
|
+
else failed.push({
|
|
219
|
+
id,
|
|
220
|
+
error: err.message
|
|
221
|
+
});
|
|
222
|
+
completed++;
|
|
223
|
+
options.onProgress?.(completed, ids.length, id, err.message);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
frames = [fallback];
|
|
227
|
+
delaysMs = [50];
|
|
228
|
+
usedFallback = true;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
const encoded = await encodeAnimatedIcon(frames, delaysMs, {
|
|
233
|
+
webp: true,
|
|
234
|
+
gif: options.gif,
|
|
235
|
+
avif: options.avif || format === "avif"
|
|
236
|
+
});
|
|
237
|
+
const [namespace, itemPath] = id.split(":", 2);
|
|
238
|
+
const imageBase = path.join(options.output, "items", namespace, `${itemPath}`);
|
|
239
|
+
await mkdir(path.dirname(imageBase), { recursive: true });
|
|
240
|
+
await writeFile(`${imageBase}.png`, encoded.png);
|
|
241
|
+
writtenFiles++;
|
|
242
|
+
for (const [extension, buffer] of [
|
|
243
|
+
["webp", encoded.webp],
|
|
244
|
+
["gif", encoded.gif],
|
|
245
|
+
["avif", encoded.avif]
|
|
246
|
+
]) {
|
|
247
|
+
if (!buffer) continue;
|
|
248
|
+
await writeFile(`${imageBase}.${extension}`, buffer);
|
|
249
|
+
writtenFiles++;
|
|
250
|
+
}
|
|
251
|
+
rendered.push(id);
|
|
252
|
+
if (usedFallback) spriteFallbacks.push(id);
|
|
253
|
+
completed++;
|
|
254
|
+
options.onProgress?.(completed, ids.length, id);
|
|
255
|
+
} catch (err) {
|
|
256
|
+
failed.push({
|
|
257
|
+
id,
|
|
258
|
+
error: err.message
|
|
259
|
+
});
|
|
260
|
+
completed++;
|
|
261
|
+
options.onProgress?.(completed, ids.length, id, err.message);
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, ids.length) }, async () => {
|
|
265
|
+
while (nextIndex < ids.length) {
|
|
266
|
+
const index = nextIndex++;
|
|
267
|
+
await renderOne(index);
|
|
268
|
+
}
|
|
269
|
+
}));
|
|
270
|
+
rendered.sort((left, right) => left.localeCompare(right));
|
|
271
|
+
const renderedSet = new Set(rendered);
|
|
272
|
+
for (const id of rendered) {
|
|
273
|
+
const style = classifyItemStyle(id, renderedSet);
|
|
274
|
+
if (style) styles.push(style);
|
|
275
|
+
}
|
|
276
|
+
const stylesheet = generateStylesheet(styles, {
|
|
277
|
+
prefix,
|
|
278
|
+
format,
|
|
279
|
+
fallback
|
|
280
|
+
});
|
|
281
|
+
const finalStylesheet = options.minify === false ? stylesheet : minifyStylesheet(stylesheet, (message) => options.onProgress?.(0, 0, "stylesheet", message));
|
|
282
|
+
await writeFile(path.join(options.output, `${prefix}${namespaces[0]}-${size}.css`), finalStylesheet);
|
|
283
|
+
if (options.itemList !== false) {
|
|
284
|
+
await writeFile(path.join(options.output, `${prefix}${namespaces[0]}.json`), JSON.stringify(rendered));
|
|
285
|
+
await writeFile(path.join(options.output, `${prefix}${namespaces[0]}-failures.json`), JSON.stringify(failed, null, " "));
|
|
286
|
+
}
|
|
287
|
+
return {
|
|
288
|
+
rendered,
|
|
289
|
+
failed,
|
|
290
|
+
spriteFallbacks,
|
|
291
|
+
skippedTemplates,
|
|
292
|
+
writtenFiles
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
async function itemExistsIn(resources, id) {
|
|
296
|
+
const locator = ResourceLocator.parse(id);
|
|
297
|
+
if (await resources.hasResource("itemDefinition", locator)) return true;
|
|
298
|
+
return resources.hasResource("model", new ResourceLocator(locator.namespace, `item/${locator.path}`));
|
|
299
|
+
}
|
|
300
|
+
/** Resolve both names used on either side of Minecraft 1.19.3. */
|
|
301
|
+
async function resolveEnchantmentGlint(resources) {
|
|
302
|
+
for (const path of ["misc/enchanted_glint_item", "misc/enchanted_item_glint"]) {
|
|
303
|
+
const texture = await resources.getResource("texture", new ResourceLocator("minecraft", path));
|
|
304
|
+
if (texture) return texture;
|
|
305
|
+
}
|
|
306
|
+
return null;
|
|
307
|
+
}
|
|
308
|
+
function blendOver(base, layer) {
|
|
309
|
+
for (let offset = 0; offset < base.data.length; offset += 4) {
|
|
310
|
+
const alpha = layer.data[offset + 3];
|
|
311
|
+
if (alpha > 0) blendPixel(base.data, offset, layer.data[offset], layer.data[offset + 1], layer.data[offset + 2], alpha);
|
|
312
|
+
}
|
|
313
|
+
return base;
|
|
314
|
+
}
|
|
315
|
+
//#endregion
|
|
316
|
+
export { run as t };
|
package/dist/run.d.ts
ADDED
package/dist/run.js
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { n as ResourceLocator } from "./locator-ycZzh_6z.js";
|
|
2
|
+
//#region src/atlas/sources.ts
|
|
3
|
+
/**
|
|
4
|
+
* Atlas texture sources (docs/research/renderchest-spec.md §6): directory,
|
|
5
|
+
* single, unstitch, paletted_permutations. Sources resolve sprite ids to
|
|
6
|
+
* texture content; the resolver checks sources in reverse load order
|
|
7
|
+
* (last-loaded wins, matching upstream's unshift behavior).
|
|
8
|
+
*/
|
|
9
|
+
var AtlasSourceError = class extends Error {};
|
|
10
|
+
var DirectoryAtlasSource = class {
|
|
11
|
+
namespace;
|
|
12
|
+
settings;
|
|
13
|
+
hasTexture;
|
|
14
|
+
constructor(namespace, settings, hasTexture) {
|
|
15
|
+
this.namespace = namespace;
|
|
16
|
+
this.settings = settings;
|
|
17
|
+
this.hasTexture = hasTexture;
|
|
18
|
+
}
|
|
19
|
+
target(locator) {
|
|
20
|
+
const rest = locator.path.slice(this.settings.prefix.length);
|
|
21
|
+
return new ResourceLocator(locator.namespace, `${this.settings.source}/${rest}`);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The rewritten file must actually exist — gui.json ships a directory source
|
|
25
|
+
* with an empty prefix that would otherwise claim every sprite id.
|
|
26
|
+
*/
|
|
27
|
+
async has(locator) {
|
|
28
|
+
if (locator.namespace !== this.namespace || !locator.path.startsWith(this.settings.prefix)) return false;
|
|
29
|
+
return this.hasTexture(this.target(locator));
|
|
30
|
+
}
|
|
31
|
+
async resolve(locator) {
|
|
32
|
+
if (!await this.has(locator)) return null;
|
|
33
|
+
return {
|
|
34
|
+
kind: "file",
|
|
35
|
+
locator: this.target(locator)
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var SingleAtlasSource = class {
|
|
40
|
+
spriteId;
|
|
41
|
+
resource;
|
|
42
|
+
hasTexture;
|
|
43
|
+
constructor(settings, hasTexture) {
|
|
44
|
+
this.resource = ResourceLocator.parse(settings.resource);
|
|
45
|
+
this.spriteId = ResourceLocator.parse(settings.sprite ?? settings.resource);
|
|
46
|
+
this.hasTexture = hasTexture;
|
|
47
|
+
}
|
|
48
|
+
async has(locator) {
|
|
49
|
+
return locator.equals(this.spriteId) && this.hasTexture(this.resource);
|
|
50
|
+
}
|
|
51
|
+
async resolve(locator) {
|
|
52
|
+
return await this.has(locator) ? {
|
|
53
|
+
kind: "file",
|
|
54
|
+
locator: this.resource
|
|
55
|
+
} : null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Armor-trim style palette swaps: a key palette maps colors → indices; each
|
|
60
|
+
* permutation palette replaces pixels whose exact RGBA matches a key entry
|
|
61
|
+
* with the pixel at the same row-major index in the permutation image.
|
|
62
|
+
*/
|
|
63
|
+
var PalettedPermutationsSource = class PalettedPermutationsSource {
|
|
64
|
+
static encode(r, g, b, a) {
|
|
65
|
+
return r * 16777216 + g * 65536 + b * 256 + a;
|
|
66
|
+
}
|
|
67
|
+
settings;
|
|
68
|
+
sprites = /* @__PURE__ */ new Map();
|
|
69
|
+
keyPalette = null;
|
|
70
|
+
loadTexture;
|
|
71
|
+
constructor(settings, loadTexture) {
|
|
72
|
+
this.loadTexture = loadTexture;
|
|
73
|
+
this.settings = settings;
|
|
74
|
+
const separator = settings.separator ?? "_";
|
|
75
|
+
for (const [name, palette] of Object.entries(settings.permutations)) {
|
|
76
|
+
const paletteLocator = ResourceLocator.parse(palette);
|
|
77
|
+
for (const base of settings.textures) {
|
|
78
|
+
const baseLocator = ResourceLocator.parse(base.replace(/\.png$/, ""));
|
|
79
|
+
const sprite = new ResourceLocator(baseLocator.namespace, `${baseLocator.path}${separator}${name}`);
|
|
80
|
+
this.sprites.set(sprite.toString(), {
|
|
81
|
+
base: baseLocator,
|
|
82
|
+
palette: paletteLocator
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async getKeyPalette() {
|
|
88
|
+
if (this.keyPalette) return this.keyPalette;
|
|
89
|
+
const keyTexture = await this.loadTexture(ResourceLocator.parse(this.settings.palette_key));
|
|
90
|
+
if (!keyTexture) throw new AtlasSourceError(`Missing palette key ${this.settings.palette_key}`);
|
|
91
|
+
const palette = /* @__PURE__ */ new Map();
|
|
92
|
+
for (let index = 0; index < keyTexture.width * keyTexture.height; index++) {
|
|
93
|
+
const offset = index * 4;
|
|
94
|
+
palette.set(PalettedPermutationsSource.encode(keyTexture.data[offset], keyTexture.data[offset + 1], keyTexture.data[offset + 2], keyTexture.data[offset + 3]), index);
|
|
95
|
+
}
|
|
96
|
+
this.keyPalette = palette;
|
|
97
|
+
return palette;
|
|
98
|
+
}
|
|
99
|
+
has(locator) {
|
|
100
|
+
return this.sprites.has(locator.toString());
|
|
101
|
+
}
|
|
102
|
+
async resolve(locator) {
|
|
103
|
+
const sprite = this.sprites.get(locator.toString());
|
|
104
|
+
if (!sprite) return null;
|
|
105
|
+
const base = await this.loadTexture(sprite.base);
|
|
106
|
+
if (!base) return null;
|
|
107
|
+
const permutation = await this.loadTexture(sprite.palette);
|
|
108
|
+
if (!permutation) return null;
|
|
109
|
+
const keyPalette = await this.getKeyPalette();
|
|
110
|
+
const data = new Uint8ClampedArray(base.data);
|
|
111
|
+
for (let offset = 0; offset < data.length; offset += 4) {
|
|
112
|
+
const index = keyPalette.get(PalettedPermutationsSource.encode(data[offset], data[offset + 1], data[offset + 2], data[offset + 3]));
|
|
113
|
+
if (index === void 0) continue;
|
|
114
|
+
const x = index % permutation.width;
|
|
115
|
+
const y = Math.floor(index / permutation.width);
|
|
116
|
+
if (y >= permutation.height) continue;
|
|
117
|
+
const src = (y * permutation.width + x) * 4;
|
|
118
|
+
data[offset] = permutation.data[src];
|
|
119
|
+
data[offset + 1] = permutation.data[src + 1];
|
|
120
|
+
data[offset + 2] = permutation.data[src + 2];
|
|
121
|
+
data[offset + 3] = permutation.data[src + 3];
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
kind: "pixels",
|
|
125
|
+
texture: {
|
|
126
|
+
width: base.width,
|
|
127
|
+
height: base.height,
|
|
128
|
+
data
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
var UnstitchAtlasSource = class {
|
|
134
|
+
settings;
|
|
135
|
+
loadTexture;
|
|
136
|
+
constructor(settings, loadTexture) {
|
|
137
|
+
this.settings = settings;
|
|
138
|
+
this.loadTexture = loadTexture;
|
|
139
|
+
}
|
|
140
|
+
has(locator) {
|
|
141
|
+
return this.settings.regions.some((region) => ResourceLocator.parse(region.sprite).equals(locator));
|
|
142
|
+
}
|
|
143
|
+
async resolve(locator) {
|
|
144
|
+
const region = this.settings.regions.find((entry) => ResourceLocator.parse(entry.sprite).equals(locator));
|
|
145
|
+
if (!region) return null;
|
|
146
|
+
const base = await this.loadTexture(ResourceLocator.parse(this.settings.resource));
|
|
147
|
+
if (!base) return null;
|
|
148
|
+
const divisorX = this.settings.divisor_x ?? 1;
|
|
149
|
+
const divisorY = this.settings.divisor_y ?? 1;
|
|
150
|
+
const width = Math.round(region.width / divisorX * base.width);
|
|
151
|
+
const height = Math.round(region.height / divisorY * base.height);
|
|
152
|
+
const left = Math.round(region.x / divisorX * base.width);
|
|
153
|
+
const top = Math.round(region.y / divisorY * base.height);
|
|
154
|
+
const data = new Uint8ClampedArray(width * height * 4);
|
|
155
|
+
for (let y = 0; y < height; y++) {
|
|
156
|
+
const srcStart = ((top + y) * base.width + left) * 4;
|
|
157
|
+
data.set(base.data.subarray(srcStart, srcStart + width * 4), y * width * 4);
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
kind: "pixels",
|
|
161
|
+
texture: {
|
|
162
|
+
width,
|
|
163
|
+
height,
|
|
164
|
+
data
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Parses one atlas JSON's sources array. Unknown types are reported and
|
|
171
|
+
* skipped rather than failing the file — mods ship experimental source types,
|
|
172
|
+
* and losing a whole atlas over one is how items vanish.
|
|
173
|
+
*/
|
|
174
|
+
function parseAtlasSources(namespace, atlasJson, loadTexture, onUnknown, hasTexture = async (locator) => await loadTexture(locator) !== null) {
|
|
175
|
+
const sources = [];
|
|
176
|
+
for (const entry of atlasJson.sources ?? []) switch (String(entry.type ?? "").replace(/^minecraft:/, "")) {
|
|
177
|
+
case "directory":
|
|
178
|
+
sources.push(new DirectoryAtlasSource(namespace, entry, hasTexture));
|
|
179
|
+
break;
|
|
180
|
+
case "single":
|
|
181
|
+
sources.push(new SingleAtlasSource(entry, hasTexture));
|
|
182
|
+
break;
|
|
183
|
+
case "paletted_permutations":
|
|
184
|
+
sources.push(new PalettedPermutationsSource(entry, loadTexture));
|
|
185
|
+
break;
|
|
186
|
+
case "unstitch":
|
|
187
|
+
sources.push(new UnstitchAtlasSource(entry, loadTexture));
|
|
188
|
+
break;
|
|
189
|
+
case "filter": break;
|
|
190
|
+
default: onUnknown?.(String(entry.type));
|
|
191
|
+
}
|
|
192
|
+
return sources;
|
|
193
|
+
}
|
|
194
|
+
/** Sources checked in reverse insertion order (last added wins), per upstream. */
|
|
195
|
+
function createAtlasResolver(sources) {
|
|
196
|
+
return { async resolve(locator) {
|
|
197
|
+
for (let i = sources.length - 1; i >= 0; i--) if (await sources[i].has(locator)) return sources[i].resolve(locator);
|
|
198
|
+
return null;
|
|
199
|
+
} };
|
|
200
|
+
}
|
|
201
|
+
//#endregion
|
|
202
|
+
export { UnstitchAtlasSource as a, SingleAtlasSource as i, DirectoryAtlasSource as n, createAtlasResolver as o, PalettedPermutationsSource as r, parseAtlasSources as s, AtlasSourceError as t };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { n as ResourceLocator } from "./locator-jDbdUeTd.js";
|
|
2
|
+
import { r as Texture } from "./loader-TFFNV4Jl.js";
|
|
3
|
+
//#region src/atlas/sources.d.ts
|
|
4
|
+
declare class AtlasSourceError extends Error {}
|
|
5
|
+
interface AtlasSource {
|
|
6
|
+
/** Does this source provide the sprite id? */
|
|
7
|
+
has(locator: ResourceLocator): boolean | Promise<boolean>;
|
|
8
|
+
/** Resolve to the actual texture file locator, or synthesized pixels. */
|
|
9
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
10
|
+
}
|
|
11
|
+
type ResolvedSprite = {
|
|
12
|
+
kind: 'file';
|
|
13
|
+
locator: ResourceLocator;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'pixels';
|
|
16
|
+
texture: Texture;
|
|
17
|
+
};
|
|
18
|
+
interface DirectorySettings {
|
|
19
|
+
source: string;
|
|
20
|
+
prefix: string;
|
|
21
|
+
}
|
|
22
|
+
type HasTexture = (locator: ResourceLocator) => Promise<boolean>;
|
|
23
|
+
declare class DirectoryAtlasSource implements AtlasSource {
|
|
24
|
+
private readonly namespace;
|
|
25
|
+
private readonly settings;
|
|
26
|
+
private readonly hasTexture;
|
|
27
|
+
constructor(namespace: string, settings: DirectorySettings, hasTexture: HasTexture);
|
|
28
|
+
private target;
|
|
29
|
+
/**
|
|
30
|
+
* The rewritten file must actually exist — gui.json ships a directory source
|
|
31
|
+
* with an empty prefix that would otherwise claim every sprite id.
|
|
32
|
+
*/
|
|
33
|
+
has(locator: ResourceLocator): Promise<boolean>;
|
|
34
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
35
|
+
}
|
|
36
|
+
interface SingleSettings {
|
|
37
|
+
resource: string;
|
|
38
|
+
sprite?: string;
|
|
39
|
+
}
|
|
40
|
+
declare class SingleAtlasSource implements AtlasSource {
|
|
41
|
+
private readonly spriteId;
|
|
42
|
+
private readonly resource;
|
|
43
|
+
private readonly hasTexture;
|
|
44
|
+
constructor(settings: SingleSettings, hasTexture: HasTexture);
|
|
45
|
+
has(locator: ResourceLocator): Promise<boolean>;
|
|
46
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
47
|
+
}
|
|
48
|
+
interface PalettedPermutationsSettings {
|
|
49
|
+
textures: string[];
|
|
50
|
+
palette_key: string;
|
|
51
|
+
permutations: Record<string, string>;
|
|
52
|
+
separator?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Armor-trim style palette swaps: a key palette maps colors → indices; each
|
|
56
|
+
* permutation palette replaces pixels whose exact RGBA matches a key entry
|
|
57
|
+
* with the pixel at the same row-major index in the permutation image.
|
|
58
|
+
*/
|
|
59
|
+
declare class PalettedPermutationsSource implements AtlasSource {
|
|
60
|
+
private static encode;
|
|
61
|
+
private readonly settings;
|
|
62
|
+
private readonly sprites;
|
|
63
|
+
private keyPalette;
|
|
64
|
+
private readonly loadTexture;
|
|
65
|
+
constructor(settings: PalettedPermutationsSettings, loadTexture: (locator: ResourceLocator) => Promise<Texture | null>);
|
|
66
|
+
private getKeyPalette;
|
|
67
|
+
has(locator: ResourceLocator): boolean;
|
|
68
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
69
|
+
}
|
|
70
|
+
interface UnstitchRegion {
|
|
71
|
+
sprite: string;
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
width: number;
|
|
75
|
+
height: number;
|
|
76
|
+
}
|
|
77
|
+
interface UnstitchSettings {
|
|
78
|
+
resource: string;
|
|
79
|
+
regions: UnstitchRegion[];
|
|
80
|
+
divisor_x?: number;
|
|
81
|
+
divisor_y?: number;
|
|
82
|
+
}
|
|
83
|
+
declare class UnstitchAtlasSource implements AtlasSource {
|
|
84
|
+
private readonly settings;
|
|
85
|
+
private readonly loadTexture;
|
|
86
|
+
constructor(settings: UnstitchSettings, loadTexture: (locator: ResourceLocator) => Promise<Texture | null>);
|
|
87
|
+
has(locator: ResourceLocator): boolean;
|
|
88
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Parses one atlas JSON's sources array. Unknown types are reported and
|
|
92
|
+
* skipped rather than failing the file — mods ship experimental source types,
|
|
93
|
+
* and losing a whole atlas over one is how items vanish.
|
|
94
|
+
*/
|
|
95
|
+
declare function parseAtlasSources(namespace: string, atlasJson: {
|
|
96
|
+
sources?: Array<Record<string, unknown>>;
|
|
97
|
+
}, loadTexture: (locator: ResourceLocator) => Promise<Texture | null>, onUnknown?: (type: string) => void, hasTexture?: HasTexture): AtlasSource[];
|
|
98
|
+
interface AtlasResolver {
|
|
99
|
+
resolve(locator: ResourceLocator): Promise<ResolvedSprite | null>;
|
|
100
|
+
}
|
|
101
|
+
/** Sources checked in reverse insertion order (last added wins), per upstream. */
|
|
102
|
+
declare function createAtlasResolver(sources: AtlasSource[]): AtlasResolver;
|
|
103
|
+
//#endregion
|
|
104
|
+
export { HasTexture as a, SingleAtlasSource as c, parseAtlasSources as d, DirectoryAtlasSource as i, UnstitchAtlasSource as l, AtlasSource as n, PalettedPermutationsSource as o, AtlasSourceError as r, ResolvedSprite as s, AtlasResolver as t, createAtlasResolver as u };
|