Кусочек текстуры модели рендерится на игроке

Версия Minecraft
1.12.2
Не понимаю в чём дело. Кусок текстуры от модели шлема почему-то рендерится на правой стороне головы игрока (та серая штука у плеча игрока). 1615668408553.pngВ самой модели нет такой штуки. Я нашёл в текстуре место, которое является данной странностью, но оно используется и нужно части самой модели. Если из класса модели убрать все "коробочки", которые задают саму модель, и запустить майн, остаётся только эта странная часть. 1615668935377.png Что это и как избавиться от этого?
 
Решение
Посмотри внимательно в классе ModelBiped, какие куски модели предназначены для головы. Там еще есть капюшон(шлем). Очень похоже на него. У части капюшона тоже нужно удалить все кубы
7,099
324
1,510
Прикрепи модель и код рендера?
 
Вот код модельки (Делал через Blockbench) ->
Java:
public class ArmoredWeldingHelmet extends ModelBiped
{
        private final ModelRenderer head;
        private final ModelRenderer cover;

    public ArmoredWeldingHelmet() {
        textureWidth = 64;
        textureHeight = 64;

        head = new ModelRenderer(this);
        head.setRotationPoint(0.0F, 0.0F, 0.0F);
        head.cubeList.add(new ModelBox(head, 0, 0, -5.0F, -9.0F, -5.0F, 10, 1, 10, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 40, 0, -5.0F, -8.0F, 0.0F, 1, 6, 5, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 30, 0, -5.0F, -8.0F, -4.0F, 1, 5, 4, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 13, 21, 4.0F, -8.0F, 0.0F, 1, 6, 5, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 0, 0, 4.0F, -8.0F, -4.0F, 1, 5, 4, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 0, 19, -4.0F, -8.0F, 4.0F, 8, 6, 1, 0.0F, false));
        head.cubeList.add(new ModelBox(head, 0, 16, -5.0F, -8.0F, -5.0F, 10, 2, 1, 0.0F, false));

        cover = new ModelRenderer(this);
        cover.setRotationPoint(0.0F, 0.0F, 0.0F);
        setRotationAngle(cover, -0.3491F, 0.0F, 0.0F);
        cover.cubeList.add(new ModelBox(cover, 0, 26, 5.0F, -3.0F, -7.0F, 1, 3, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 11, 32, 3.0F, -3.0F, -8.0F, 3, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 29, 11, -6.0F, -3.0F, -8.0F, 3, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 40, 0, -6.0F, -3.0F, -7.0F, 1, 3, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, -6.0F, -5.0F, -8.0F, 12, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, -4.0F, -4.0F, -9.0F, 8, 1, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, -4.0F, -1.0F, -9.0F, 8, 1, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 1, 37, -3.0F, -3.0F, -8.5F, 6, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, 3.0F, -3.0F, -9.0F, 1, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, -4.0F, -3.0F, -9.0F, 1, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 11, -6.0F, -5.0F, -8.0F, 12, 2, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 14, -6.0F, -1.0F, -8.0F, 12, 1, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 18, 19, -5.0F, 0.0F, -8.0F, 10, 1, 1, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 0, 26, 4.9F, -5.0F, -7.0F, 1, 2, 5, 0.0F, false));
        cover.cubeList.add(new ModelBox(cover, 22, 11, -6.1F, -5.0F, -7.0F, 1, 2, 5, 0.0F, false));
        head.addChild(cover);

        this.bipedHead.cubeList.clear();
        this.bipedHead.addChild(head);
}

    @Override
    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);
    }
    public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
        modelRenderer.rotateAngleX = x;
        modelRenderer.rotateAngleY = y;
        modelRenderer.rotateAngleZ = z;
    }
}
P.S. Для рендера ничего отдельного не делал
+Итем шлема:
Java:
public class ArmoredWeldingHelmetItem extends ItemArmor
{
    public ArmoredWeldingHelmetItem() {
        super(Registry.AWHelmet_material, 0, EntityEquipmentSlot.HEAD);
        this.setRegistryName("awhelmet");
        this.setUnlocalizedName("awhelmet");
        this.setCreativeTab(LastDayZ.LASTDAYZTAB);
    }

    @Override
    public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) {
        return LastDayZ.MODID+ ":textures/models/armor/pubghelmet.png";
    }

    @Override
    public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn)
    {
        tooltip.add(I18n.format("item.awhelmet.tip.1"));
    }

    @Override
    @SideOnly(Side.CLIENT)
    public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, EntityEquipmentSlot armorSlot, ModelBiped _default) {
        ModelBiped model = null;
        if(!entityLiving.getItemStackFromSlot(EntityEquipmentSlot.CHEST).isEmpty() && !entityLiving.getItemStackFromSlot(EntityEquipmentSlot.FEET).isEmpty() && !entityLiving.getItemStackFromSlot(EntityEquipmentSlot.LEGS).isEmpty())
            model = Registry.getArmors().get(getClass().getSimpleName()+"closed"); else model = Registry.getArmors().get(getClass().getSimpleName()+"opened");

        if (model != null) {
            model.bipedHead.showModel = armorSlot == EntityEquipmentSlot.HEAD;
            model.bipedHeadwear.showModel = false;
            model.bipedBody.showModel = false;
            model.bipedRightArm.showModel = false;
            model.bipedLeftArm.showModel = false;
            model.bipedRightLeg.showModel = false;
            model.bipedLeftLeg.showModel = false;

            model.isSneak = entityLiving.isSneaking();
            model.isRiding = entityLiving.isRiding();
            model.isChild = entityLiving.isChild();
        }
        return model;
    }
 
Последнее редактирование:
7,099
324
1,510
Ок попробуй убрать из модели строчку this.bipedHead.addChild(head)
Ожидаемое поведение: вся модель шлема исчезнет
 
Я закомментировал ту строчку. Как и ожидалось сам шлем пропал, но та штука осталась.1615747967139.png (Она немного поменяла своё положение т.к. я в попытках от неё избавиться изменил текстуру, переместив ту часть в другое место. К сожалению не помогло)
 
7,099
324
1,510
Посмотри внимательно в классе ModelBiped, какие куски модели предназначены для головы. Там еще есть капюшон(шлем). Очень похоже на него. У части капюшона тоже нужно удалить все кубы
 
После удаления всех кубов капюшона (this.bipedHeadwear.cubeList.clear();) данная штука перестала наблюдаться. Я думал, что model.bipedHeadwear.showModel = false; (в методе получения модели брони) - отключит показ капюшона, но похоже что это не так :) Получается проблема решилась, спасибо!
 
Сверху