From 3f520f907727379bbed65546343e9237e10228dd Mon Sep 17 00:00:00 2001 From: Pedro Date: Sat, 27 Jan 2024 17:52:11 -0300 Subject: [PATCH] Texture replaced with render layer --- .../pedroricardo/HeadedRewrittenClient.java | 320 +++++++++--------- .../net/pedroricardo/content/HeadedHead.java | 21 +- .../content/TextureToHeadMap.java | 18 +- .../mixin/client/RenderHeadedHeadMixin.java | 3 +- 4 files changed, 181 insertions(+), 181 deletions(-) diff --git a/src/client/java/net/pedroricardo/HeadedRewrittenClient.java b/src/client/java/net/pedroricardo/HeadedRewrittenClient.java index 950aa56..133a434 100644 --- a/src/client/java/net/pedroricardo/HeadedRewrittenClient.java +++ b/src/client/java/net/pedroricardo/HeadedRewrittenClient.java @@ -29,166 +29,166 @@ public class HeadedRewrittenClient implements ClientModInitializer { @Override public void onInitializeClient() { HeadedEntityModelLayers.init(); - TextureToHeadMap.addHead(HeadURLs.WHITE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "White Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(0, false)); - TextureToHeadMap.addHead(HeadURLs.ORANGE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Orange Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(1, false)); - TextureToHeadMap.addHead(HeadURLs.MAGENTA_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Magenta Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(2, false)); - TextureToHeadMap.addHead(HeadURLs.LIGHT_BLUE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Light Blue Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(3, false)); - TextureToHeadMap.addHead(HeadURLs.YELLOW_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Yellow Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(4, false)); - TextureToHeadMap.addHead(HeadURLs.LIME_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Lime Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(5, false)); - TextureToHeadMap.addHead(HeadURLs.PINK_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Pink Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(6, false)); - TextureToHeadMap.addHead(HeadURLs.GRAY_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Gray Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(7, false)); - TextureToHeadMap.addHead(HeadURLs.LIGHT_GRAY_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Light Gray Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(8, false)); - TextureToHeadMap.addHead(HeadURLs.CYAN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Cyan Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(9, false)); - TextureToHeadMap.addHead(HeadURLs.PURPLE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Purple Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(10, false)); - TextureToHeadMap.addHead(HeadURLs.BLUE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Blue Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(11, false)); - TextureToHeadMap.addHead(HeadURLs.BROWN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Brown Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(12, false)); - TextureToHeadMap.addHead(HeadURLs.GREEN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Green Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(13, false)); - TextureToHeadMap.addHead(HeadURLs.RED_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Red Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(14, false)); - TextureToHeadMap.addHead(HeadURLs.BLACK_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "Black Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(15, false)); - TextureToHeadMap.addHead(HeadURLs.JEB_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), new Identifier("textures/entity/sheep/sheep.png"), "jeb_ Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(0, true)); - TextureToHeadMap.addHead(HeadURLs.ALLAY, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ALLAY_HEAD)), new Identifier("textures/entity/allay/allay.png"), "Allay", SoundEvents.ENTITY_ALLAY_AMBIENT_WITHOUT_ITEM.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.LUCY_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), new Identifier("textures/entity/axolotl/axolotl_lucy.png"), "Lucy Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WILD_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), new Identifier("textures/entity/axolotl/axolotl_wild.png"), "Wild Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GOLD_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), new Identifier("textures/entity/axolotl/axolotl_gold.png"), "Gold Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CYAN_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), new Identifier("textures/entity/axolotl/axolotl_cyan.png"), "Cyan Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLUE_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), new Identifier("textures/entity/axolotl/axolotl_blue.png"), "Blue Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BAT, (modelLoader) -> new BatHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BAT_HEAD)), new Identifier("textures/entity/bat.png"), "Bat", SoundEvents.ENTITY_BAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), new Identifier("textures/entity/bee/bee.png"), "Bee", SoundEvents.ENTITY_BEE_LOOP.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.POLLINATED_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), new Identifier("textures/entity/bee/bee_nectar.png"), "Pollinated Bee", SoundEvents.ENTITY_BEE_POLLINATE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ANGRY_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), new Identifier("textures/entity/bee/bee_angry.png"), "Angry Bee", SoundEvents.ENTITY_BEE_LOOP_AGGRESSIVE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ANGRY_POLLINATED_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), new Identifier("textures/entity/bee/bee_angry_nectar.png"), "Angry Pollinated Bee", SoundEvents.ENTITY_BEE_LOOP_AGGRESSIVE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLAZE, (modelLoader) -> new SkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BLAZE_HEAD)), new Identifier("textures/entity/blaze.png"), "Blaze", SoundEvents.ENTITY_BLAZE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BREEZE, (modelLoader) -> new BreezeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BREEZE_HEAD)), new Identifier("textures/entity/breeze/breeze.png"), "Breeze", SoundEvents.ENTITY_BREEZE_IDLE_GROUND.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new BreezeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BREEZE_EYES)), RenderLayer.getEntityTranslucentEmissiveNoOutline(new Identifier("textures/entity/breeze/breeze.png")))); - TextureToHeadMap.addHead(HeadURLs.CAMEL, (modelLoader) -> new CamelHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CAMEL_HEAD)), new Identifier("textures/entity/camel/camel.png"), "Camel", SoundEvents.ENTITY_CAMEL_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ALL_BLACK_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/all_black.png"), "Black Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLACK_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/black.png"), "Tuxedo Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BRITISH_SHORTHAIR_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/british_shorthair.png"), "British Shorthair", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CALICO_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/calico.png"), "Calico Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.JELLIE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/jellie.png"), "Jellie Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PERSIAN_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/persian.png"), "Persian Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.RAGDOLL_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/ragdoll.png"), "Ragdoll Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.RED_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/red.png"), "Red Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SIAMESE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/siamese.png"), "Siamese Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.TABBY_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/tabby.png"), "Tabby Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WHITE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/white.png"), "White Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CAVE_SPIDER, (modelLoader) -> new SpiderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CAVE_SPIDER_HEAD), 0.7f), new Identifier("textures/entity/spider/cave_spider.png"), "Cave Spider", SoundEvents.ENTITY_SPIDER_AMBIENT.getId().toString(), (modelLoader) -> new SpiderEyesHeadFeatureRenderer(HeadedEntityModelLayers.CAVE_SPIDER_EYES, 0.7f)); - TextureToHeadMap.addHead(HeadURLs.CHICKEN, (modelLoader) -> new ChickenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CHICKEN_HEAD)), new Identifier("textures/entity/chicken.png"), "Chicken", SoundEvents.ENTITY_CHICKEN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.COD, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.COD), new Vector3f(15.0f, 4.0f, 2.0f), 0.0f, 1.5f, -0.216875f, 90, 0), new Identifier("textures/entity/fish/cod.png"), "Cod", SoundEvents.ENTITY_COD_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.COW, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), new Identifier("textures/entity/cow/cow.png"), "Cow", SoundEvents.ENTITY_COW_AMBIENT.getId().toString()); - TextureToHeadMap.addHeadNotInGroup(HeadURLs.CREPEER2159, (modelLoader) -> new ArmorStandHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ARMOR_STAND_HEAD)), new Identifier("textures/entity/armorstand/wood.png"), "Armor Stand", SoundEvents.ENTITY_GENERIC_EXPLODE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.DOLPHIN, (modelLoader) -> new DolphinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DOLPHIN_HEAD)), new Identifier("textures/entity/dolphin.png"), "Dolphin", SoundEvents.ENTITY_DOLPHIN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.DONKEY, (modelLoader) -> new DonkeyHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DONKEY_HEAD)), new Identifier("textures/entity/horse/donkey.png"), "Donkey", SoundEvents.ENTITY_DONKEY_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.DROWNED, (modelLoader) -> new DrownedHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DROWNED_HEAD)), new Identifier("textures/entity/zombie/drowned.png"), "Drowned", SoundEvents.ENTITY_DROWNED_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new DrownedHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DROWNED_HEAD_OUTER_LAYER)), RenderLayer.getEntityCutoutNoCullZOffset(new Identifier("textures/entity/zombie/drowned_outer_layer.png")))); - TextureToHeadMap.addHead(HeadURLs.ELDER_GUARDIAN, (modelLoader) -> new GuardianHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GUARDIAN_HEAD)), new Identifier("textures/entity/guardian_elder.png"), "Elder Guardian", SoundEvents.ENTITY_ELDER_GUARDIAN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ENDERMAN, (modelLoader) -> new EndermanHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ENDERMAN_HEAD)), new Identifier("textures/entity/enderman/enderman.png"), "Enderman", SoundEvents.ENTITY_ENDERMAN_AMBIENT.getId().toString(), (modelLoader) -> new EndermanEyesHeadFeatureRenderer()); - TextureToHeadMap.addHead(HeadURLs.ENDERMITE, (modelLoader) -> new EndermiteHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ENDERMITE_HEAD)), new Identifier("textures/entity/endermite.png"), "Endermite", SoundEvents.ENTITY_ENDERMITE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.EVOKER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.EVOKER_HEAD)), new Identifier("textures/entity/illager/evoker.png"), "Evoker", SoundEvents.ENTITY_EVOKER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.FOX, (modelLoader) -> new FoxHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FOX_HEAD)), new Identifier("textures/entity/fox/fox.png"), "Fox", SoundEvents.ENTITY_FOX_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SNOW_FOX, (modelLoader) -> new FoxHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FOX_HEAD)), new Identifier("textures/entity/fox/snow_fox.png"), "Snow Fox", SoundEvents.ENTITY_FOX_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.COLD_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), new Identifier("textures/entity/frog/cold_frog.png"), "Cold Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.TEMPERATE_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), new Identifier("textures/entity/frog/temperate_frog.png"), "Temperate Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WARM_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), new Identifier("textures/entity/frog/warm_frog.png"), "Warm Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GHAST, (modelLoader) -> new GhastHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GHAST_HEAD)), new Identifier("textures/entity/ghast/ghast.png"), "Ghast", SoundEvents.ENTITY_GHAST_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GLOW_SQUID, (modelLoader) -> new SquidHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SQUID_HEAD)), new Identifier("textures/entity/squid/glow_squid.png"), "Glow Squid", SoundEvents.ENTITY_GLOW_SQUID_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GOAT, (modelLoader) -> new GoatHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GOAT_HEAD)), new Identifier("textures/entity/goat/goat.png"), "Goat", SoundEvents.ENTITY_GOAT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GUARDIAN, (modelLoader) -> new GuardianHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GUARDIAN_HEAD)), new Identifier("textures/entity/guardian.png"), "Guardian", SoundEvents.ENTITY_GUARDIAN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.HOGLIN, (modelLoader) -> new HoglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HOGLIN_HEAD)), new Identifier("textures/entity/hoglin/hoglin.png"), "Hoglin", SoundEvents.ENTITY_HOGLIN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WHITE_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_white.png"), "White Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CREAMY_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_creamy.png"), "Creamy Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CHESTNUT_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_chestnut.png"), "Chestnut Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BROWN_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_brown.png"), "Brown Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLACK_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_black.png"), "Black Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GRAY_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_gray.png"), "Gray Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.DARK_BROWN_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_darkbrown.png"), "Dark Brown Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.HUSK, (modelLoader) -> new SkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HUSK_HEAD)), new Identifier("textures/entity/zombie/husk.png"), "Husk", SoundEvents.ENTITY_HUSK_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ILLUSIONER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ILLUSIONER_HEAD)), new Identifier("textures/entity/illager/illusioner.png"), "Illusioner", SoundEvents.ENTITY_ILLUSIONER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.IRON_GOLEM, (modelLoader) -> new IronGolemHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.IRON_GOLEM_HEAD)), new Identifier("textures/entity/iron_golem/iron_golem.png"), "Iron Golem", SoundEvents.ENTITY_IRON_GOLEM_STEP.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CREAMY_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/creamy.png"), "Creamy Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WHITE_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/white.png"), "White Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BROWN_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/brown.png"), "Brown Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GRAY_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/gray.png"), "Gray Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.MAGMA_CUBE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.MAGMA_CUBE), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), new Identifier("textures/entity/slime/magmacube.png"), "Magma Cube", SoundEvents.ENTITY_MAGMA_CUBE_JUMP.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.RED_MOOSHROOM, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), new Identifier("textures/entity/cow/red_mooshroom.png"), "Red Mooshroom", SoundEvents.ENTITY_COW_AMBIENT.getId().toString(), (modelLoader) -> new MooshroomMushroomHeadFeatureRenderer(Blocks.RED_MUSHROOM, new CowHeadEntityModel(MinecraftClient.getInstance().getEntityModelLoader().getModelPart(HeadedEntityModelLayers.COW_HEAD)))); - TextureToHeadMap.addHead(HeadURLs.BROWN_MOOSHROOM, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), new Identifier("textures/entity/cow/brown_mooshroom.png"), "Brown Mooshroom", SoundEvents.ENTITY_COW_AMBIENT.getId().toString(), (modelLoader) -> new MooshroomMushroomHeadFeatureRenderer(Blocks.BROWN_MUSHROOM, new CowHeadEntityModel(MinecraftClient.getInstance().getEntityModelLoader().getModelPart(HeadedEntityModelLayers.COW_HEAD)))); - TextureToHeadMap.addHead(HeadURLs.MULE, (modelLoader) -> new DonkeyHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DONKEY_HEAD)), new Identifier("textures/entity/horse/mule.png"), "Mule", SoundEvents.ENTITY_MULE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.OCELOT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), new Identifier("textures/entity/cat/ocelot.png"), "Ocelot", SoundEvents.ENTITY_OCELOT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.AGGRESSIVE_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/aggressive_panda.png"), "Aggressive Panda", SoundEvents.ENTITY_PANDA_AGGRESSIVE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BROWN_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/brown_panda.png"), "Brown Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.LAZY_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/lazy_panda.png"), "Lazy Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/panda.png"), "Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PLAYFUL_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/playful_panda.png"), "Playful Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WEAK_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/weak_panda.png"), "Weak Panda", SoundEvents.ENTITY_PANDA_SNEEZE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WORRIED_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), new Identifier("textures/entity/panda/worried_panda.png"), "Worried Panda", SoundEvents.ENTITY_PANDA_WORRIED_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLUE_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), new Identifier("textures/entity/parrot/parrot_blue.png"), "Blue Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GREEN_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), new Identifier("textures/entity/parrot/parrot_green.png"), "Green Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GRAY_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), new Identifier("textures/entity/parrot/parrot_grey.png"), "Gray Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.RED_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), new Identifier("textures/entity/parrot/parrot_red_blue.png"), "Red Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CYAN_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), new Identifier("textures/entity/parrot/parrot_yellow_blue.png"), "Cyan Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PHANTOM, (modelLoader) -> new PhantomHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PHANTOM_HEAD)), new Identifier("textures/entity/phantom.png"), "Phantom", SoundEvents.ENTITY_PHANTOM_AMBIENT.getId().toString(), (modelLoader) -> new PhantomEyesHeadFeatureRenderer()); - TextureToHeadMap.addHead(HeadURLs.PIG, (modelLoader) -> new PigHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PIG_HEAD)), new Identifier("textures/entity/pig/pig.png"), "Pig", SoundEvents.ENTITY_PIG_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PIGLIN_BRUTE, (modelLoader) -> new PiglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PIGLIN_BRUTE_HEAD)), new Identifier("textures/entity/piglin/piglin_brute.png"), "Piglin Brute", SoundEvents.ENTITY_PIGLIN_BRUTE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PILLAGER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PILLAGER_HEAD)), new Identifier("textures/entity/illager/pillager.png"), "Pillager", SoundEvents.ENTITY_PILLAGER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.POLAR_BEAR, (modelLoader) -> new PolarBearHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.POLAR_BEAR_HEAD)), new Identifier("textures/entity/bear/polarbear.png"), "Polar Bear", SoundEvents.ENTITY_POLAR_BEAR_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.PUFFERFISH, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.PUFFERFISH_BIG), 1.3775f, new Vector3f(8.0f, 8.0f, 8.0f)), new Identifier("textures/entity/fish/pufferfish.png"), "Pufferfish", SoundEvents.ENTITY_PUFFER_FISH_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLACK_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/black.png"), "Black Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BROWN_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/brown.png"), "Brown Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.KILLER_BUNNY, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/caerbannog.png"), "The Killer Bunny", SoundEvents.ENTITY_RABBIT_ATTACK.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.GOLD_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/gold.png"), "Gold Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SALT_PEPPER_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/salt.png"), "Salt and Pepper Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.TOAST_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/toast.png"), "Toast", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WHITE_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/white.png"), "White Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLACK_WHITE_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), new Identifier("textures/entity/rabbit/white_splotched.png"), "Black and White Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.RAVAGER, (modelLoader) -> new RavagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RAVAGER_HEAD)), new Identifier("textures/entity/illager/ravager.png"), "Ravager", SoundEvents.ENTITY_RAVAGER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SALMON, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SALMON), new Vector3f(16.0f, 5.0f, 3.0f), 0.0f, 1.408125f, -0.5f, 90.0f, 0.0f), new Identifier("textures/entity/fish/salmon.png"), "Salmon", SoundEvents.ENTITY_SALMON_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SHULKER, (modelLoader) -> new ShulkerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHULKER_HEAD)), new Identifier("textures/entity/shulker/shulker.png"), "Shulker", SoundEvents.ENTITY_SHULKER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SILVERFISH, (modelLoader) -> new SilverfishHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SILVERFISH_HEAD)), new Identifier("textures/entity/silverfish.png"), "Silverfish", SoundEvents.ENTITY_SILVERFISH_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SKELETON_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_skeleton.png"), "Skeleton Horse", SoundEvents.ENTITY_SKELETON_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SLIME, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SLIME), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), new Identifier("textures/entity/slime/slime.png"), "Slime", SoundEvents.ENTITY_SLIME_JUMP.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SLIME_OUTER), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), RenderLayer.getEntityTranslucent(new Identifier("textures/entity/slime/slime.png")))); - TextureToHeadMap.addHead(HeadURLs.SNIFFER, (modelLoader) -> new SnifferHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SNIFFER_HEAD)), new Identifier("textures/entity/sniffer/sniffer.png"), "Sniffer", SoundEvents.ENTITY_SNIFFER_SNIFFING.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SNOW_GOLEM, (modelLoader) -> new SnowGolemHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SNOW_GOLEM_HEAD)), new Identifier("textures/entity/snow_golem.png"), "Snow Golem", SoundEvents.ENTITY_SNOW_GOLEM_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.SPIDER, (modelLoader) -> new SpiderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SPIDER_HEAD), 1.0f), new Identifier("textures/entity/spider/spider.png"), "Spider", SoundEvents.ENTITY_SPIDER_AMBIENT.getId().toString(), (modelLoader) -> new SpiderEyesHeadFeatureRenderer(HeadedEntityModelLayers.SPIDER_EYES, 1.0f)); - TextureToHeadMap.addHead(HeadURLs.SQUID, (modelLoader) -> new SquidHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SQUID_HEAD)), new Identifier("textures/entity/squid/squid.png"), "Squid", SoundEvents.ENTITY_SQUID_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.STRAY, (modelLoader) -> new StraySkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRAY_SKULL)), new Identifier("textures/entity/skeleton/stray.png"), "Stray", SoundEvents.ENTITY_STRAY_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new StraySkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRAY_SKULL_OUTER_LAYER)), RenderLayer.getEntityCutoutNoCullZOffset(new Identifier("textures/entity/skeleton/stray_overlay.png")))); - TextureToHeadMap.addHead(HeadURLs.STRIDER, (modelLoader) -> new StriderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRIDER_HEAD)), new Identifier("textures/entity/strider/strider.png"), "Strider", SoundEvents.ENTITY_STRIDER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.TADPOLE, (modelLoader) -> new TadpoleHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.TADPOLE_HEAD)), new Identifier("textures/entity/tadpole/tadpole.png"), "Tadpole", SoundEvents.ENTITY_TADPOLE_FLOP.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CREAMY_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/creamy.png"), "Creamy Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); - TextureToHeadMap.addHead(HeadURLs.WHITE_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/white.png"), "White Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); - TextureToHeadMap.addHead(HeadURLs.BROWN_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/brown.png"), "Brown Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); - TextureToHeadMap.addHead(HeadURLs.GRAY_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), new Identifier("textures/entity/llama/gray.png"), "Gray Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); - TextureToHeadMap.addHead(HeadURLs.TROPICAL_FISH, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.TROPICAL_FISH_SMALL), new Vector3f(6.0f, 3.0f, 2.0f), 0.0f, 1.469375f, 0.0f, 90.0f, 0.0f), new Identifier("textures/entity/fish/tropical_a.png"), "Tropical Fish", SoundEvents.ENTITY_TROPICAL_FISH_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.TURTLE, (modelLoader) -> new TurtleHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.TURTLE_HEAD)), new Identifier("textures/entity/turtle/big_sea_turtle.png"), "Turtle", SoundEvents.ENTITY_TURTLE_AMBIENT_LAND.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.VEX, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VEX_HEAD)), new Identifier("textures/entity/illager/vex.png"), "Vex", SoundEvents.ENTITY_VEX_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.CHARGING_VEX, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VEX_HEAD)), new Identifier("textures/entity/illager/vex_charging.png"), "Charging Vex", SoundEvents.ENTITY_VEX_CHARGE.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Villager", SoundEvents.ENTITY_VILLAGER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ARMORER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Armorer Villager", SoundEvents.ENTITY_VILLAGER_WORK_ARMORER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.ARMORER)); - TextureToHeadMap.addHead(HeadURLs.BUTCHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Butcher Villager", SoundEvents.ENTITY_VILLAGER_WORK_BUTCHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.BUTCHER)); - TextureToHeadMap.addHead(HeadURLs.CARTOGRAPHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Cartographer Villager", SoundEvents.ENTITY_VILLAGER_WORK_CARTOGRAPHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CARTOGRAPHER)); - TextureToHeadMap.addHead(HeadURLs.CLERIC_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Cleric Villager", SoundEvents.ENTITY_VILLAGER_WORK_CLERIC.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CLERIC)); - TextureToHeadMap.addHead(HeadURLs.FARMER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Farmer Villager", SoundEvents.ENTITY_VILLAGER_WORK_FARMER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FARMER)); - TextureToHeadMap.addHead(HeadURLs.FISHERMAN_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Fisherman Villager", SoundEvents.ENTITY_VILLAGER_WORK_FISHERMAN.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FISHERMAN)); - TextureToHeadMap.addHead(HeadURLs.FLETCHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Fletcher Villager", SoundEvents.ENTITY_VILLAGER_WORK_FLETCHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FLETCHER)); - TextureToHeadMap.addHead(HeadURLs.LIBRARIAN_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/villager/villager.png"), "Librarian Villager", SoundEvents.ENTITY_VILLAGER_WORK_LIBRARIAN.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.LIBRARIAN)); - TextureToHeadMap.addHead(HeadURLs.VINDICATOR, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VINDICATOR_HEAD)), new Identifier("textures/entity/illager/vindicator.png"), "Vindicator", SoundEvents.ENTITY_VINDICATOR_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WANDERING_TRADER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WANDERING_TRADER_HEAD)), new Identifier("textures/entity/wandering_trader.png"), "Wandering Trader", SoundEvents.ENTITY_WANDERING_TRADER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WARDEN, (modelLoader) -> new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), new Identifier("textures/entity/warden/warden.png"), "Warden", SoundEvents.ENTITY_WARDEN_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_bioluminescent_layer.png"))), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_pulsating_spots_1.png")), Math.max(0.0F, MathHelper.cos((MinecraftClient.getInstance().world == null ? 0 : MinecraftClient.getInstance().world.getTime()) * 0.045F) * 0.25F)), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_pulsating_spots_2.png")), Math.max(0.0F, MathHelper.cos((MinecraftClient.getInstance().world == null ? 0 : MinecraftClient.getInstance().world.getTime()) * 0.045F + 3.1415927F) * 0.25F))); - TextureToHeadMap.addHead(HeadURLs.WITCH, (modelLoader) -> new WitchHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITCH_HEAD)), new Identifier("textures/entity/witch.png"), "Witch", SoundEvents.ENTITY_WITCH_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WITHER, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITHER_SKULL)), new Identifier("textures/entity/wither/wither.png"), "Wither", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WITHER_PROJECTILE, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITHER_PROJECTILE)), new Identifier("textures/entity/wither/wither.png"), "Wither Projectile", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.BLUE_WITHER_PROJECTILE, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BLUE_WITHER_PROJECTILE)), new Identifier("textures/entity/wither/wither_invulnerable.png"), "Blue Wither Projectile", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.WOLF, (modelLoader) -> new WolfHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WOLF_HEAD)), new Identifier("textures/entity/wolf/wolf.png"), "Wolf", SoundEvents.ENTITY_WOLF_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ANGRY_WOLF, (modelLoader) -> new WolfHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WOLF_HEAD)), new Identifier("textures/entity/wolf/wolf_angry.png"), "Angry Wolf", SoundEvents.ENTITY_WOLF_GROWL.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ZOGLIN, (modelLoader) -> new HoglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HOGLIN_HEAD)), new Identifier("textures/entity/hoglin/zoglin.png"), "Zoglin", SoundEvents.ENTITY_ZOGLIN_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ZOMBIE_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), new Identifier("textures/entity/horse/horse_zombie.png"), "Zombie Horse", SoundEvents.ENTITY_ZOMBIE_HORSE_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString()); - TextureToHeadMap.addHead(HeadURLs.ARMORER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Armorer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.ARMORER, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.BUTCHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Butcher Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.BUTCHER, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.CARTOGRAPHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Cartographer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CARTOGRAPHER, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.CLERIC_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Cleric Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CLERIC, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.FARMER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Farmer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FARMER, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.FISHERMAN_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Fisherman Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FISHERMAN, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.FLETCHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Fletcher Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FLETCHER, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.LIBRARIAN_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), new Identifier("textures/entity/zombie_villager/zombie_villager.png"), "Librarian Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.LIBRARIAN, "zombie_villager")); - TextureToHeadMap.addHead(HeadURLs.ZOMBIFIED_PIGLIN, (modelLoader) -> new PiglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ZOMBIFIED_PIGLIN_HEAD)), new Identifier("textures/entity/piglin/zombified_piglin.png"), "Zombified Piglin", SoundEvents.ENTITY_ZOMBIFIED_PIGLIN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WHITE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "White Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(0, false)); + TextureToHeadMap.addHead(HeadURLs.ORANGE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Orange Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(1, false)); + TextureToHeadMap.addHead(HeadURLs.MAGENTA_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Magenta Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(2, false)); + TextureToHeadMap.addHead(HeadURLs.LIGHT_BLUE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Light Blue Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(3, false)); + TextureToHeadMap.addHead(HeadURLs.YELLOW_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Yellow Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(4, false)); + TextureToHeadMap.addHead(HeadURLs.LIME_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Lime Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(5, false)); + TextureToHeadMap.addHead(HeadURLs.PINK_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Pink Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(6, false)); + TextureToHeadMap.addHead(HeadURLs.GRAY_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Gray Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(7, false)); + TextureToHeadMap.addHead(HeadURLs.LIGHT_GRAY_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Light Gray Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(8, false)); + TextureToHeadMap.addHead(HeadURLs.CYAN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Cyan Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(9, false)); + TextureToHeadMap.addHead(HeadURLs.PURPLE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Purple Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(10, false)); + TextureToHeadMap.addHead(HeadURLs.BLUE_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Blue Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(11, false)); + TextureToHeadMap.addHead(HeadURLs.BROWN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Brown Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(12, false)); + TextureToHeadMap.addHead(HeadURLs.GREEN_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Green Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(13, false)); + TextureToHeadMap.addHead(HeadURLs.RED_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Red Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(14, false)); + TextureToHeadMap.addHead(HeadURLs.BLACK_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "Black Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(15, false)); + TextureToHeadMap.addHead(HeadURLs.JEB_SHEEP, (modelLoader) -> new SheepHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHEEP_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sheep/sheep.png")), "jeb_ Sheep", SoundEvents.ENTITY_SHEEP_AMBIENT.getId().toString(), (modelLoader) -> new SheepWoolHeadFeatureRenderer(0, true)); + TextureToHeadMap.addHead(HeadURLs.ALLAY, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ALLAY_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/allay/allay.png")), "Allay", SoundEvents.ENTITY_ALLAY_AMBIENT_WITHOUT_ITEM.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.LUCY_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/axolotl/axolotl_lucy.png")), "Lucy Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WILD_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/axolotl/axolotl_wild.png")), "Wild Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GOLD_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/axolotl/axolotl_gold.png")), "Gold Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CYAN_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/axolotl/axolotl_cyan.png")), "Cyan Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLUE_AXOLOTL, (modelLoader) -> new AxolotlHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.AXOLOTL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/axolotl/axolotl_blue.png")), "Blue Axolotl", SoundEvents.ENTITY_AXOLOTL_IDLE_AIR.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BAT, (modelLoader) -> new BatHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BAT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bat.png")), "Bat", SoundEvents.ENTITY_BAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bee/bee.png")), "Bee", SoundEvents.ENTITY_BEE_LOOP.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.POLLINATED_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bee/bee_nectar.png")), "Pollinated Bee", SoundEvents.ENTITY_BEE_POLLINATE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ANGRY_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bee/bee_angry.png")), "Angry Bee", SoundEvents.ENTITY_BEE_LOOP_AGGRESSIVE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ANGRY_POLLINATED_BEE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.BEE), 1.37515625f, new Vector3f(7.0f, 7.0f, 10.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bee/bee_angry_nectar.png")), "Angry Pollinated Bee", SoundEvents.ENTITY_BEE_LOOP_AGGRESSIVE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLAZE, (modelLoader) -> new SkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BLAZE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/blaze.png")), "Blaze", SoundEvents.ENTITY_BLAZE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BREEZE, (modelLoader) -> new BreezeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BREEZE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/breeze/breeze.png")), "Breeze", SoundEvents.ENTITY_BREEZE_IDLE_GROUND.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new BreezeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BREEZE_EYES)), RenderLayer.getEntityTranslucentEmissiveNoOutline(new Identifier("textures/entity/breeze/breeze.png")))); + TextureToHeadMap.addHead(HeadURLs.CAMEL, (modelLoader) -> new CamelHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CAMEL_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/camel/camel.png")), "Camel", SoundEvents.ENTITY_CAMEL_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ALL_BLACK_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/all_black.png")), "Black Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLACK_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/black.png")), "Tuxedo Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BRITISH_SHORTHAIR_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/british_shorthair.png")), "British Shorthair", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CALICO_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/calico.png")), "Calico Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.JELLIE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/jellie.png")), "Jellie Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PERSIAN_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/persian.png")), "Persian Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.RAGDOLL_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/ragdoll.png")), "Ragdoll Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.RED_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/red.png")), "Red Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SIAMESE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/siamese.png")), "Siamese Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.TABBY_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/tabby.png")), "Tabby Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WHITE_CAT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/white.png")), "White Cat", SoundEvents.ENTITY_CAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CAVE_SPIDER, (modelLoader) -> new SpiderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CAVE_SPIDER_HEAD), 0.7f), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/spider/cave_spider.png")), "Cave Spider", SoundEvents.ENTITY_SPIDER_AMBIENT.getId().toString(), (modelLoader) -> new SpiderEyesHeadFeatureRenderer(HeadedEntityModelLayers.CAVE_SPIDER_EYES, 0.7f)); + TextureToHeadMap.addHead(HeadURLs.CHICKEN, (modelLoader) -> new ChickenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.CHICKEN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/chicken.png")), "Chicken", SoundEvents.ENTITY_CHICKEN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.COD, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.COD), new Vector3f(15.0f, 4.0f, 2.0f), 0.0f, 1.5f, -0.216875f, 90, 0), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fish/cod.png")), "Cod", SoundEvents.ENTITY_COD_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.COW, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cow/cow.png")), "Cow", SoundEvents.ENTITY_COW_AMBIENT.getId().toString()); + TextureToHeadMap.addHeadNotInGroup(HeadURLs.CREPEER2159, (modelLoader) -> new ArmorStandHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ARMOR_STAND_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/armorstand/wood.png")), "Armor Stand", SoundEvents.ENTITY_GENERIC_EXPLODE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.DOLPHIN, (modelLoader) -> new DolphinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DOLPHIN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/dolphin.png")), "Dolphin", SoundEvents.ENTITY_DOLPHIN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.DONKEY, (modelLoader) -> new DonkeyHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DONKEY_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/donkey.png")), "Donkey", SoundEvents.ENTITY_DONKEY_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.DROWNED, (modelLoader) -> new DrownedHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DROWNED_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie/drowned.png")), "Drowned", SoundEvents.ENTITY_DROWNED_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new DrownedHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DROWNED_HEAD_OUTER_LAYER)), RenderLayer.getEntityCutoutNoCullZOffset(new Identifier("textures/entity/zombie/drowned_outer_layer.png")))); + TextureToHeadMap.addHead(HeadURLs.ELDER_GUARDIAN, (modelLoader) -> new GuardianHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GUARDIAN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/guardian_elder.png")), "Elder Guardian", SoundEvents.ENTITY_ELDER_GUARDIAN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ENDERMAN, (modelLoader) -> new EndermanHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ENDERMAN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/enderman/enderman.png")), "Enderman", SoundEvents.ENTITY_ENDERMAN_AMBIENT.getId().toString(), (modelLoader) -> new EndermanEyesHeadFeatureRenderer()); + TextureToHeadMap.addHead(HeadURLs.ENDERMITE, (modelLoader) -> new EndermiteHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ENDERMITE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/endermite.png")), "Endermite", SoundEvents.ENTITY_ENDERMITE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.EVOKER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.EVOKER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/evoker.png")), "Evoker", SoundEvents.ENTITY_EVOKER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.FOX, (modelLoader) -> new FoxHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FOX_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fox/fox.png")), "Fox", SoundEvents.ENTITY_FOX_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SNOW_FOX, (modelLoader) -> new FoxHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FOX_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fox/snow_fox.png")), "Snow Fox", SoundEvents.ENTITY_FOX_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.COLD_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/frog/cold_frog.png")), "Cold Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.TEMPERATE_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/frog/temperate_frog.png")), "Temperate Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WARM_FROG, (modelLoader) -> new FrogHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.FROG_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/frog/warm_frog.png")), "Warm Frog", SoundEvents.ENTITY_FROG_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GHAST, (modelLoader) -> new GhastHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GHAST_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/ghast/ghast.png")), "Ghast", SoundEvents.ENTITY_GHAST_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GLOW_SQUID, (modelLoader) -> new SquidHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SQUID_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/squid/glow_squid.png")), "Glow Squid", SoundEvents.ENTITY_GLOW_SQUID_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GOAT, (modelLoader) -> new GoatHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GOAT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/goat/goat.png")), "Goat", SoundEvents.ENTITY_GOAT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GUARDIAN, (modelLoader) -> new GuardianHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.GUARDIAN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/guardian.png")), "Guardian", SoundEvents.ENTITY_GUARDIAN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.HOGLIN, (modelLoader) -> new HoglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HOGLIN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/hoglin/hoglin.png")), "Hoglin", SoundEvents.ENTITY_HOGLIN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WHITE_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_white.png")), "White Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CREAMY_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_creamy.png")), "Creamy Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CHESTNUT_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_chestnut.png")), "Chestnut Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BROWN_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_brown.png")), "Brown Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLACK_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_black.png")), "Black Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GRAY_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_gray.png")), "Gray Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.DARK_BROWN_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_darkbrown.png")), "Dark Brown Horse", SoundEvents.ENTITY_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.HUSK, (modelLoader) -> new SkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HUSK_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie/husk.png")), "Husk", SoundEvents.ENTITY_HUSK_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ILLUSIONER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ILLUSIONER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/illusioner.png")), "Illusioner", SoundEvents.ENTITY_ILLUSIONER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.IRON_GOLEM, (modelLoader) -> new IronGolemHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.IRON_GOLEM_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/iron_golem/iron_golem.png")), "Iron Golem", SoundEvents.ENTITY_IRON_GOLEM_STEP.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CREAMY_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/creamy.png")), "Creamy Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WHITE_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/white.png")), "White Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BROWN_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/brown.png")), "Brown Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GRAY_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/gray.png")), "Gray Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.MAGMA_CUBE, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.MAGMA_CUBE), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/slime/magmacube.png")), "Magma Cube", SoundEvents.ENTITY_MAGMA_CUBE_JUMP.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.RED_MOOSHROOM, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cow/red_mooshroom.png")), "Red Mooshroom", SoundEvents.ENTITY_COW_AMBIENT.getId().toString(), (modelLoader) -> new MooshroomMushroomHeadFeatureRenderer(Blocks.RED_MUSHROOM, new CowHeadEntityModel(MinecraftClient.getInstance().getEntityModelLoader().getModelPart(HeadedEntityModelLayers.COW_HEAD)))); + TextureToHeadMap.addHead(HeadURLs.BROWN_MOOSHROOM, (modelLoader) -> new CowHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.COW_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cow/brown_mooshroom.png")), "Brown Mooshroom", SoundEvents.ENTITY_COW_AMBIENT.getId().toString(), (modelLoader) -> new MooshroomMushroomHeadFeatureRenderer(Blocks.BROWN_MUSHROOM, new CowHeadEntityModel(MinecraftClient.getInstance().getEntityModelLoader().getModelPart(HeadedEntityModelLayers.COW_HEAD)))); + TextureToHeadMap.addHead(HeadURLs.MULE, (modelLoader) -> new DonkeyHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.DONKEY_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/mule.png")), "Mule", SoundEvents.ENTITY_MULE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.OCELOT, (modelLoader) -> new OcelotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.OCELOT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/cat/ocelot.png")), "Ocelot", SoundEvents.ENTITY_OCELOT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.AGGRESSIVE_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/aggressive_panda.png")), "Aggressive Panda", SoundEvents.ENTITY_PANDA_AGGRESSIVE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BROWN_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/brown_panda.png")), "Brown Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.LAZY_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/lazy_panda.png")), "Lazy Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/panda.png")), "Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PLAYFUL_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/playful_panda.png")), "Playful Panda", SoundEvents.ENTITY_PANDA_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WEAK_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/weak_panda.png")), "Weak Panda", SoundEvents.ENTITY_PANDA_SNEEZE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WORRIED_PANDA, (modelLoader) -> new PandaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PANDA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/panda/worried_panda.png")), "Worried Panda", SoundEvents.ENTITY_PANDA_WORRIED_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLUE_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/parrot/parrot_blue.png")), "Blue Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GREEN_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/parrot/parrot_green.png")), "Green Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GRAY_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/parrot/parrot_grey.png")), "Gray Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.RED_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/parrot/parrot_red_blue.png")), "Red Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CYAN_PARROT, (modelLoader) -> new ParrotHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PARROT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/parrot/parrot_yellow_blue.png")), "Cyan Parrot", SoundEvents.ENTITY_PARROT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PHANTOM, (modelLoader) -> new PhantomHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PHANTOM_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/phantom.png")), "Phantom", SoundEvents.ENTITY_PHANTOM_AMBIENT.getId().toString(), (modelLoader) -> new PhantomEyesHeadFeatureRenderer()); + TextureToHeadMap.addHead(HeadURLs.PIG, (modelLoader) -> new PigHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PIG_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/pig/pig.png")), "Pig", SoundEvents.ENTITY_PIG_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PIGLIN_BRUTE, (modelLoader) -> new PiglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PIGLIN_BRUTE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/piglin/piglin_brute.png")), "Piglin Brute", SoundEvents.ENTITY_PIGLIN_BRUTE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PILLAGER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.PILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/pillager.png")), "Pillager", SoundEvents.ENTITY_PILLAGER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.POLAR_BEAR, (modelLoader) -> new PolarBearHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.POLAR_BEAR_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/bear/polarbear.png")), "Polar Bear", SoundEvents.ENTITY_POLAR_BEAR_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.PUFFERFISH, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.PUFFERFISH_BIG), 1.3775f, new Vector3f(8.0f, 8.0f, 8.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fish/pufferfish.png")), "Pufferfish", SoundEvents.ENTITY_PUFFER_FISH_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLACK_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/black.png")), "Black Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BROWN_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/brown.png")), "Brown Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.KILLER_BUNNY, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/caerbannog.png")), "The Killer Bunny", SoundEvents.ENTITY_RABBIT_ATTACK.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.GOLD_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/gold.png")), "Gold Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SALT_PEPPER_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/salt.png")), "Salt and Pepper Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.TOAST_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/toast.png")), "Toast", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WHITE_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/white.png")), "White Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLACK_WHITE_RABBIT, (modelLoader) -> new RabbitHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RABBIT_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/rabbit/white_splotched.png")), "Black and White Rabbit", SoundEvents.ENTITY_RABBIT_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.RAVAGER, (modelLoader) -> new RavagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.RAVAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/ravager.png")), "Ravager", SoundEvents.ENTITY_RAVAGER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SALMON, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SALMON), new Vector3f(16.0f, 5.0f, 3.0f), 0.0f, 1.408125f, -0.5f, 90.0f, 0.0f), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fish/salmon.png")), "Salmon", SoundEvents.ENTITY_SALMON_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SHULKER, (modelLoader) -> new ShulkerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SHULKER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/shulker/shulker.png")), "Shulker", SoundEvents.ENTITY_SHULKER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SILVERFISH, (modelLoader) -> new SilverfishHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SILVERFISH_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/silverfish.png")), "Silverfish", SoundEvents.ENTITY_SILVERFISH_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SKELETON_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_skeleton.png")), "Skeleton Horse", SoundEvents.ENTITY_SKELETON_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SLIME, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SLIME), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/slime/slime.png")), "Slime", SoundEvents.ENTITY_SLIME_JUMP.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.SLIME_OUTER), 1.5f, new Vector3f(8.0f, 8.0f, 8.0f)), RenderLayer.getEntityTranslucent(new Identifier("textures/entity/slime/slime.png")))); + TextureToHeadMap.addHead(HeadURLs.SNIFFER, (modelLoader) -> new SnifferHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SNIFFER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/sniffer/sniffer.png")), "Sniffer", SoundEvents.ENTITY_SNIFFER_SNIFFING.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SNOW_GOLEM, (modelLoader) -> new SnowGolemHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SNOW_GOLEM_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/snow_golem.png")), "Snow Golem", SoundEvents.ENTITY_SNOW_GOLEM_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.SPIDER, (modelLoader) -> new SpiderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SPIDER_HEAD), 1.0f), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/spider/spider.png")), "Spider", SoundEvents.ENTITY_SPIDER_AMBIENT.getId().toString(), (modelLoader) -> new SpiderEyesHeadFeatureRenderer(HeadedEntityModelLayers.SPIDER_EYES, 1.0f)); + TextureToHeadMap.addHead(HeadURLs.SQUID, (modelLoader) -> new SquidHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.SQUID_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/squid/squid.png")), "Squid", SoundEvents.ENTITY_SQUID_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.STRAY, (modelLoader) -> new StraySkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRAY_SKULL)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/skeleton/stray.png")), "Stray", SoundEvents.ENTITY_STRAY_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new StraySkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRAY_SKULL_OUTER_LAYER)), RenderLayer.getEntityCutoutNoCullZOffset(new Identifier("textures/entity/skeleton/stray_overlay.png")))); + TextureToHeadMap.addHead(HeadURLs.STRIDER, (modelLoader) -> new StriderHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.STRIDER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/strider/strider.png")), "Strider", SoundEvents.ENTITY_STRIDER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.TADPOLE, (modelLoader) -> new TadpoleHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.TADPOLE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/tadpole/tadpole.png")), "Tadpole", SoundEvents.ENTITY_TADPOLE_FLOP.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CREAMY_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/creamy.png")), "Creamy Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); + TextureToHeadMap.addHead(HeadURLs.WHITE_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/white.png")), "White Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); + TextureToHeadMap.addHead(HeadURLs.BROWN_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/brown.png")), "Brown Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); + TextureToHeadMap.addHead(HeadURLs.GRAY_TRADER_LLAMA, (modelLoader) -> new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/gray.png")), "Gray Trader Llama", SoundEvents.ENTITY_LLAMA_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new LlamaHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.LLAMA_HEAD_DECOR)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/llama/decor/trader_llama.png")))); + TextureToHeadMap.addHead(HeadURLs.TROPICAL_FISH, (modelLoader) -> new EntityCopyHeadEntityModel(modelLoader.getModelPart(EntityModelLayers.TROPICAL_FISH_SMALL), new Vector3f(6.0f, 3.0f, 2.0f), 0.0f, 1.469375f, 0.0f, 90.0f, 0.0f), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/fish/tropical_a.png")), "Tropical Fish", SoundEvents.ENTITY_TROPICAL_FISH_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.TURTLE, (modelLoader) -> new TurtleHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.TURTLE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/turtle/big_sea_turtle.png")), "Turtle", SoundEvents.ENTITY_TURTLE_AMBIENT_LAND.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.VEX, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VEX_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/vex.png")), "Vex", SoundEvents.ENTITY_VEX_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.CHARGING_VEX, (modelLoader) -> new AllayHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VEX_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/vex_charging.png")), "Charging Vex", SoundEvents.ENTITY_VEX_CHARGE.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Villager", SoundEvents.ENTITY_VILLAGER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ARMORER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Armorer Villager", SoundEvents.ENTITY_VILLAGER_WORK_ARMORER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.ARMORER)); + TextureToHeadMap.addHead(HeadURLs.BUTCHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Butcher Villager", SoundEvents.ENTITY_VILLAGER_WORK_BUTCHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.BUTCHER)); + TextureToHeadMap.addHead(HeadURLs.CARTOGRAPHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Cartographer Villager", SoundEvents.ENTITY_VILLAGER_WORK_CARTOGRAPHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CARTOGRAPHER)); + TextureToHeadMap.addHead(HeadURLs.CLERIC_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Cleric Villager", SoundEvents.ENTITY_VILLAGER_WORK_CLERIC.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CLERIC)); + TextureToHeadMap.addHead(HeadURLs.FARMER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Farmer Villager", SoundEvents.ENTITY_VILLAGER_WORK_FARMER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FARMER)); + TextureToHeadMap.addHead(HeadURLs.FISHERMAN_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Fisherman Villager", SoundEvents.ENTITY_VILLAGER_WORK_FISHERMAN.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FISHERMAN)); + TextureToHeadMap.addHead(HeadURLs.FLETCHER_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Fletcher Villager", SoundEvents.ENTITY_VILLAGER_WORK_FLETCHER.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FLETCHER)); + TextureToHeadMap.addHead(HeadURLs.LIBRARIAN_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/villager/villager.png")), "Librarian Villager", SoundEvents.ENTITY_VILLAGER_WORK_LIBRARIAN.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.LIBRARIAN)); + TextureToHeadMap.addHead(HeadURLs.VINDICATOR, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VINDICATOR_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/illager/vindicator.png")), "Vindicator", SoundEvents.ENTITY_VINDICATOR_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WANDERING_TRADER, (modelLoader) -> new VillagerLikeHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WANDERING_TRADER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wandering_trader.png")), "Wandering Trader", SoundEvents.ENTITY_WANDERING_TRADER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WARDEN, (modelLoader) -> new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/warden/warden.png")), "Warden", SoundEvents.ENTITY_WARDEN_AMBIENT.getId().toString(), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_bioluminescent_layer.png"))), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_pulsating_spots_1.png")), Math.max(0.0F, MathHelper.cos((MinecraftClient.getInstance().world == null ? 0 : MinecraftClient.getInstance().world.getTime()) * 0.045F) * 0.25F)), (modelLoader) -> new SimpleModelHeadFeatureRenderer(new WardenHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WARDEN_HEAD)), RenderLayer.getEntityTranslucentEmissive(new Identifier("textures/entity/warden/warden_pulsating_spots_2.png")), Math.max(0.0F, MathHelper.cos((MinecraftClient.getInstance().world == null ? 0 : MinecraftClient.getInstance().world.getTime()) * 0.045F + 3.1415927F) * 0.25F))); + TextureToHeadMap.addHead(HeadURLs.WITCH, (modelLoader) -> new WitchHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITCH_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/witch.png")), "Witch", SoundEvents.ENTITY_WITCH_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WITHER, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITHER_SKULL)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wither/wither.png")), "Wither", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WITHER_PROJECTILE, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WITHER_PROJECTILE)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wither/wither.png")), "Wither Projectile", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.BLUE_WITHER_PROJECTILE, (modelLoader) -> new WitherSkullEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.BLUE_WITHER_PROJECTILE)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wither/wither_invulnerable.png")), "Blue Wither Projectile", SoundEvents.ENTITY_WITHER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.WOLF, (modelLoader) -> new WolfHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WOLF_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wolf/wolf.png")), "Wolf", SoundEvents.ENTITY_WOLF_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ANGRY_WOLF, (modelLoader) -> new WolfHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.WOLF_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/wolf/wolf_angry.png")), "Angry Wolf", SoundEvents.ENTITY_WOLF_GROWL.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ZOGLIN, (modelLoader) -> new HoglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HOGLIN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/hoglin/zoglin.png")), "Zoglin", SoundEvents.ENTITY_ZOGLIN_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ZOMBIE_HORSE, (modelLoader) -> new HorseHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.HORSE_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/horse/horse_zombie.png")), "Zombie Horse", SoundEvents.ENTITY_ZOMBIE_HORSE_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString()); + TextureToHeadMap.addHead(HeadURLs.ARMORER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Armorer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.ARMORER, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.BUTCHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Butcher Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.BUTCHER, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.CARTOGRAPHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Cartographer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CARTOGRAPHER, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.CLERIC_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Cleric Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.CLERIC, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.FARMER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Farmer Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FARMER, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.FISHERMAN_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Fisherman Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FISHERMAN, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.FLETCHER_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Fletcher Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.FLETCHER, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.LIBRARIAN_ZOMBIE_VILLAGER, (modelLoader) -> new VillagerHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.VILLAGER_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/zombie_villager/zombie_villager.png")), "Librarian Zombie Villager", SoundEvents.ENTITY_ZOMBIE_VILLAGER_AMBIENT.getId().toString(), (modelLoader) -> new VillagerProfessionHeadFeatureRenderer(VillagerProfession.LIBRARIAN, "zombie_villager")); + TextureToHeadMap.addHead(HeadURLs.ZOMBIFIED_PIGLIN, (modelLoader) -> new PiglinHeadEntityModel(modelLoader.getModelPart(HeadedEntityModelLayers.ZOMBIFIED_PIGLIN_HEAD)), RenderLayer.getEntityCutoutNoCull(new Identifier("textures/entity/piglin/zombified_piglin.png")), "Zombified Piglin", SoundEvents.ENTITY_ZOMBIFIED_PIGLIN_AMBIENT.getId().toString()); HeadedCreativeTab.init(); ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> HeadedContext.isInHeadedServer = false); diff --git a/src/client/java/net/pedroricardo/content/HeadedHead.java b/src/client/java/net/pedroricardo/content/HeadedHead.java index a8caf4c..f658e77 100644 --- a/src/client/java/net/pedroricardo/content/HeadedHead.java +++ b/src/client/java/net/pedroricardo/content/HeadedHead.java @@ -1,5 +1,6 @@ package net.pedroricardo.content; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.block.entity.SkullBlockEntityModel; import net.minecraft.client.render.entity.model.EntityModelLoader; import net.minecraft.item.ItemStack; @@ -19,7 +20,7 @@ public class HeadedHead { private final String originalTexture; private final Function modelFunction; - private final Identifier texture; + private final RenderLayer renderLayer; private final Collection> featureRenderers; @Nullable private final String name; @@ -28,25 +29,25 @@ public class HeadedHead { private final boolean addToItemGroup; - public HeadedHead(String originalTexture, Function modelFunction, Identifier texture, @Nullable String name, @Nullable String noteBlockSound, Collection> featureRenderers, boolean addToItemGroup) { + public HeadedHead(String originalTexture, Function modelFunction, RenderLayer renderLayer, @Nullable String name, @Nullable String noteBlockSound, Collection> featureRenderers, boolean addToItemGroup) { this.originalTexture = originalTexture; this.modelFunction = modelFunction; - this.texture = texture; + this.renderLayer = renderLayer; this.name = name; this.featureRenderers = featureRenderers; this.noteBlockSound = noteBlockSound; this.addToItemGroup = addToItemGroup; } - public HeadedHead(String originalTexture, Function modelFunction, Identifier texture, @Nullable String name, @Nullable String noteBlockSound, Collection> featureRenderers) { - this(originalTexture, modelFunction, texture, name, noteBlockSound, featureRenderers, true); + public HeadedHead(String originalTexture, Function modelFunction, RenderLayer renderLayer, @Nullable String name, @Nullable String noteBlockSound, Collection> featureRenderers) { + this(originalTexture, modelFunction, renderLayer, name, noteBlockSound, featureRenderers, true); } - public HeadedHead(String originalTexture, Function modelFunction, Identifier texture, @Nullable String name, @Nullable String noteBlockSound) { - this(originalTexture, modelFunction, texture, name, noteBlockSound, Collections.emptyList()); + public HeadedHead(String originalTexture, Function modelFunction, RenderLayer renderLayer, @Nullable String name, @Nullable String noteBlockSound) { + this(originalTexture, modelFunction, renderLayer, name, noteBlockSound, Collections.emptyList()); } - public HeadedHead(String originalTexture, Function modelFunction, Identifier texture, @Nullable String name, @Nullable String noteBlockSound, boolean addToItemGroup) { + public HeadedHead(String originalTexture, Function modelFunction, RenderLayer texture, @Nullable String name, @Nullable String noteBlockSound, boolean addToItemGroup) { this(originalTexture, modelFunction, texture, name, noteBlockSound, Collections.emptyList(), addToItemGroup); } @@ -58,8 +59,8 @@ public SkullBlockEntityModel getModel(EntityModelLoader modelLoader) { return this.modelFunction.apply(modelLoader); } - public Identifier getTexture() { - return this.texture; + public RenderLayer getRenderLayer() { + return this.renderLayer; } public Collection> getFeatureRenderers() { diff --git a/src/client/java/net/pedroricardo/content/TextureToHeadMap.java b/src/client/java/net/pedroricardo/content/TextureToHeadMap.java index 9a65eb5..2e527be 100644 --- a/src/client/java/net/pedroricardo/content/TextureToHeadMap.java +++ b/src/client/java/net/pedroricardo/content/TextureToHeadMap.java @@ -1,8 +1,8 @@ package net.pedroricardo.content; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.block.entity.SkullBlockEntityModel; import net.minecraft.client.render.entity.model.EntityModelLoader; -import net.minecraft.util.Identifier; import net.pedroricardo.content.features.HeadedFeatureRenderer; import java.util.*; @@ -11,21 +11,21 @@ public class TextureToHeadMap { public static final LinkedHashMap MAP = new LinkedHashMap<>(); - public static HeadedHead addHead(String originalTexture, Function modelFunction, Identifier modelTexture, String name, String noteBlockSound) { - return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, modelTexture, name, noteBlockSound)); + public static HeadedHead addHead(String originalTexture, Function modelFunction, RenderLayer renderLayer, String name, String noteBlockSound) { + return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, renderLayer, name, noteBlockSound)); } @SafeVarargs - public static HeadedHead addHead(String originalTexture, Function modelFunction, Identifier modelTexture, String name, String noteBlockSound, Function... featureRenderers) { - return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, modelTexture, name, noteBlockSound, Arrays.asList(featureRenderers))); + public static HeadedHead addHead(String originalTexture, Function modelFunction, RenderLayer renderLayer, String name, String noteBlockSound, Function... featureRenderers) { + return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, renderLayer, name, noteBlockSound, Arrays.asList(featureRenderers))); } - public static HeadedHead addHeadNotInGroup(String originalTexture, Function modelFunction, Identifier modelTexture, String name, String noteBlockSound) { - return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, modelTexture, name, noteBlockSound, false)); + public static HeadedHead addHeadNotInGroup(String originalTexture, Function modelFunction, RenderLayer renderLayer, String name, String noteBlockSound) { + return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, renderLayer, name, noteBlockSound, false)); } @SafeVarargs - public static HeadedHead addHeadNotInGroup(String originalTexture, Function modelFunction, Identifier modelTexture, String name, String noteBlockSound, Function... featureRenderers) { - return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, modelTexture, name, noteBlockSound, Arrays.asList(featureRenderers), false)); + public static HeadedHead addHeadNotInGroup(String originalTexture, Function modelFunction, RenderLayer renderLayer, String name, String noteBlockSound, Function... featureRenderers) { + return MAP.put(originalTexture, new HeadedHead(originalTexture, modelFunction, renderLayer, name, noteBlockSound, Arrays.asList(featureRenderers), false)); } } \ No newline at end of file diff --git a/src/client/java/net/pedroricardo/mixin/client/RenderHeadedHeadMixin.java b/src/client/java/net/pedroricardo/mixin/client/RenderHeadedHeadMixin.java index d23d319..c4a4d94 100644 --- a/src/client/java/net/pedroricardo/mixin/client/RenderHeadedHeadMixin.java +++ b/src/client/java/net/pedroricardo/mixin/client/RenderHeadedHeadMixin.java @@ -28,7 +28,6 @@ @Mixin(SkullBlockEntityRenderer.class) public class RenderHeadedHeadMixin { - @ModifyArg(method = "render(Lnet/minecraft/block/entity/SkullBlockEntity;FLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;II)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/entity/SkullBlockEntityRenderer;renderSkull(Lnet/minecraft/util/math/Direction;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/block/entity/SkullBlockEntityModel;Lnet/minecraft/client/render/RenderLayer;)V"), index = 6) private SkullBlockEntityModel headedrewritten$replaceModel(SkullBlockEntityModel model, @Local(ordinal = 0) SkullBlock.SkullType skullType, @Local(ordinal = 0) SkullBlockEntity blockEntity) { HeadedContext.currentProfile = blockEntity.getOwner(); @@ -41,7 +40,7 @@ public class RenderHeadedHeadMixin { @Inject(method = "getRenderLayer", at = @At(value = "HEAD"), cancellable = true) private static void headedrewritten$replaceTexture(SkullBlock.SkullType type, GameProfile profile, CallbackInfoReturnable cir) { if (type == SkullBlock.Type.PLAYER && profile != null && profile.getProperties().containsKey("textures") && TextureToHeadMap.MAP.containsKey(MinecraftClient.getInstance().getSkinProvider().getSkinTextures(profile).textureUrl())) { - cir.setReturnValue(RenderLayer.getEntityCutoutNoCull(TextureToHeadMap.MAP.get(MinecraftClient.getInstance().getSkinProvider().getSkinTextures(profile).textureUrl()).getTexture())); + cir.setReturnValue(TextureToHeadMap.MAP.get(MinecraftClient.getInstance().getSkinProvider().getSkinTextures(profile).textureUrl()).getRenderLayer()); } }