package net.minecraft.client.model.geom; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import net.minecraft.client.model.AbstractEquineModel; import net.minecraft.client.model.AllayModel; import net.minecraft.client.model.ArmadilloModel; import net.minecraft.client.model.ArmorStandArmorModel; import net.minecraft.client.model.ArmorStandModel; import net.minecraft.client.model.ArrowModel; import net.minecraft.client.model.AxolotlModel; import net.minecraft.client.model.BannerFlagModel; import net.minecraft.client.model.BannerModel; import net.minecraft.client.model.BatModel; import net.minecraft.client.model.BeeModel; import net.minecraft.client.model.BeeStingerModel; import net.minecraft.client.model.BellModel; import net.minecraft.client.model.BlazeModel; import net.minecraft.client.model.BoatModel; import net.minecraft.client.model.BoggedModel; import net.minecraft.client.model.BookModel; import net.minecraft.client.model.BreezeModel; import net.minecraft.client.model.CamelModel; import net.minecraft.client.model.CatModel; import net.minecraft.client.model.ChestModel; import net.minecraft.client.model.ChickenModel; import net.minecraft.client.model.CodModel; import net.minecraft.client.model.CowModel; import net.minecraft.client.model.CreakingModel; import net.minecraft.client.model.CreeperModel; import net.minecraft.client.model.DolphinModel; import net.minecraft.client.model.DonkeyModel; import net.minecraft.client.model.DrownedModel; import net.minecraft.client.model.ElytraModel; import net.minecraft.client.model.EndCrystalModel; import net.minecraft.client.model.EndermanModel; import net.minecraft.client.model.EndermiteModel; import net.minecraft.client.model.EvokerFangsModel; import net.minecraft.client.model.FelineModel; import net.minecraft.client.model.FoxModel; import net.minecraft.client.model.FrogModel; import net.minecraft.client.model.GhastModel; import net.minecraft.client.model.GoatModel; import net.minecraft.client.model.GuardianModel; import net.minecraft.client.model.HoglinModel; import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.IllagerModel; import net.minecraft.client.model.IronGolemModel; import net.minecraft.client.model.LavaSlimeModel; import net.minecraft.client.model.LeashKnotModel; import net.minecraft.client.model.LlamaModel; import net.minecraft.client.model.LlamaSpitModel; import net.minecraft.client.model.MinecartModel; import net.minecraft.client.model.PandaModel; import net.minecraft.client.model.ParrotModel; import net.minecraft.client.model.PhantomModel; import net.minecraft.client.model.PigModel; import net.minecraft.client.model.PiglinHeadModel; import net.minecraft.client.model.PiglinModel; import net.minecraft.client.model.PlayerCapeModel; import net.minecraft.client.model.PlayerEarsModel; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PolarBearModel; import net.minecraft.client.model.PufferfishBigModel; import net.minecraft.client.model.PufferfishMidModel; import net.minecraft.client.model.PufferfishSmallModel; import net.minecraft.client.model.RabbitModel; import net.minecraft.client.model.RaftModel; import net.minecraft.client.model.RavagerModel; import net.minecraft.client.model.SalmonModel; import net.minecraft.client.model.SheepFurModel; import net.minecraft.client.model.SheepModel; import net.minecraft.client.model.ShieldModel; import net.minecraft.client.model.ShulkerBulletModel; import net.minecraft.client.model.ShulkerModel; import net.minecraft.client.model.SilverfishModel; import net.minecraft.client.model.SkeletonModel; import net.minecraft.client.model.SkullModel; import net.minecraft.client.model.SlimeModel; import net.minecraft.client.model.SnifferModel; import net.minecraft.client.model.SnowGolemModel; import net.minecraft.client.model.SpiderModel; import net.minecraft.client.model.SpinAttackEffectModel; import net.minecraft.client.model.SquidModel; import net.minecraft.client.model.StriderModel; import net.minecraft.client.model.TadpoleModel; import net.minecraft.client.model.TridentModel; import net.minecraft.client.model.TropicalFishModelA; import net.minecraft.client.model.TropicalFishModelB; import net.minecraft.client.model.TurtleModel; import net.minecraft.client.model.VexModel; import net.minecraft.client.model.VillagerModel; import net.minecraft.client.model.WardenModel; import net.minecraft.client.model.WindChargeModel; import net.minecraft.client.model.WitchModel; import net.minecraft.client.model.WitherBossModel; import net.minecraft.client.model.WolfModel; import net.minecraft.client.model.ZombieVillagerModel; import net.minecraft.client.model.dragon.DragonHeadModel; import net.minecraft.client.model.dragon.EnderDragonModel; import net.minecraft.client.model.geom.builders.CubeDeformation; import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshTransformer; import net.minecraft.client.renderer.blockentity.BedRenderer; import net.minecraft.client.renderer.blockentity.ConduitRenderer; import net.minecraft.client.renderer.blockentity.DecoratedPotRenderer; import net.minecraft.client.renderer.blockentity.HangingSignRenderer; import net.minecraft.client.renderer.blockentity.SignRenderer; import net.minecraft.client.renderer.entity.WitherSkullRenderer; import net.minecraft.world.level.block.state.properties.WoodType; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) public class LayerDefinitions { private static final CubeDeformation FISH_PATTERN_DEFORMATION = new CubeDeformation(0.008F); private static final CubeDeformation OUTER_ARMOR_DEFORMATION = new CubeDeformation(1.0F); private static final CubeDeformation INNER_ARMOR_DEFORMATION = new CubeDeformation(0.5F); public static Map createRoots() { Builder builder = ImmutableMap.builder(); LayerDefinition layerdefinition = LayerDefinition.create(HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F), 64, 64); LayerDefinition layerdefinition1 = LayerDefinition.create(HumanoidArmorModel.createBodyLayer(OUTER_ARMOR_DEFORMATION), 64, 32); LayerDefinition layerdefinition2 = LayerDefinition.create(HumanoidArmorModel.createBodyLayer(new CubeDeformation(1.02F)), 64, 32); LayerDefinition layerdefinition3 = LayerDefinition.create(HumanoidArmorModel.createBodyLayer(INNER_ARMOR_DEFORMATION), 64, 32); LayerDefinition layerdefinition4 = MinecartModel.createBodyLayer(); LayerDefinition layerdefinition5 = SkullModel.createMobHeadLayer(); LayerDefinition layerdefinition6 = LayerDefinition.create(AbstractEquineModel.createBodyMesh(CubeDeformation.NONE), 64, 64); LayerDefinition layerdefinition7 = LayerDefinition.create(AbstractEquineModel.createBabyMesh(CubeDeformation.NONE), 64, 64); MeshTransformer meshtransformer = MeshTransformer.scaling(0.9375F); LayerDefinition layerdefinition8 = IllagerModel.createBodyLayer().apply(meshtransformer); LayerDefinition layerdefinition9 = AxolotlModel.createBodyLayer(); LayerDefinition layerdefinition10 = BeeModel.createBodyLayer(); LayerDefinition layerdefinition11 = CowModel.createBodyLayer(); LayerDefinition layerdefinition12 = layerdefinition11.apply(CowModel.BABY_TRANSFORMER); LayerDefinition layerdefinition13 = ElytraModel.createLayer(); LayerDefinition layerdefinition14 = LayerDefinition.create(FelineModel.createBodyMesh(CubeDeformation.NONE), 64, 32); LayerDefinition layerdefinition15 = layerdefinition14.apply(FelineModel.BABY_TRANSFORMER); LayerDefinition layerdefinition16 = LayerDefinition.create(FelineModel.createBodyMesh(new CubeDeformation(0.01F)), 64, 32); LayerDefinition layerdefinition17 = LayerDefinition.create(PiglinModel.createMesh(CubeDeformation.NONE), 64, 64); LayerDefinition layerdefinition18 = LayerDefinition.create(PiglinHeadModel.createHeadModel(), 64, 64); LayerDefinition layerdefinition19 = SkullModel.createHumanoidHeadLayer(); LayerDefinition layerdefinition20 = LlamaModel.createBodyLayer(CubeDeformation.NONE); LayerDefinition layerdefinition21 = LlamaModel.createBodyLayer(new CubeDeformation(0.5F)); LayerDefinition layerdefinition22 = StriderModel.createBodyLayer(); LayerDefinition layerdefinition23 = HoglinModel.createBodyLayer(); LayerDefinition layerdefinition24 = HoglinModel.createBabyLayer(); LayerDefinition layerdefinition25 = SkeletonModel.createBodyLayer(); LayerDefinition layerdefinition26 = LayerDefinition.create(VillagerModel.createBodyModel(), 64, 64).apply(meshtransformer); LayerDefinition layerdefinition27 = SpiderModel.createSpiderBodyLayer(); LayerDefinition layerdefinition28 = ArmadilloModel.createBodyLayer(); LayerDefinition layerdefinition29 = CamelModel.createBodyLayer(); LayerDefinition layerdefinition30 = ChickenModel.createBodyLayer(); LayerDefinition layerdefinition31 = GoatModel.createBodyLayer(); LayerDefinition layerdefinition32 = PandaModel.createBodyLayer(); LayerDefinition layerdefinition33 = PigModel.createBodyLayer(CubeDeformation.NONE); LayerDefinition layerdefinition34 = PigModel.createBodyLayer(new CubeDeformation(0.5F)); LayerDefinition layerdefinition35 = PolarBearModel.createBodyLayer(); LayerDefinition layerdefinition36 = SheepModel.createBodyLayer(); LayerDefinition layerdefinition37 = SheepFurModel.createFurLayer(); LayerDefinition layerdefinition38 = SnifferModel.createBodyLayer(); LayerDefinition layerdefinition39 = TurtleModel.createBodyLayer(); LayerDefinition layerdefinition40 = LayerDefinition.create(WolfModel.createMeshDefinition(CubeDeformation.NONE), 64, 32); LayerDefinition layerdefinition41 = LayerDefinition.create(WolfModel.createMeshDefinition(new CubeDeformation(0.2F)), 64, 32); LayerDefinition layerdefinition42 = ZombieVillagerModel.createBodyLayer(); LayerDefinition layerdefinition43 = ArmorStandModel.createBodyLayer(); LayerDefinition layerdefinition44 = ArmorStandArmorModel.createBodyLayer(INNER_ARMOR_DEFORMATION); LayerDefinition layerdefinition45 = ArmorStandArmorModel.createBodyLayer(OUTER_ARMOR_DEFORMATION); LayerDefinition layerdefinition46 = DrownedModel.createBodyLayer(CubeDeformation.NONE); LayerDefinition layerdefinition47 = DrownedModel.createBodyLayer(new CubeDeformation(0.25F)); LayerDefinition layerdefinition48 = SquidModel.createBodyLayer(); LayerDefinition layerdefinition49 = DolphinModel.createBodyLayer(); LayerDefinition layerdefinition50 = SalmonModel.createBodyLayer(); builder.put(ModelLayers.ALLAY, AllayModel.createBodyLayer()); builder.put(ModelLayers.ARMADILLO, layerdefinition28); builder.put(ModelLayers.ARMADILLO_BABY, layerdefinition28.apply(ArmadilloModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ARMOR_STAND, layerdefinition43); builder.put(ModelLayers.ARMOR_STAND_INNER_ARMOR, layerdefinition44); builder.put(ModelLayers.ARMOR_STAND_OUTER_ARMOR, layerdefinition45); builder.put(ModelLayers.ARMOR_STAND_SMALL, layerdefinition43.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ARMOR_STAND_SMALL_INNER_ARMOR, layerdefinition44.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ARMOR_STAND_SMALL_OUTER_ARMOR, layerdefinition45.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ARROW, ArrowModel.createBodyLayer()); builder.put(ModelLayers.AXOLOTL, layerdefinition9); builder.put(ModelLayers.AXOLOTL_BABY, layerdefinition9.apply(AxolotlModel.BABY_TRANSFORMER)); builder.put(ModelLayers.STANDING_BANNER, BannerModel.createBodyLayer(true)); builder.put(ModelLayers.WALL_BANNER, BannerModel.createBodyLayer(false)); builder.put(ModelLayers.STANDING_BANNER_FLAG, BannerFlagModel.createFlagLayer(true)); builder.put(ModelLayers.WALL_BANNER_FLAG, BannerFlagModel.createFlagLayer(false)); builder.put(ModelLayers.BAT, BatModel.createBodyLayer()); builder.put(ModelLayers.BED_FOOT, BedRenderer.createFootLayer()); builder.put(ModelLayers.BED_HEAD, BedRenderer.createHeadLayer()); builder.put(ModelLayers.BEE, layerdefinition10); builder.put(ModelLayers.BEE_BABY, layerdefinition10.apply(BeeModel.BABY_TRANSFORMER)); builder.put(ModelLayers.BEE_STINGER, BeeStingerModel.createBodyLayer()); builder.put(ModelLayers.BELL, BellModel.createBodyLayer()); builder.put(ModelLayers.BLAZE, BlazeModel.createBodyLayer()); builder.put(ModelLayers.BOAT_WATER_PATCH, BoatModel.createWaterPatch()); builder.put(ModelLayers.BOGGED, BoggedModel.createBodyLayer()); builder.put(ModelLayers.BOGGED_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.BOGGED_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.BOGGED_OUTER_LAYER, LayerDefinition.create(HumanoidModel.createMesh(new CubeDeformation(0.2F), 0.0F), 64, 32)); builder.put(ModelLayers.BOOK, BookModel.createBodyLayer()); builder.put(ModelLayers.BREEZE, BreezeModel.createBodyLayer(32, 32)); builder.put(ModelLayers.BREEZE_WIND, BreezeModel.createBodyLayer(128, 128)); builder.put(ModelLayers.CAT, layerdefinition14.apply(CatModel.CAT_TRANSFORMER)); builder.put(ModelLayers.CAT_BABY, layerdefinition15.apply(CatModel.CAT_TRANSFORMER)); builder.put(ModelLayers.CAT_COLLAR, layerdefinition16.apply(CatModel.CAT_TRANSFORMER)); builder.put(ModelLayers.CAT_BABY_COLLAR, layerdefinition16.apply(FelineModel.BABY_TRANSFORMER).apply(CatModel.CAT_TRANSFORMER)); builder.put(ModelLayers.CAMEL, layerdefinition29); builder.put(ModelLayers.CAMEL_BABY, layerdefinition29.apply(CamelModel.BABY_TRANSFORMER)); builder.put(ModelLayers.CAVE_SPIDER, layerdefinition27.apply(MeshTransformer.scaling(0.7F))); builder.put(ModelLayers.CHEST, ChestModel.createSingleBodyLayer()); builder.put(ModelLayers.CHEST_MINECART, layerdefinition4); builder.put(ModelLayers.CHICKEN, layerdefinition30); builder.put(ModelLayers.CHICKEN_BABY, layerdefinition30.apply(ChickenModel.BABY_TRANSFORMER)); builder.put(ModelLayers.COD, CodModel.createBodyLayer()); builder.put(ModelLayers.COMMAND_BLOCK_MINECART, layerdefinition4); builder.put(ModelLayers.CONDUIT_EYE, ConduitRenderer.createEyeLayer()); builder.put(ModelLayers.CONDUIT_WIND, ConduitRenderer.createWindLayer()); builder.put(ModelLayers.CONDUIT_SHELL, ConduitRenderer.createShellLayer()); builder.put(ModelLayers.CONDUIT_CAGE, ConduitRenderer.createCageLayer()); builder.put(ModelLayers.COW, layerdefinition11); builder.put(ModelLayers.COW_BABY, layerdefinition12); builder.put(ModelLayers.CREAKING, CreakingModel.createBodyLayer()); builder.put(ModelLayers.CREEPER, CreeperModel.createBodyLayer(CubeDeformation.NONE)); builder.put(ModelLayers.CREEPER_ARMOR, CreeperModel.createBodyLayer(new CubeDeformation(2.0F))); builder.put(ModelLayers.CREEPER_HEAD, layerdefinition5); builder.put(ModelLayers.DECORATED_POT_BASE, DecoratedPotRenderer.createBaseLayer()); builder.put(ModelLayers.DECORATED_POT_SIDES, DecoratedPotRenderer.createSidesLayer()); builder.put(ModelLayers.DOLPHIN, layerdefinition49); builder.put(ModelLayers.DOLPHIN_BABY, layerdefinition49.apply(DolphinModel.BABY_TRANSFORMER)); builder.put(ModelLayers.DONKEY, DonkeyModel.createBodyLayer(0.87F)); builder.put(ModelLayers.DONKEY_BABY, DonkeyModel.createBabyLayer(0.87F)); builder.put(ModelLayers.DOUBLE_CHEST_LEFT, ChestModel.createDoubleBodyLeftLayer()); builder.put(ModelLayers.DOUBLE_CHEST_RIGHT, ChestModel.createDoubleBodyRightLayer()); builder.put(ModelLayers.DRAGON_SKULL, DragonHeadModel.createHeadLayer()); builder.put(ModelLayers.DROWNED, layerdefinition46); builder.put(ModelLayers.DROWNED_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.DROWNED_OUTER_ARMOR, layerdefinition3); builder.put(ModelLayers.DROWNED_OUTER_LAYER, layerdefinition47); builder.put(ModelLayers.DROWNED_BABY, layerdefinition46.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.DROWNED_BABY_INNER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.DROWNED_BABY_OUTER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.DROWNED_BABY_OUTER_LAYER, layerdefinition47.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ELDER_GUARDIAN, GuardianModel.createElderGuardianLayer()); builder.put(ModelLayers.ELYTRA, layerdefinition13); builder.put(ModelLayers.ELYTRA_BABY, layerdefinition13.apply(ElytraModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ENDERMAN, EndermanModel.createBodyLayer()); builder.put(ModelLayers.ENDERMITE, EndermiteModel.createBodyLayer()); builder.put(ModelLayers.ENDER_DRAGON, EnderDragonModel.createBodyLayer()); builder.put(ModelLayers.END_CRYSTAL, EndCrystalModel.createBodyLayer()); builder.put(ModelLayers.EVOKER, layerdefinition8); builder.put(ModelLayers.EVOKER_FANGS, EvokerFangsModel.createBodyLayer()); builder.put(ModelLayers.FOX, FoxModel.createBodyLayer()); builder.put(ModelLayers.FOX_BABY, FoxModel.createBodyLayer().apply(FoxModel.BABY_TRANSFORMER)); builder.put(ModelLayers.FROG, FrogModel.createBodyLayer()); builder.put(ModelLayers.FURNACE_MINECART, layerdefinition4); builder.put(ModelLayers.GHAST, GhastModel.createBodyLayer()); MeshTransformer meshtransformer1 = MeshTransformer.scaling(6.0F); builder.put(ModelLayers.GIANT, layerdefinition.apply(meshtransformer1)); builder.put(ModelLayers.GIANT_INNER_ARMOR, layerdefinition3.apply(meshtransformer1)); builder.put(ModelLayers.GIANT_OUTER_ARMOR, layerdefinition1.apply(meshtransformer1)); builder.put(ModelLayers.GLOW_SQUID, layerdefinition48); builder.put(ModelLayers.GLOW_SQUID_BABY, layerdefinition48.apply(SquidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.GOAT, layerdefinition31); builder.put(ModelLayers.GOAT_BABY, layerdefinition31.apply(GoatModel.BABY_TRANSFORMER)); builder.put(ModelLayers.GUARDIAN, GuardianModel.createBodyLayer()); builder.put(ModelLayers.HOGLIN, layerdefinition23); builder.put(ModelLayers.HOGLIN_BABY, layerdefinition24); builder.put(ModelLayers.HOPPER_MINECART, layerdefinition4); MeshTransformer meshtransformer2 = MeshTransformer.scaling(1.1F); builder.put(ModelLayers.HORSE, layerdefinition6.apply(meshtransformer2)); builder.put(ModelLayers.HORSE_BABY, layerdefinition7.apply(meshtransformer2)); builder.put( ModelLayers.HORSE_ARMOR, LayerDefinition.create(AbstractEquineModel.createBodyMesh(new CubeDeformation(0.1F)), 64, 64).apply(meshtransformer2) ); builder.put( ModelLayers.HORSE_BABY_ARMOR, LayerDefinition.create(AbstractEquineModel.createBabyMesh(new CubeDeformation(0.1F)), 64, 64).apply(meshtransformer2) ); MeshTransformer meshtransformer3 = MeshTransformer.scaling(1.0625F); builder.put(ModelLayers.HUSK, layerdefinition.apply(meshtransformer3)); builder.put(ModelLayers.HUSK_INNER_ARMOR, layerdefinition3.apply(meshtransformer3)); builder.put(ModelLayers.HUSK_OUTER_ARMOR, layerdefinition1.apply(meshtransformer3)); builder.put(ModelLayers.HUSK_BABY, layerdefinition.apply(HumanoidModel.BABY_TRANSFORMER).apply(meshtransformer3)); builder.put(ModelLayers.HUSK_BABY_INNER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER).apply(meshtransformer3)); builder.put(ModelLayers.HUSK_BABY_OUTER_ARMOR, layerdefinition1.apply(HumanoidModel.BABY_TRANSFORMER).apply(meshtransformer3)); builder.put(ModelLayers.ILLUSIONER, layerdefinition8); builder.put(ModelLayers.IRON_GOLEM, IronGolemModel.createBodyLayer()); builder.put(ModelLayers.LEASH_KNOT, LeashKnotModel.createBodyLayer()); builder.put(ModelLayers.LLAMA, layerdefinition20); builder.put(ModelLayers.LLAMA_BABY, layerdefinition20.apply(LlamaModel.BABY_TRANSFORMER)); builder.put(ModelLayers.LLAMA_DECOR, layerdefinition21); builder.put(ModelLayers.LLAMA_BABY_DECOR, layerdefinition21.apply(LlamaModel.BABY_TRANSFORMER)); builder.put(ModelLayers.LLAMA_SPIT, LlamaSpitModel.createBodyLayer()); builder.put(ModelLayers.MAGMA_CUBE, LavaSlimeModel.createBodyLayer()); builder.put(ModelLayers.MINECART, layerdefinition4); builder.put(ModelLayers.MOOSHROOM, layerdefinition11); builder.put(ModelLayers.MOOSHROOM_BABY, layerdefinition12); builder.put(ModelLayers.MULE, DonkeyModel.createBodyLayer(0.92F)); builder.put(ModelLayers.MULE_BABY, DonkeyModel.createBabyLayer(0.92F)); builder.put(ModelLayers.OCELOT, layerdefinition14); builder.put(ModelLayers.OCELOT_BABY, layerdefinition15); builder.put(ModelLayers.PANDA, layerdefinition32); builder.put(ModelLayers.PANDA_BABY, layerdefinition32.apply(PandaModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PARROT, ParrotModel.createBodyLayer()); builder.put(ModelLayers.PHANTOM, PhantomModel.createBodyLayer()); builder.put(ModelLayers.PIG, layerdefinition33); builder.put(ModelLayers.PIG_BABY, layerdefinition33.apply(PigModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PIG_SADDLE, layerdefinition34); builder.put(ModelLayers.PIG_BABY_SADDLE, layerdefinition34.apply(PigModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PIGLIN, layerdefinition17); builder.put(ModelLayers.PIGLIN_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.PIGLIN_OUTER_ARMOR, layerdefinition2); builder.put(ModelLayers.PIGLIN_BRUTE, layerdefinition17); builder.put(ModelLayers.PIGLIN_BRUTE_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.PIGLIN_BRUTE_OUTER_ARMOR, layerdefinition2); builder.put(ModelLayers.PIGLIN_BABY, layerdefinition17.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PIGLIN_BABY_INNER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PIGLIN_BABY_OUTER_ARMOR, layerdefinition2.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PIGLIN_HEAD, layerdefinition18); builder.put(ModelLayers.PILLAGER, layerdefinition8); builder.put(ModelLayers.PLAYER, LayerDefinition.create(PlayerModel.createMesh(CubeDeformation.NONE, false), 64, 64)); builder.put(ModelLayers.PLAYER_EARS, PlayerEarsModel.createEarsLayer()); builder.put(ModelLayers.PLAYER_CAPE, PlayerCapeModel.createCapeLayer()); builder.put(ModelLayers.PLAYER_HEAD, layerdefinition19); builder.put(ModelLayers.PLAYER_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.PLAYER_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.PLAYER_SLIM, LayerDefinition.create(PlayerModel.createMesh(CubeDeformation.NONE, true), 64, 64)); builder.put(ModelLayers.PLAYER_SLIM_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.PLAYER_SLIM_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.PLAYER_SPIN_ATTACK, SpinAttackEffectModel.createLayer()); builder.put(ModelLayers.POLAR_BEAR, layerdefinition35); builder.put(ModelLayers.POLAR_BEAR_BABY, layerdefinition35.apply(PolarBearModel.BABY_TRANSFORMER)); builder.put(ModelLayers.PUFFERFISH_BIG, PufferfishBigModel.createBodyLayer()); builder.put(ModelLayers.PUFFERFISH_MEDIUM, PufferfishMidModel.createBodyLayer()); builder.put(ModelLayers.PUFFERFISH_SMALL, PufferfishSmallModel.createBodyLayer()); builder.put(ModelLayers.RABBIT, RabbitModel.createBodyLayer(false)); builder.put(ModelLayers.RABBIT_BABY, RabbitModel.createBodyLayer(true)); builder.put(ModelLayers.RAVAGER, RavagerModel.createBodyLayer()); builder.put(ModelLayers.SALMON, layerdefinition50); builder.put(ModelLayers.SALMON_SMALL, layerdefinition50.apply(SalmonModel.SMALL_TRANSFORMER)); builder.put(ModelLayers.SALMON_LARGE, layerdefinition50.apply(SalmonModel.LARGE_TRANSFORMER)); builder.put(ModelLayers.SHEEP, layerdefinition36); builder.put(ModelLayers.SHEEP_BABY, layerdefinition36.apply(SheepModel.BABY_TRANSFORMER)); builder.put(ModelLayers.SHEEP_WOOL, layerdefinition37); builder.put(ModelLayers.SHEEP_BABY_WOOL, layerdefinition37.apply(SheepModel.BABY_TRANSFORMER)); builder.put(ModelLayers.SHIELD, ShieldModel.createLayer()); builder.put(ModelLayers.SHULKER, ShulkerModel.createBodyLayer()); builder.put(ModelLayers.SHULKER_BOX, ShulkerModel.createBoxLayer()); builder.put(ModelLayers.SHULKER_BULLET, ShulkerBulletModel.createBodyLayer()); builder.put(ModelLayers.SILVERFISH, SilverfishModel.createBodyLayer()); builder.put(ModelLayers.SKELETON, layerdefinition25); builder.put(ModelLayers.SKELETON_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.SKELETON_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.SKELETON_HORSE, layerdefinition6); builder.put(ModelLayers.SKELETON_HORSE_BABY, layerdefinition7); builder.put(ModelLayers.SKELETON_SKULL, layerdefinition5); builder.put(ModelLayers.SLIME, SlimeModel.createInnerBodyLayer()); builder.put(ModelLayers.SLIME_OUTER, SlimeModel.createOuterBodyLayer()); builder.put(ModelLayers.SNIFFER, layerdefinition38); builder.put(ModelLayers.SNIFFER_BABY, layerdefinition38.apply(SnifferModel.BABY_TRANSFORMER)); builder.put(ModelLayers.SNOW_GOLEM, SnowGolemModel.createBodyLayer()); builder.put(ModelLayers.SPAWNER_MINECART, layerdefinition4); builder.put(ModelLayers.SPIDER, layerdefinition27); builder.put(ModelLayers.SQUID, layerdefinition48); builder.put(ModelLayers.SQUID_BABY, layerdefinition48.apply(SquidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.STRAY, layerdefinition25); builder.put(ModelLayers.STRAY_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.STRAY_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.STRAY_OUTER_LAYER, LayerDefinition.create(HumanoidModel.createMesh(new CubeDeformation(0.25F), 0.0F), 64, 32)); builder.put(ModelLayers.STRIDER, layerdefinition22); builder.put(ModelLayers.STRIDER_SADDLE, layerdefinition22); builder.put(ModelLayers.STRIDER_BABY, layerdefinition22.apply(StriderModel.BABY_TRANSFORMER)); builder.put(ModelLayers.STRIDER_BABY_SADDLE, layerdefinition22.apply(StriderModel.BABY_TRANSFORMER)); builder.put(ModelLayers.TADPOLE, TadpoleModel.createBodyLayer()); builder.put(ModelLayers.TNT_MINECART, layerdefinition4); builder.put(ModelLayers.TRADER_LLAMA, layerdefinition20); builder.put(ModelLayers.TRADER_LLAMA_BABY, layerdefinition20.apply(LlamaModel.BABY_TRANSFORMER)); builder.put(ModelLayers.TRIDENT, TridentModel.createLayer()); builder.put(ModelLayers.TROPICAL_FISH_LARGE, TropicalFishModelB.createBodyLayer(CubeDeformation.NONE)); builder.put(ModelLayers.TROPICAL_FISH_LARGE_PATTERN, TropicalFishModelB.createBodyLayer(FISH_PATTERN_DEFORMATION)); builder.put(ModelLayers.TROPICAL_FISH_SMALL, TropicalFishModelA.createBodyLayer(CubeDeformation.NONE)); builder.put(ModelLayers.TROPICAL_FISH_SMALL_PATTERN, TropicalFishModelA.createBodyLayer(FISH_PATTERN_DEFORMATION)); builder.put(ModelLayers.TURTLE, layerdefinition39); builder.put(ModelLayers.TURTLE_BABY, layerdefinition39.apply(TurtleModel.BABY_TRANSFORMER)); builder.put(ModelLayers.VEX, VexModel.createBodyLayer()); builder.put(ModelLayers.VILLAGER, layerdefinition26); builder.put(ModelLayers.VILLAGER_BABY, layerdefinition26.apply(VillagerModel.BABY_TRANSFORMER)); builder.put(ModelLayers.VINDICATOR, layerdefinition8); builder.put(ModelLayers.WARDEN, WardenModel.createBodyLayer()); builder.put(ModelLayers.WANDERING_TRADER, layerdefinition26); builder.put(ModelLayers.WIND_CHARGE, WindChargeModel.createBodyLayer()); builder.put(ModelLayers.WITCH, WitchModel.createBodyLayer().apply(meshtransformer)); builder.put(ModelLayers.WITHER, WitherBossModel.createBodyLayer(CubeDeformation.NONE)); builder.put(ModelLayers.WITHER_ARMOR, WitherBossModel.createBodyLayer(INNER_ARMOR_DEFORMATION)); builder.put(ModelLayers.WITHER_SKULL, WitherSkullRenderer.createSkullLayer()); MeshTransformer meshtransformer4 = MeshTransformer.scaling(1.2F); builder.put(ModelLayers.WITHER_SKELETON, layerdefinition25.apply(meshtransformer4)); builder.put(ModelLayers.WITHER_SKELETON_INNER_ARMOR, layerdefinition3.apply(meshtransformer4)); builder.put(ModelLayers.WITHER_SKELETON_OUTER_ARMOR, layerdefinition1.apply(meshtransformer4)); builder.put(ModelLayers.WITHER_SKELETON_SKULL, layerdefinition5); builder.put(ModelLayers.WOLF, layerdefinition40); builder.put(ModelLayers.WOLF_ARMOR, layerdefinition41); builder.put(ModelLayers.WOLF_BABY, layerdefinition40.apply(WolfModel.BABY_TRANSFORMER)); builder.put(ModelLayers.WOLF_BABY_ARMOR, layerdefinition41.apply(WolfModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOGLIN, layerdefinition23); builder.put(ModelLayers.ZOGLIN_BABY, layerdefinition24); builder.put(ModelLayers.ZOMBIE, layerdefinition); builder.put(ModelLayers.ZOMBIE_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.ZOMBIE_OUTER_ARMOR, layerdefinition1); builder.put(ModelLayers.ZOMBIE_BABY, layerdefinition.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIE_BABY_INNER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIE_BABY_OUTER_ARMOR, layerdefinition1.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIE_HEAD, layerdefinition19); builder.put(ModelLayers.ZOMBIE_HORSE, layerdefinition6); builder.put(ModelLayers.ZOMBIE_HORSE_BABY, layerdefinition7); builder.put(ModelLayers.ZOMBIE_VILLAGER, layerdefinition42); builder.put(ModelLayers.ZOMBIE_VILLAGER_INNER_ARMOR, ZombieVillagerModel.createArmorLayer(INNER_ARMOR_DEFORMATION)); builder.put(ModelLayers.ZOMBIE_VILLAGER_OUTER_ARMOR, ZombieVillagerModel.createArmorLayer(OUTER_ARMOR_DEFORMATION)); builder.put(ModelLayers.ZOMBIE_VILLAGER_BABY, layerdefinition42.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIE_VILLAGER_BABY_INNER_ARMOR, ZombieVillagerModel.createArmorLayer(INNER_ARMOR_DEFORMATION).apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIE_VILLAGER_BABY_OUTER_ARMOR, ZombieVillagerModel.createArmorLayer(OUTER_ARMOR_DEFORMATION).apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIFIED_PIGLIN, layerdefinition17); builder.put(ModelLayers.ZOMBIFIED_PIGLIN_INNER_ARMOR, layerdefinition3); builder.put(ModelLayers.ZOMBIFIED_PIGLIN_OUTER_ARMOR, layerdefinition2); builder.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY, layerdefinition17.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_INNER_ARMOR, layerdefinition3.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.ZOMBIFIED_PIGLIN_BABY_OUTER_ARMOR, layerdefinition2.apply(HumanoidModel.BABY_TRANSFORMER)); builder.put(ModelLayers.BAMBOO_RAFT, RaftModel.createRaftModel()); builder.put(ModelLayers.BAMBOO_CHEST_RAFT, RaftModel.createChestRaftModel()); LayerDefinition layerdefinition51 = BoatModel.createBoatModel(); LayerDefinition layerdefinition52 = BoatModel.createChestBoatModel(); builder.put(ModelLayers.OAK_BOAT, layerdefinition51); builder.put(ModelLayers.OAK_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.SPRUCE_BOAT, layerdefinition51); builder.put(ModelLayers.SPRUCE_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.BIRCH_BOAT, layerdefinition51); builder.put(ModelLayers.BIRCH_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.JUNGLE_BOAT, layerdefinition51); builder.put(ModelLayers.JUNGLE_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.ACACIA_BOAT, layerdefinition51); builder.put(ModelLayers.ACACIA_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.CHERRY_BOAT, layerdefinition51); builder.put(ModelLayers.CHERRY_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.DARK_OAK_BOAT, layerdefinition51); builder.put(ModelLayers.DARK_OAK_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.PALE_OAK_BOAT, layerdefinition51); builder.put(ModelLayers.PALE_OAK_CHEST_BOAT, layerdefinition52); builder.put(ModelLayers.MANGROVE_BOAT, layerdefinition51); builder.put(ModelLayers.MANGROVE_CHEST_BOAT, layerdefinition52); LayerDefinition layerdefinition53 = SignRenderer.createSignLayer(true); LayerDefinition layerdefinition54 = SignRenderer.createSignLayer(false); WoodType.values().forEach(p_374591_ -> { builder.put(ModelLayers.createStandingSignModelName(p_374591_), layerdefinition53); builder.put(ModelLayers.createWallSignModelName(p_374591_), layerdefinition54); for (HangingSignRenderer.AttachmentType hangingsignrenderer$attachmenttype : HangingSignRenderer.AttachmentType.values()) { LayerDefinition layerdefinition55 = HangingSignRenderer.createHangingSignLayer(hangingsignrenderer$attachmenttype); builder.put(ModelLayers.createHangingSignModelName(p_374591_, hangingsignrenderer$attachmenttype), layerdefinition55); } }); ImmutableMap immutablemap = builder.build(); List list = ModelLayers.getKnownLocations().filter(p_171117_ -> !immutablemap.containsKey(p_171117_)).collect(Collectors.toList()); if (!list.isEmpty()) { throw new IllegalStateException("Missing layer definitions: " + list); } else { return immutablemap; } } }