Текстура залезла на персонажа.

Версия Minecraft
1.7.10
Сделал шапку по этим туторам: [1.6.4]Гайд: создание брони с нестандартной моделью и [Гайд] Бронь с моделью 1.7.10.Модель делал в Techne.
Но текстура, как видно на скрине, сползла на перса...unknown.pngЯ как-то это чинил, но не помню как.Хелп, пожалуйста!
Код Брони::
package ru.mrtenfan.travicraft.armors;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import ru.mrtenfan.travicraft.Main;

public class Partyhat1 extends ItemArmor {

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

    }
    if(PartyHat != null){
    PartyHat.bipedHead.showModel = armorSlot == 0;
    PartyHat.bipedHeadwear.showModel = armorSlot == 10;
    PartyHat.bipedBody.showModel = armorSlot == 1 || armorSlot == 2;
    PartyHat.bipedRightArm.showModel = armorSlot == 1;
    PartyHat.bipedLeftArm.showModel = armorSlot == 1;
    PartyHat.bipedRightLeg.showModel = armorSlot == 2 || armorSlot == 3;
    PartyHat.bipedLeftLeg.showModel = armorSlot == 2 || armorSlot == 3;
    PartyHat.isSneak = entityLiving.isSneaking();
    PartyHat.isRiding = entityLiving.isRiding();
    PartyHat.isChild = entityLiving.isChild();
    if(entityLiving instanceof EntityPlayer){
    PartyHat.aimedBow =((EntityPlayer)entityLiving).getItemInUseDuration() > 2;
    }
    }
    }
    return PartyHat;
    }
  
}

Код Модели::
// Date: 02.11.2019 15:47:52

package ru.mrtenfan.travicraft.models;

import java.util.ArrayList;

import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

public class partyhat_model extends ModelBiped
{
    int slot = 0;
  //fields
    ModelRenderer cube1;
    ModelRenderer Cube2;
    ModelRenderer Cube3;
    ModelRenderer Cube4;
    ModelRenderer Cube5;

  public partyhat_model(float f)
  {
    textureWidth = 64;
    textureHeight = 32;
  
      cube1 = new ModelRenderer(this, 0, 0);
      cube1.addBox(-5F, -9F, -5F, 10, 2, 10);
      cube1.setRotationPoint(0F, 0F, 0F);
      cube1.setTextureSize(64, 32);
      cube1.mirror = true;
      setRotation(cube1, 0F, 0F, 0F);
      Cube2 = new ModelRenderer(this, 0, 14);
      Cube2.addBox(-4F, -12F, -4F, 8, 3, 8);
      Cube2.setRotationPoint(0F, 0F, 0F);
      Cube2.setTextureSize(64, 32);
      Cube2.mirror = true;
      setRotation(Cube2, 0F, 0F, 0F);
      Cube3 = new ModelRenderer(this, 40, 0);
      Cube3.addBox(-3F, -14F, -3F, 6, 2, 6);
      Cube3.setRotationPoint(0F, 0F, 0F);
      Cube3.setTextureSize(64, 32);
      Cube3.mirror = true;
      setRotation(Cube3, 0F, 0F, 0F);
      Cube4 = new ModelRenderer(this, 34, 14);
      Cube4.addBox(-2F, -15F, -2F, 4, 1, 4);
      Cube4.setRotationPoint(0F, 0F, 0F);
      Cube4.setTextureSize(64, 32);
      Cube4.mirror = true;
      setRotation(Cube4, 0F, 0F, 0F);
      Cube5 = new ModelRenderer(this, 0, 29);
      Cube5.addBox(-1F, -16F, -1F, 2, 1, 2);
      Cube5.setRotationPoint(0F, 0F, 0F);
      Cube5.setTextureSize(64, 32);
      Cube5.mirror = true;
      setRotation(Cube5, 0F, 0F, 0F);
    
      this.bipedHead.addChild(cube1);
      this.bipedHead.addChild(Cube2);
      this.bipedHead.addChild(Cube3);
      this.bipedHead.addChild(Cube4);
      this.bipedHead.addChild(Cube5);
  }

  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
  {
      cube1.showModel = slot == 0;
      Cube2.showModel = slot == 0;
      Cube3.showModel = slot == 0;
      Cube4.showModel = slot == 0;
      Cube5.showModel = slot == 0;
    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);
  }

}

ClientProxy:
package ru.mrtenfan.travicraft;

import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import net.minecraft.client.model.ModelBiped;
import ru.mrtenfan.travicraft.models.partyhat_model;

public class ClientProxy extends CommonProxy {
    private static final partyhat_model partyhat = new partyhat_model(-1.0F);
    public static ModelBiped modelHelmet;

  
    @Override
    public ModelBiped getArmorModel(int id){
    return partyhat;
    }
    public void preInit(FMLPreInitializationEvent e)
    {
    }
    public void init(FMLInitializationEvent e)
    {
    }
    public void postInit(FMLPostInitializationEvent e)
    { 
    }
}

ServerProxy:
package ru.mrtenfan.travicraft;

import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import net.minecraft.client.model.ModelBiped;

public class CommonProxy {
    public ModelBiped getArmorModel(int i) {
        return null;
    }
    public void preInit(FMLPreInitializationEvent e)
    {
    }
    public void init(FMLInitializationEvent e) {
    }
    public void postInit(FMLPostInitializationEvent e)
    {  
    }
}
 
7,099
324
1,510
В partyhat_model #render добавь небольшое смещение по z(Gl11.glTranslated(0,0,z)). Какое лучше подойдет подбери в дебаге - константы можно без перезапуска менять
 
7,099
324
1,510
Мерцает?
Скорее всего та же проблема. Попробуй сдвинуть чу-чуть взад.
 
Я РЕШИЛ ЭТО!
Из [Гайд] Броня с моделью 1.7.10 в самом последнем сообщении:
//Если у вас вместо модели брони какие то розовые квадраты:
Код:
        //Добавить к себе в класс модели брони
this.bipedHead.cubeList.clear();
this.bipedBody.cubeList.clear();
this.bipedLeftArm.cubeList.clear();
this.bipedRightArm.cubeList.clear();
this.bipedLeftLeg.cubeList.clear();
this.bipedRightLeg.cubeList.clear();
Вставил и эти непонятные текстуры пропали!
Спасибо за помощь!
 
  • Like
Реакции: lnti
Сверху