@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,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,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 };
|