Анимация брони [1.7.10]

34
0
Привет всем,при создании брони,а именно нагрудника столкнулся с такой проблемой:Н[font=Verdana, Helvetica, Arial, sans-serif]е покрытые бронёй места становятся странными.[/font][font=Verdana, Helvetica, Arial, sans-serif]Как исправить?Может проблема в offset?[/font]
 
1,976
68
220
Проблема в текстуркарте. Просто отступи слева-сверху зону 64*32 (64*64, если 1.8+) и всё будет чики-пуки))
 
34
0
AlexSocol написал(а):
Кинь скрин брони и код
Код:
public class ModelHeadArmor12 extends ModelBiped
{
  //fields
    ModelRenderer Box_4;
    ModelRenderer Box_1;
    ModelRenderer Box_2;
    ModelRenderer Box_3;
    ModelRenderer Box_6;
    ModelRenderer Box_7;
    ModelRenderer Box_8;
    ModelRenderer Box_9;
    ModelRenderer Box_10;
    ModelRenderer Box_11;
    ModelRenderer Box_12;
    ModelRenderer Box_13;
    ModelRenderer Box_14;
    ModelRenderer Box_15;
    ModelRenderer Box_16;
    ModelRenderer Box_17;
    ModelRenderer Box_18;
    ModelRenderer Box_19;
    ModelRenderer Box_21;
    ModelRenderer Box_22;
    ModelRenderer Box_20;
    ModelRenderer Box_5;
    ModelRenderer Box_23;
    ModelRenderer Box_24;
  
  public ModelHeadArmor12(float f)
  {
    textureWidth = 64;
    textureHeight = 32;
    
      Box_4 = new ModelRenderer(this, 1, 1);
      Box_4.addBox(-4F, 0F, 1F, 8, 12, 2);
      Box_4.setRotationPoint(0F, 0F, 0F);
      Box_4.setTextureSize(128, 64);
      Box_4.mirror = true;
      setRotation(Box_4, 0.0174533F, 0F, 0F);
      Box_1 = new ModelRenderer(this, 25, 1);
      Box_1.addBox(-4F, 12F, 0F, 8, 9, 1);
      Box_1.setRotationPoint(0F, 0F, 0F);
      Box_1.setTextureSize(128, 64);
      Box_1.mirror = true;
      setRotation(Box_1, 0.1745329F, 0F, 0F);
      Box_2 = new ModelRenderer(this, 49, 1);
      Box_2.addBox(-2F, 12F, -2F, 1, 9, 4);
      Box_2.setRotationPoint(0F, 0F, 0F);
      Box_2.setTextureSize(128, 64);
      Box_2.mirror = true;
      setRotation(Box_2, 0.1047198F, 0F, 0.1396263F);
      Box_3 = new ModelRenderer(this, 65, 1);
      Box_3.addBox(1F, 12F, -2F, 1, 9, 4);
      Box_3.setRotationPoint(0F, 0F, 0F);
      Box_3.setTextureSize(128, 64);
      Box_3.mirror = true;
      setRotation(Box_3, 0.1047198F, 0F, -0.1396263F);
      Box_6 = new ModelRenderer(this, 1, 35);
      Box_6.addBox(1F, 12F, -2.5F, 1, 9, 4);
      Box_6.setRotationPoint(0F, 0F, 0F);
      Box_6.setTextureSize(128, 64);
      Box_6.mirror = true;
      setRotation(Box_6, 0.0174533F, -0.0698132F, -0.1745329F);
      Box_7 = new ModelRenderer(this, 17, 35);
      Box_7.addBox(-2F, 12F, -2.5F, 1, 9, 4);
      Box_7.setRotationPoint(0F, 0F, 0F);
      Box_7.setTextureSize(128, 64);
      Box_7.mirror = true;
      setRotation(Box_7, 0.0349066F, -0.0698132F, 0.1745329F);
      Box_8 = new ModelRenderer(this, 33, 35);
      Box_8.addBox(-2F, 12F, -1F, 1, 9, 2);
      Box_8.setRotationPoint(0F, 0F, 0F);
      Box_8.setTextureSize(128, 64);
      Box_8.mirror = true;
      setRotation(Box_8, 0.1047198F, -0.8726646F, 0.1745329F);
      Box_9 = new ModelRenderer(this, 41, 35);
      Box_9.addBox(-2F, 12F, -2F, 1, 9, 4);
      Box_9.setRotationPoint(0F, 0F, 0F);
      Box_9.setTextureSize(128, 64);
      Box_9.mirror = true;
      setRotation(Box_9, 0.0349066F, 0F, 0.1745329F);
      Box_10 = new ModelRenderer(this, 57, 35);
      Box_10.addBox(1F, 12F, -2F, 1, 9, 4);
      Box_10.setRotationPoint(0F, 0F, 0F);
      Box_10.setTextureSize(128, 64);
      Box_10.mirror = true;
      setRotation(Box_10, 0.0349066F, 0F, -0.1745329F);
      Box_11 = new ModelRenderer(this, 73, 35);
      Box_11.addBox(1F, 12F, -1F, 1, 9, 2);
      Box_11.setRotationPoint(0F, 0F, 0F);
      Box_11.setTextureSize(128, 64);
      Box_11.mirror = true;
      setRotation(Box_11, 0.1047198F, 0.8726646F, -0.1745329F);
      Box_12 = new ModelRenderer(this, 81, 35);
      Box_12.addBox(-4F, 0F, -3F, 2, 12, 1);
      Box_12.setRotationPoint(0F, 0F, 0F);
      Box_12.setTextureSize(128, 64);
      Box_12.mirror = true;
      setRotation(Box_12, 0.0174533F, 0F, 0F);
      Box_13 = new ModelRenderer(this, 89, 35);
      Box_13.addBox(2F, 0F, -3F, 2, 12, 1);
      Box_13.setRotationPoint(0F, 0F, 0F);
      Box_13.setTextureSize(128, 64);
      Box_13.mirror = true;
      setRotation(Box_13, 0.0174533F, 0F, 0F);
      Box_14 = new ModelRenderer(this, 1, 17);
      Box_14.addBox(-4F, 0F, -2F, 2, 12, 4);
      Box_14.setRotationPoint(0F, 0F, 0F);
      Box_14.setTextureSize(128, 64);
      Box_14.mirror = true;
      setRotation(Box_14, 0.0174533F, 0F, 0F);
      Box_15 = new ModelRenderer(this, 16, 17);
      Box_15.addBox(2F, 0F, -2F, 2, 12, 4);
      Box_15.setRotationPoint(0F, 0F, 0F);
      Box_15.setTextureSize(128, 64);
      Box_15.mirror = true;
      setRotation(Box_15, 0.0174533F, 0F, 0F);
      Box_16 = new ModelRenderer(this, 32, 17);
      Box_16.addBox(-3.5F, -2.5F, -2.5F, 5, 7, 5);
      Box_16.setRotationPoint(-5F, 2F, 0F);
      Box_16.setTextureSize(128, 64);
      Box_16.mirror = true;
      setRotation(Box_16, 0.0174533F, 0F, 0F);
      Box_17 = new ModelRenderer(this, 56, 17);
      Box_17.addBox(-1.5F, -2.5F, -2.5F, 5, 7, 5);
      Box_17.setRotationPoint(5F, 2F, 0F);
      Box_17.setTextureSize(128, 64);
      Box_17.mirror = true;
      setRotation(Box_17, 0.0174533F, 0F, 0F);
      Box_18 = new ModelRenderer(this, 80, 17);
      Box_18.addBox(-3.5F, 5F, 4.7F, 7, 1, 3);
      Box_18.setRotationPoint(0F, 0F, 0F);
      Box_18.setTextureSize(128, 64);
      Box_18.mirror = true;
      setRotation(Box_18, -0.4014257F, 0F, 0F);
      Box_19 = new ModelRenderer(this, 104, 17);
      Box_19.addBox(-3.5F, 11F, -2.5F, 7, 1, 3);
      Box_19.setRotationPoint(0F, 0F, 0F);
      Box_19.setTextureSize(128, 64);
      Box_19.mirror = true;
      setRotation(Box_19, 0.4014257F, 0F, 0F);
      Box_21 = new ModelRenderer(this, 93, 24);
      Box_21.addBox(-3.5F, 7.8F, 3F, 7, 3, 2);
      Box_21.setRotationPoint(0F, 0F, 0F);
      Box_21.setTextureSize(128, 64);
      Box_21.mirror = true;
      setRotation(Box_21, 0.0174533F, 0F, 0F);
      Box_22 = new ModelRenderer(this, 1, 51);
      Box_22.addBox(-4F, 8.2F, 3.5F, 8, 2, 1);
      Box_22.setRotationPoint(0F, 0F, 0F);
      Box_22.setTextureSize(128, 64);
      Box_22.mirror = true;
      setRotation(Box_22, 0.0174533F, 0F, 0F);
      Box_20 = new ModelRenderer(this, 25, 51);
      Box_20.addBox(-4F, 8.2F, 3.2F, 8, 2, 1);
      Box_20.setRotationPoint(0F, 0F, 0F);
      Box_20.setTextureSize(128, 64);
      Box_20.mirror = true;
      setRotation(Box_20, 0.0174533F, 0F, 0F);
      Box_5 = new ModelRenderer(this, 49, 51);
      Box_5.addBox(-4F, 8.2F, 3.7F, 8, 2, 1);
      Box_5.setRotationPoint(0F, 0F, 0F);
      Box_5.setTextureSize(128, 64);
      Box_5.mirror = true;
      setRotation(Box_5, 0.0174533F, 0F, 0F);
      Box_23 = new ModelRenderer(this, 73, 51);
      Box_23.addBox(-1.3F, 12F, -3F, 1, 9, 1);
      Box_23.setRotationPoint(0F, 0F, 0F);
      Box_23.setTextureSize(128, 64);
      Box_23.mirror = true;
      setRotation(Box_23, 0F, 0F, 0.1396263F);
      Box_24 = new ModelRenderer(this, 81, 51);
      Box_24.addBox(0.4F, 12F, -3F, 1, 9, 1);
      Box_24.setRotationPoint(0F, 0F, 0F);
      Box_24.setTextureSize(128, 64);
      Box_24.mirror = true;
      setRotation(Box_24, 0F, 0F, -0.1396263F);
      
      this.bipedBody.addChild(Box_1);
      this.bipedBody.addChild(Box_2);
      this.bipedBody.addChild(Box_3);
      this.bipedBody.addChild(Box_4);
      this.bipedBody.addChild(Box_5);
      this.bipedBody.addChild(Box_6);
      this.bipedBody.addChild(Box_7);
      this.bipedBody.addChild(Box_8);
      this.bipedBody.addChild(Box_9);
      this.bipedBody.addChild(Box_10);
      this.bipedBody.addChild(Box_11);
      this.bipedBody.addChild(Box_12);
      this.bipedBody.addChild(Box_13);
      this.bipedBody.addChild(Box_14);
      this.bipedBody.addChild(Box_15);
      this.bipedLeftArm.addChild(Box_16);
      this.bipedRightArm.addChild(Box_17);
      this.bipedBody.addChild(Box_18);
      this.bipedBody.addChild(Box_19);
      this.bipedBody.addChild(Box_20);
      this.bipedBody.addChild(Box_21);
      this.bipedBody.addChild(Box_22);
      this.bipedBody.addChild(Box_23);
      this.bipedBody.addChild(Box_24);
  }
  
  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
  {
    super.render(entity, f, f1, f2, f3, f4, f5);
    setRotationAngles(f, f1, f2, f3, f4, f5, entity);
  
  }
  
  private void setRotation(ModelRenderer model, float x, float y, float z)
  {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
  }
  
  public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
  {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
  }
 
34
0
AlexSocol написал(а):
Код:
public class Helmet extends ItemArmor {
    

    public Helmet(int id, int armorType) {
        super(ArmorMaterial.DIAMOND, id, armorType);       //Материал
        this.setCreativeTab(CreativeTabs.tabCombat);                                      
        this.setMaxStackSize(1);
        this.setTextureName("PicJ");        //Текстурка итема               
    }
    
    @Override
    public void registerIcons(IIconRegister par1IconRegister)
    {
   
    }
    


@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot,
String type) {
        return "mod:textures/models/armor/ArmorModel12.png";     //текстурка брони на игроке
}
ModelBiped ModelHeadArmor12 = new ModelBiped();            //вместо PartyHat называем как хотим
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving,
ItemStack itemStack, int armorSlot) {
if(itemStack != null){
if(itemStack.getItem() instanceof Helmet){
int type = ((ItemArmor)itemStack.getItem()).armorType;
           ModelHeadArmor12 = Main.proxy.getArmorModel(1);   
//TestMOD-ваш гл класс, proxy - это переменная с сервер прокси [пример: public static ServerProxy proxy1;] 
//Все это,это регистрация модели в прокси .Где (0) это тип брони. 1-нагрудник, 2 - штаны , 3 - ботинки

}
if(ModelHeadArmor12 != null){
ModelHeadArmor12.bipedHead.showModel = armorSlot == 0;
ModelHeadArmor12.bipedHeadwear.showModel = armorSlot == 10;
ModelHeadArmor12.bipedBody.showModel = armorSlot == 1 || armorSlot == 2;
ModelHeadArmor12.bipedRightArm.showModel = armorSlot == 1;
ModelHeadArmor12.bipedLeftArm.showModel = armorSlot == 1;
ModelHeadArmor12.bipedRightLeg.showModel = armorSlot == 2 || armorSlot == 3;
ModelHeadArmor12.bipedLeftLeg.showModel = armorSlot == 2 || armorSlot == 3;
ModelHeadArmor12.isSneak = entityLiving.isSneaking();
ModelHeadArmor12.isRiding = entityLiving.isRiding();
ModelHeadArmor12.isChild = entityLiving.isChild();
if(entityLiving instanceof EntityPlayer && ((EntityPlayer) entityLiving).inventory.getCurrentItem() != null && ((EntityPlayer) entityLiving).inventory.getCurrentItem().getItemUseAction() == EnumAction.bow && ((EntityPlayer)entityLiving).getItemInUseDuration() > 1) {
    ModelHeadArmor12.aimedBow = true;
} else {
    ModelHeadArmor12.aimedBow = false;
}

// Проверка положения при взятии в руку предмета
if (entityLiving instanceof EntityPlayer && ((EntityPlayer) entityLiving).inventory.getCurrentItem() != null && ((EntityPlayer) entityLiving).inventory.getCurrentItem().stackSize != 0) {
    ModelHeadArmor12.heldItemRight = 1;
} else {
    ModelHeadArmor12.heldItemRight = 0;
}
}
}


return ModelHeadArmor12;
}

}
 
Сверху