[1.6.4] Гайд: Создание брони с нестандартной моделью

1,990
18
105
У меня на этом компе сурсов нет, если скинет Volkula - пускай.
Если проблему не решишь, отпишись в лс, я тебе скайп дам.

В ClientProxy рендер ненужных частей отрубали?
Код:
        modelGlasses.bipedHead.showModel = false;
        modelGlasses.bipedHeadwear.showModel = false;
        modelGlasses.bipedBody.showModel = false;
        modelGlasses.bipedLeftArm.showModel = false;
        modelGlasses.bipedRightArm.showModel = false;
        modelGlasses.bipedLeftLeg.showModel = false;
        modelGlasses.bipedRightLeg.showModel = false;
        modelGlasses.bipedCloak.showModel = false;
 
Можно готовый уже?)Я начинающий и у меня некие проблемы в написании данного мода...Заранее спасибо
 
1,990
18
105
Начинающий - обходи это стороной и иди изучать основы.
Я тут королева. Я тут Д'артаньян, царь и бог.
На самом деле у меня нету на этом компе исходников туториала, а писать заново я не хочу и не буду.

А вообще вы офигели уже. Давайте я за Вас мод напишу и заплачу сверху?
Проблемы - пиши, я постараюсь помочь. Если ты будешь пытаться что-то сделать.
 
Разумеется буду С: На данный момент я знаю несколько языков программирования и сейчас мне понадобилась джава...Учусь я лучше на исходниках, а не на туториалах С: Мне удобнее сидеть и разбирать как,что в коде.Я вас понимаю и прошу простить мою наглость(Знакома данная ситуация).
 
43
0
Люди можете помочь сделал нагрудник в техне код тоже создал а в игре когда надеваю абсолютно ничего нет на мне стив как стив
 
1,990
18
105
Код всех классов выложи.
Только засунь их под спойлеры (тег spoiler, обособляется с двух стороны символами [ и ]) и в тег code:
mxduzg7.png
 
43
0
Окей выкладую
Код:
[spoiler]Woa(Главный код)
package assets.woa.src;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.ItemArmor;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.SideOnly;
@Mod(modid=ModInfo.MODID, name=ModInfo.NAME, version=ModInfo.VERSION)
@NetworkMod(clientSideRequired=true, serverSideRequired=true) 
public class woa {
@Mod.Instance(ModInfo.MODID)
public static woa mod;

@SidedProxy(clientSide="assets.woa.src.ClientProxy", serverSide="assets.woa.src.CommonProxy") 
public static CommonProxy proxy; 

public static ItemArmor itemAltair = new ItemAltair(3200);


@EventHandler
public void modLoad(FMLInitializationEvent event)
{
    LanguageRegistry.addName(itemAltair, "Altair Armor");
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
    
}
}
[spoiler]Item Altair(Класс нагрудника)
package assets.woa.src;

import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ItemAltair extends ItemArmor  {

    public ItemAltair(int par1)
    {
        super(par1, EnumArmorMaterial.CHAIN, 0, 1);
        this.setCreativeTab(CreativeTabs.tabCombat);
        this.setFull3D();
    }
        @SideOnly(Side.CLIENT)
        @Override
        public void registerIcons(IconRegister par1IconRegister) {
            this.itemIcon = par1IconRegister.registerIcon(ModInfo.MODID+":"+"icon_name");
        }
        
        
         @Override
         public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
             if (slot == 1) 
              return ModInfo.MODID + ":textures/armor/" + "texture_name.png";
              return ModInfo.MODID + ":textures/armor/" + "texture_name.png";
            }
         
        @SideOnly(Side.CLIENT)
        @Override
        public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { 
                if (armorSlot != 1)
                    return null;
                
                if (itemStack != null && itemStack.getItem() instanceof ItemAltair) {
                    ModelBiped model = ClientProxy.getArmorModel();
                    model.isSneak = entityLiving.isSneaking();
                    return model;
                }
                else 
                    return null;
            }

}

[spoiler]ModelAltair(Модель нагрудника)
package assets.woa.src;
import java.util.ArrayList;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

public class ModelAltair extends ModelBiped{
  //fields
    ModelRenderer Shape1;
    ModelRenderer Shape2;
    ModelRenderer Shape3;
    ModelRenderer Shape4;
    ModelRenderer Shape5;
    ModelRenderer Shape6;
    ModelRenderer Shape7;
    ModelRenderer Shape8;
    ModelRenderer Shape9;
    ModelRenderer Shape10;
    ModelRenderer Shape11;
    ModelRenderer Shape12;
    ModelRenderer Shape13;
    ModelRenderer Shape14;
    ModelRenderer Shape15;
    ModelRenderer Shape16;
    ModelRenderer Shape17;
    ModelRenderer Shape19;
    ModelRenderer Shape20;
    ModelRenderer Shape22;
    ModelRenderer Shape23;
    ModelRenderer Shape25;
    ModelRenderer Shape26;
    
   private ArrayList<ModelRenderer> modelList = new ArrayList<ModelRenderer>();
    {
          modelList.add(Shape1);
           modelList.add(Shape2);
           modelList.add(Shape3);
           modelList.add(Shape4);
           modelList.add(Shape5);
           modelList.add(Shape6);
           modelList.add(Shape7);
           modelList.add(Shape8);
           modelList.add(Shape9);
           modelList.add(Shape10);
           modelList.add(Shape11);
           modelList.add(Shape12);
           modelList.add(Shape13);
           modelList.add(Shape14);
           modelList.add(Shape15);
           modelList.add(Shape16);
           modelList.add(Shape17);
           modelList.add(Shape23);
           modelList.add(Shape19);
           modelList.add(Shape20);
           modelList.add(Shape25);
           modelList.add(Shape26);
           modelList.add(Shape22);
    }
    
  public ModelAltair()
  {
    textureWidth = 128;
    textureHeight = 64;
    
      Shape1 = new ModelRenderer(this, 80, 0);
      Shape1.addBox(-5F, -9F, -4F, 10, 1, 9);
      Shape1.setRotationPoint(0F, 0F, 0F);
      Shape1.setTextureSize(128, 64);
      Shape1.mirror = true;
      setRotation(Shape1, 0F, 0F, 0F);
      Shape2 = new ModelRenderer(this, 97, 12);
      Shape2.addBox(-5F, -9F, 4F, 10, 9, 1);
      Shape2.setRotationPoint(0F, 0F, 0F);
      Shape2.setTextureSize(128, 64);
      Shape2.mirror = true;
      setRotation(Shape2, 0F, 0F, 0F);
      Shape3 = new ModelRenderer(this, 98, 24);
      Shape3.addBox(0F, 0F, 0F, 1, 9, 9);
      Shape3.setRotationPoint(-5F, -9F, -4F);
      Shape3.setTextureSize(128, 64);
      Shape3.mirror = true;
      setRotation(Shape3, 0F, 0F, 0F);
      Shape4 = new ModelRenderer(this, 98, 24);
      Shape4.addBox(4F, -6F, -4F, 1, 9, 8);
      Shape4.setRotationPoint(0F, -3F, 0F);
      Shape4.setTextureSize(128, 64);
      Shape4.mirror = true;
      setRotation(Shape4, 0F, 0F, 0F);
      Shape5 = new ModelRenderer(this, 77, 57);
      Shape5.addBox(-9F, -1F, -3F, 18, 1, 5);
      Shape5.setRotationPoint(0F, 0F, 0F);
      Shape5.setTextureSize(128, 64);
      Shape5.mirror = true;
      setRotation(Shape5, 0F, 0F, 0F);
      Shape6 = new ModelRenderer(this, 57, 0);
      Shape6.addBox(-5F, -1F, 2F, 9, 16, 1);
      Shape6.setRotationPoint(0F, 0F, 0F);
      Shape6.setTextureSize(128, 64);
      Shape6.mirror = true;
      setRotation(Shape6, 0F, 0F, 0F);
      Shape7 = new ModelRenderer(this, 39, 30);
      Shape7.addBox(-4F, -9F, -5F, 8, 2, 1);
      Shape7.setRotationPoint(0F, 0F, 0F);
      Shape7.setTextureSize(128, 64);
      Shape7.mirror = true;
      setRotation(Shape7, 0F, 0F, 0F);
      Shape8 = new ModelRenderer(this, 45, 0);
      Shape8.addBox(-5F, -9F, -5F, 2, 9, 1);
      Shape8.setRotationPoint(0F, 0F, 0F);
      Shape8.setTextureSize(128, 64);
      Shape8.mirror = true;
      setRotation(Shape8, 0F, 0F, 0F);
      Shape9 = new ModelRenderer(this, 45, 0);
      Shape9.addBox(3F, -9F, -5F, 2, 9, 1);
      Shape9.setRotationPoint(0F, 0F, 0F);
      Shape9.setTextureSize(128, 64);
      Shape9.mirror = true;
      setRotation(Shape9, 0F, 0F, 0F);
      Shape10 = new ModelRenderer(this, 72, 21);
      Shape10.addBox(-5F, -1F, -3F, 9, 15, 1);
      Shape10.setRotationPoint(0F, 0F, 0F);
      Shape10.setTextureSize(128, 64);
      Shape10.mirror = true;
      setRotation(Shape10, 0F, 0F, 0F);
      Shape11 = new ModelRenderer(this, 89, 44);
      Shape11.addBox(-5F, 7F, -3.5F, 9, 1, 7);
      Shape11.setRotationPoint(0F, 0F, 0F);
      Shape11.setTextureSize(128, 64);
      Shape11.mirror = true;
      setRotation(Shape11, 0F, 0F, 0F);
      Shape12 = new ModelRenderer(this, 28, 10);
      Shape12.addBox(-2F, 6F, -3.5F, 3, 1, 1);
      Shape12.setRotationPoint(0F, 0F, 0F);
      Shape12.setTextureSize(128, 64);
      Shape12.mirror = true;
      setRotation(Shape12, 0F, 0F, 0F);
      Shape13 = new ModelRenderer(this, 28, 10);
      Shape13.addBox(-2F, 10F, -3.5F, 3, 1, 1);
      Shape13.setRotationPoint(0F, -2F, 0F);
      Shape13.setTextureSize(128, 64);
      Shape13.mirror = true;
      setRotation(Shape13, 0F, 0F, 0F);
      Shape14 = new ModelRenderer(this, 21, 35);
      Shape14.addBox(-5F, 2F, -3.5F, 11, 1, 7);
      Shape14.setRotationPoint(0F, 0F, 0F);
      Shape14.setTextureSize(128, 64);
      Shape14.mirror = true;
      setRotation(Shape14, 0F, 0F, 0.4089647F);
      Shape15 = new ModelRenderer(this, 22, 0);
      Shape15.addBox(-1.5F, 5F, -4F, 2, 1, 7);
      Shape15.setRotationPoint(0F, 0F, 0F);
      Shape15.setTextureSize(128, 64);
      Shape15.mirror = true;
      setRotation(Shape15, 0F, 0F, 1.524323F);
      Shape16 = new ModelRenderer(this, 60, 23);
      Shape16.addBox(-4F, 12F, 2F, 4, 12, 1);
      Shape16.setRotationPoint(0F, 0F, 0F);
      Shape16.setTextureSize(128, 64);
      Shape16.mirror = true;
      setRotation(Shape16, 0F, 0F, 0.0549779F);
      Shape17 = new ModelRenderer(this, 60, 23);
      Shape17.addBox(-1F, 12F, 2F, 4, 12, 1);
      Shape17.setRotationPoint(0F, 0F, 0F);
      Shape17.setTextureSize(128, 64);
      Shape17.mirror = true;
      setRotation(Shape17, 0F, 0F, -0.0549779F);
      Shape19 = new ModelRenderer(this, 4, 19);
      Shape19.addBox(0F, 13F, -3F, 4, 6, 1);
      Shape19.setRotationPoint(0F, 0F, 0F);
      Shape19.setTextureSize(128, 64);
      Shape19.mirror = true;
      setRotation(Shape19, 0F, 0F, 0F);
      Shape20 = new ModelRenderer(this, 4, 19);
      Shape20.addBox(-5F, 13F, -3F, 4, 6, 1);
      Shape20.setRotationPoint(0F, 0F, 0F);
      Shape20.setTextureSize(128, 64);
      Shape20.mirror = true;
      setRotation(Shape20, 0F, 0F, 0F);
      Shape22 = new ModelRenderer(this, 0, 0);
      Shape22.addBox(4.5F, 4.6F, -2.5F, 4, 5, 5);
      Shape22.setRotationPoint(0F, 0F, 0F);
      Shape22.setTextureSize(128, 64);
      Shape22.mirror = true;
      setRotation(Shape22, 0F, 0F, 0F);
      Shape23 = new ModelRenderer(this, 0, 0);
      Shape23.addBox(-8.5F, 4.6F, -2.5F, 4, 5, 5);
      Shape23.setRotationPoint(0F, 0F, 0F);
      Shape23.setTextureSize(128, 64);
      Shape23.mirror = true;
      setRotation(Shape23, 0F, 0F, 0F);
      Shape25 = new ModelRenderer(this, 0, 58);
      Shape25.addBox(-2F, 5F, -3.3F, 3, 5, 1);
      Shape25.setRotationPoint(0F, 0F, 0F);
      Shape25.setTextureSize(128, 64);
      Shape25.mirror = true;
      setRotation(Shape25, 0F, 0F, 0F);
      Shape26 = new ModelRenderer(this, 0, 60);
      Shape26.addBox(-5F, 6F, -3.3F, 9, 3, 1);
      Shape26.setRotationPoint(0F, 0F, 0F);
      Shape26.setTextureSize(128, 64);
      Shape26.mirror = true;
      setRotation(Shape26, 0F, 0F, 0F);
  }
  
  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);
    Shape1.render(f5);
    Shape2.render(f5);
    Shape3.render(f5);
    Shape4.render(f5);
    Shape5.render(f5);
    Shape6.render(f5);
    Shape7.render(f5);
    Shape8.render(f5);
    Shape9.render(f5);
    Shape10.render(f5);
    Shape11.render(f5);
    Shape12.render(f5);
    Shape13.render(f5);
    Shape14.render(f5);
    Shape15.render(f5);
    Shape16.render(f5);
    Shape17.render(f5);
    Shape19.render(f5);
    Shape20.render(f5);
    Shape22.render(f5);
    Shape23.render(f5);
    Shape25.render(f5);
    Shape26.render(f5);
  }
  
  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);
  }

}
[spoiler]CommonProxy
package assets.woa.src;

import net.minecraft.client.model.ModelBiped;

public class CommonProxy {

    public void init() {

    }

    public static ModelBiped getArmorModel() {
        return null;
}
}
[spoiler]ClientProxy
package assets.woa.src;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import net.minecraft.client.model.ModelBiped;

public class ClientProxy extends CommonProxy {
    public static ModelBiped modelAltair;
    @Override
    public void init() {
        super.init();
        modelAltair = new ModelAltair();
        modelAltair.bipedHead.showModel = false;
        modelAltair.bipedHeadwear.showModel = false;
        modelAltair.bipedBody.showModel = false;
        modelAltair.bipedLeftArm.showModel = false;
        modelAltair.bipedRightArm.showModel = false;
        modelAltair.bipedLeftLeg.showModel = false;
        modelAltair.bipedRightLeg.showModel = false;
        modelAltair.bipedCloak.showModel = false;

    }
    public static ModelBiped getArmorModel() {
        return null;
    }

    
    }
[merge_posts_bbcode]Добавлено: 15.11.2014 21:49:58[/merge_posts_bbcode]

Жду ответа
 
1,683
1
Для нагрудника при приседании надо повернуть всё по углу Х на 0.5
 
643
6
14
BlackCrafter написал(а):
если модель была создана не на уровне головы, как ее отодвинуть?
GL11.glPushMatrix();
GL11.glTranslatef(1,1,1,1);
GL11.glPopMatrix();
Пишу с телефона, точно не помню
 
643
6
14
BlackCrafter написал(а):
Запостите экспорт шлема, пож
Слушай, я не недолюбливаю тебя, но ты не офигел?Пытайся решить сам, если тема ЭКСТРЕННАЯ, пиши на форум, нет ну реально ,ты какое уже время не можешь сделать что то там.
 
Код:
 if (itemStack != null && itemStack.getItem() instanceof ItemCrown) {
                ModelBiped model = ClientProxy.getArmorModel(); //Я сохранил инстанс модельки в клиентском прокси
                return model;
            }
            else
                return null;
Eclipse ругается, нет метода getArmorModel() в ClientProxy, оно и понятно. Что должно быть в этом методе и что значит "Я сохранил инстанс модельки в клиентском прокси"?
Код:
modelCrown = new ModelСrown();
это оно и есть? почему тогда вызывается getArmorModel()?
И что должно быть в классе CommonProxy?
 
503
3
Develance написал(а):
BlackCrafter написал(а):
Запостите экспорт шлема, пож
Слушай, я не недолюбливаю тебя, но ты не офигел?Пытайся решить сам, если тема ЭКСТРЕННАЯ, пиши на форум, нет ну реально ,ты какое уже время не можешь сделать что то там.
Я даже писал,что и как повернуть надо
 
Если поставлю эти два метода после конструктора модель исчезает...
Код:
private void setRotationAngleX(float angle) {
    for (ModelRenderer modelRenderer : modelList) {
        modelRenderer.rotateAngleX = angle;
    }
}

private void setRotationAngleY(float angle) {
    for (ModelRenderer modelRenderer : modelList) {
        modelRenderer.rotateAngleY = angle;
    }
}
 
Сверху