/** * This class was created by <wiiv>. It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under the * Botania License: http://botaniamod.net/license.php * * File Created @ [? (GMT)] */ package vazkii.botania.client.model.armor; import javax.annotation.Nonnull; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.inventory.EntityEquipmentSlot; public class ModelArmorManaweave extends ModelArmor { private final ModelRenderer helm; public final ModelRenderer body; private final ModelRenderer armR; private final ModelRenderer armL; private final ModelRenderer legR; private final ModelRenderer legL; private final ModelRenderer bootR; private final ModelRenderer bootL; private final ModelRenderer helm2; private final ModelRenderer helm3; private final ModelRenderer helm4; private final ModelRenderer helmSeam1; private final ModelRenderer helmSeam2; private final ModelRenderer helmSeam3; private final ModelRenderer helmSeam4; private final ModelRenderer body2; private final ModelRenderer armRpauldron; private final ModelRenderer armLpauldron; private final ModelRenderer skirtR; private final ModelRenderer skirtL; public ModelArmorManaweave(EntityEquipmentSlot slot) { super(slot); textureWidth = 64; textureHeight = 128; float s = 0.6F; helmSeam3 = new ModelRenderer(this, 26, 61); helmSeam3.setRotationPoint(0.0F, 0.0F, 0.0F); helmSeam3.addBox(-0.5F, -9.5F, 5.0F, 1, 11, 1, s); helmSeam4 = new ModelRenderer(this, 39, 64); helmSeam4.setRotationPoint(0.0F, 0.0F, 0.0F); helmSeam4.addBox(-0.5F, 0.5F, -1.0F, 1, 1, 6, s); skirtL = new ModelRenderer(this, 0, 83); skirtL.mirror = true; skirtL.setRotationPoint(0.0F, 0.0F, 0.0F); skirtL.addBox(-2.0F, -2.0F, -3.5F, 5, 13, 7, s); setRotateAngle(skirtL, 0.0F, -0.17453292519943295F, -0.2617993877991494F); armR = new ModelRenderer(this, 24, 83); armR.setRotationPoint(-5.0F, 2.0F, 0.0F); armR.addBox(-3.0F, -1.5F, -2.5F, 4, 10, 5, s); setRotateAngle(armR, 0.0F, 0.0F, 0F); armL = new ModelRenderer(this, 24, 83); armL.mirror = true; armL.setRotationPoint(5.0F, 2.0F, -0.0F); armL.addBox(-1.0F, -1.5F, -2.5F, 4, 10, 5, s); setRotateAngle(armL, 0.0F, 0.0F, 0F); bootR = new ModelRenderer(this, 0, 103); bootR.setRotationPoint(-2.0F, 12.0F, 0.0F); bootR.addBox(-2.0F, 8.0F, -3.0F, 4, 4, 5, s); setRotateAngle(bootR, 0.0F, 0.0F, 0F); legR = new ModelRenderer(this, 42, 81); legR.setRotationPoint(-2.0F, 12.0F, 0.0F); legR.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, s); setRotateAngle(legR, 0.0F, 0.0F, 0F); helm2 = new ModelRenderer(this, 38, 42); helm2.setRotationPoint(0.0F, 0.0F, 0.0F); helm2.addBox(-4.49F, -4.0F, -2.5F, 1, 5, 8, s); skirtR = new ModelRenderer(this, 0, 83); skirtR.setRotationPoint(0.0F, 0.0F, 0.0F); skirtR.addBox(-3.0F, -2.0F, -3.5F, 5, 13, 7, s); setRotateAngle(skirtR, 0.0F, 0.17453292519943295F, 0.2617993877991494F); armRpauldron = new ModelRenderer(this, 0, 72); armRpauldron.setRotationPoint(0.0F, 0.0F, 0.0F); armRpauldron.addBox(-4.0F, -2.0F, -3.0F, 3, 5, 6, s); setRotateAngle(armRpauldron, 0.0F, 0.0F, 0F); bootL = new ModelRenderer(this, 0, 103); bootL.setRotationPoint(2.0F, 12.0F, 0.0F); bootL.addBox(-2.0F, 8.0F, -3.0F, 4, 4, 5, s); setRotateAngle(bootL, 0.0F, 0.0F, 0F); helmSeam1 = new ModelRenderer(this, 30, 61); helmSeam1.setRotationPoint(0.0F, 0.0F, 0.0F); helmSeam1.addBox(-0.5F, -10.5F, -5.0F, 1, 7, 2, s); helm = new ModelRenderer(this, 0, 32); helm.setRotationPoint(0.0F, 0.0F, 0.0F); helm.addBox(-4.5F, -10.0F, -4.5F, 9, 6, 10, s); setRotateAngle(helm, 0F, 0.0F, 0.0F); armLpauldron = new ModelRenderer(this, 0, 72); armLpauldron.mirror = true; armLpauldron.setRotationPoint(0.0F, 0.0F, 0.0F); armLpauldron.addBox(1.0F, -2.0F, -3.0F, 3, 5, 6, s); setRotateAngle(armLpauldron, 0.0F, 0.0F, 0F); helm4 = new ModelRenderer(this, 38, 32); helm4.setRotationPoint(0.0F, 0.0F, 0.0F); helm4.addBox(-3.5F, -4.0F, 0.49F, 7, 5, 5, s); helmSeam2 = new ModelRenderer(this, 36, 61); helmSeam2.setRotationPoint(0.0F, 0.0F, 0.0F); helmSeam2.addBox(-0.5F, -10.5F, -3.0F, 1, 1, 9, s); legL = new ModelRenderer(this, 42, 81); legL.mirror = true; legL.setRotationPoint(2.0F, 12.0F, 0.0F); legL.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, s); setRotateAngle(legL, 0.0F, 0.0F, 0F); body2 = new ModelRenderer(this, 0, 61); body2.setRotationPoint(0.0F, 0.0F, 0.0F); body2.addBox(-4.0F, 6.0F, -2.5F, 8, 6, 5, s); body = new ModelRenderer(this, 0, 48); body.setRotationPoint(0.0F, 0.0F, 0.0F); body.addBox(-4.5F, 0.0F, -3.0F, 9, 7, 6, s); helm3 = new ModelRenderer(this, 38, 42); helm3.mirror = true; helm3.setRotationPoint(0.0F, 0.0F, 0F); helm3.addBox(3.49F, -4.0F, -2.5F, 1, 5, 8, s); helm.addChild(helmSeam3); helm.addChild(helmSeam4); legL.addChild(skirtL); helm.addChild(helm2); legR.addChild(skirtR); armR.addChild(armRpauldron); helm.addChild(helmSeam1); armL.addChild(armLpauldron); helm.addChild(helm4); helm.addChild(helmSeam2); body.addChild(body2); helm.addChild(helm3); } @Override public void render(@Nonnull Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) { helm.showModel = slot == EntityEquipmentSlot.HEAD; body.showModel = slot == EntityEquipmentSlot.CHEST; armR.showModel = slot == EntityEquipmentSlot.CHEST; armL.showModel = slot == EntityEquipmentSlot.CHEST; legR.showModel = slot == EntityEquipmentSlot.LEGS; legL.showModel = slot == EntityEquipmentSlot.LEGS; bootL.showModel = slot == EntityEquipmentSlot.FEET; bootR.showModel = slot == EntityEquipmentSlot.FEET; bipedHeadwear.showModel = false; bipedHead = helm; bipedBody = body; bipedRightArm = armR; bipedLeftArm = armL; if(slot == EntityEquipmentSlot.LEGS) { bipedRightLeg = legR; bipedLeftLeg = legL; } else { bipedRightLeg = bootR; bipedLeftLeg = bootL; } super.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale); } }