Проблема в рендере моба и ещё... [1.6.4]

Здравствуйте,дорогие форумчане! Пожалуйста,помогите мне! Я создал моба, отрендерил его, добавил модель и т.п. Но вот проблема: моб как был, так и остался без модели...
Все коды, которые связанны с мобом:
"Сам моб"
Код:
package assets.powerblocks.src;

import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.monster.EntityIronGolem;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;

public class EntityRobotWarrior extends EntityMob //Еще тут может быть EntityAnimal для пассивного моба, еще есть IAnimal и EntityCreature, но о них позже.
{
    public EntityRobotWarrior(World par1World)
    {
        super(par1World);
        this.setSize(0.9F, 1.3F); //Размерчики
        this.setEquipmentDropChance(1, 1.0F); //Шанс дропа экипировки
        this.setCanPickUpLoot(true); //Может подбирать лут
           //AI.... Тут тупо поможет перевод названий классов.
        this.tasks.addTask(1, new EntityAISwimming(this)); //Плавает
        this.tasks.addTask(5, new EntityAIWander(this, 0.8D));
        this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); //Смотрит на вас
        this.tasks.addTask(6, new EntityAILookIdle(this)); //Просто смотрит
        this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); //Подходит
        this.tasks.addTask(7, new EntityAIAttackOnCollide(this, EntityPlayer.class, 0, true));
        this.tasks.addTask(8, new EntityAIAttackOnCollide(this, EntityVillager.class, 0, false));
        this.tasks.addTask(9, new EntityAIAttackOnCollide(this, EntityIronGolem.class, 0, false));
    }

    @Override
    protected void applyEntityAttributes()
    {
        super.applyEntityAttributes();
        this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(60.0D); //Макс хп у моба.
        this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.4D);//Скорость передвижения
    }

    @Override
    protected String getLivingSound()
    {
        return "powerblocks:robot1living";//Это обычные звуки
    }

    @Override
    protected String getHurtSound()
    {
        return "powerblocks:robot1hurt";//Это звуки урона, их туда же.
    }

    @Override
    protected String getDeathSound()
    {
        return "powerblocks:robot1death";//Типо звуки смерти.
    }

    @Override
    protected float getSoundVolume() //Громкость звуков
    {
        return 0.5F;
    }
}
"Код Client Proxy"
Код:
package assets.powerblocks.src;

import net.minecraftforge.common.MinecraftForge;
import assets.powerblocks.src.EntityRobotWarrior;
import cpw.mods.fml.client.registry.RenderingRegistry;

public class ClientProxy extends CommonProxy{

    public void preLoad() {
        
    }
    public void load(){
        MinecraftForge.EVENT_BUS.register(new RobotWarriorSoundEvent());
        RenderingRegistry.registerEntityRenderingHandler(EntityRobotWarrior.class, new RenderRobotWarrior(new ModelRobotWarrior(),2.0F));
    }
    public void postLoad(){
        
    }
}
"Код Common Proxy"
Код:
package assets.powerblocks.src;

public class CommonProxy {
    
     public CommonProxy()
        {
        }

        public void registerRenderThings()
        {
        }

        public void registerSoundThings()
        {
        }

        public int setArmorPrefix(String string)
        {
            return 0;
        }


}
"Код рендера моба"
Код:
package assets.powerblocks.src;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class RenderRobotWarrior extends RenderLiving
{
    private static final ResourceLocation Robot1 = new ResourceLocation("powerblocks:textures/entity/robot1"); 

    public RenderRobotWarrior(ModelBase par1ModelBase, float par2)
    {
        super(par1ModelBase, par2);
    }

    @Override
    protected ResourceLocation getEntityTexture(Entity par1Entity)
    {
        return Robot1;
    }
}
Ну и "код модели"
Код:
package assets.powerblocks.src;

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

public class ModelRobotWarrior extends ModelBase
{
  //fields
    ModelRenderer head;
    ModelRenderer body;
    ModelRenderer rightarm;
    ModelRenderer leftarm;
    ModelRenderer rightleg;
    ModelRenderer leftleg;
  
  public ModelRobotWarrior()
  {
    textureWidth = 64;
    textureHeight = 64;
    
      this.head = new ModelRenderer(this, 0, 0);
      this.head.addBox(-4F, -8F, -4F, 6, 8, 6);
      this.head.setRotationPoint(1F, -17F, 1F);
      this.head.setTextureSize(64, 64);
      this.head.mirror = true;
      this.setRotation(head, 0F, 0F, 0F);
      this.body = new ModelRenderer(this, 16, 16);
      this.body.addBox(-4F, 0F, -2F, 8, 12, 4);
      this.body.setRotationPoint(0F, -17F, 0F);
      this.body.setTextureSize(64, 64);
      this.body.mirror = true;
      this.setRotation(body, 0F, 0F, 0F);
      this.rightarm.mirror = true;
      this.rightarm = new ModelRenderer(this, 40, 16);
      this.rightarm.addBox(-3F, -2F, -2F, 4, 27, 4);
      this.rightarm.setRotationPoint(-5F, -14F, 0F);
      this.rightarm.setTextureSize(64, 64);
      this.rightarm.mirror = true;
      this.setRotation(rightarm, 0F, 0F, 0F);
      this.rightarm.mirror = false;
      this.leftarm = new ModelRenderer(this, 40, 16);
      this.leftarm.addBox(-1F, -2F, -2F, 4, 27, 4);
      this.leftarm.setRotationPoint(5F, -14F, 0F);
      this.leftarm.setTextureSize(64, 64);
      this.leftarm.mirror = true;
      this.setRotation(leftarm, 0F, 0F, 0F);
      this.rightleg = new ModelRenderer(this, 0, 16);
      this.rightleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      this.rightleg.setRotationPoint(-1.7F, -5F, 0F);
      this.rightleg.setTextureSize(64, 64);
      this.rightleg.mirror = true;
      this.setRotation(rightleg, 0F, 0F, 0F);
      this.leftleg = new ModelRenderer(this, 0, 16);
      this.leftleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      this.leftleg.setRotationPoint(2.6F, -5F, 0F);
      this.leftleg.setTextureSize(64, 64);
      this.leftleg.mirror = true;
      this.setRotation(leftleg, 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);
    head.render(f5);
    body.render(f5);
    rightarm.render(f5);
    leftarm.render(f5);
    rightleg.render(f5);
    leftleg.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)
  {
    super.setRotationAngles(f, f1, f2, f3, f4, f5);
  }

}
Кстати, я догадываюсь, почему ничего не получается. В коде 

super.setRotationAngles(f, f1, f2, f3, f4, f5);
У меня ошибка,однако, я не знаю, как ещё исправить.
Удаляю- без результатов.
Приписываю после f5 ", entity" - тоже. Короче я не понимаю, в чём прикол,поэтому прошу о помощи.
Модель создавалась в программе Techne.

И ещё- как сделать анимацию при ходьбе и аттаке моба? Допустим,когда Голем атакует, у него поднимаются руки.
Что-то Типа того


Извините за такую большую тему.
Спасибо
 
2,955
12
1. В конце пути должно быть .png (new ResourceLocation(modid, "чтото/robot1.png"))
Это все что я могу сказать. Я  с телефона, многим не могу помочь.
 
Я кажется понял, в чём дело: Techne не правильно модели составляет. Раньше, когда я вообще не знал java, я пользовался программой для создания модов. (Сейчас уже нет!!!!!:whistling: ) Так вот, я решил проверить, правильно-ли вообще составлена модель! С помощью программы, которая была названа выше(то бишь для создания модов) я понял, что сама модель сделана неправильно. Вот, кстати, и она сама:
Код:
public class ModelRobotWarriorModel extends ModelBase
{
  //fields
    ModelRenderer head;
    ModelRenderer body;
    ModelRenderer rightarm;
    ModelRenderer leftarm;
    ModelRenderer rightleg;
    ModelRenderer leftleg;
  
  public ModelRobotWarriorModel()
  {
    textureWidth = 64;
    textureHeight = 64;
    
      head = new ModelRenderer(this, 0, 0);
      head.addBox(-4F, -8F, -4F, 6, 8, 6);
      head.setRotationPoint(1F, -17F, 1F);
      head.setTextureSize(64, 64);
      head.mirror = true;
      setRotation(head, 0F, 0F, 0F);
      body = new ModelRenderer(this, 16, 16);
      body.addBox(-4F, 0F, -2F, 8, 12, 4);
      body.setRotationPoint(0F, -17F, 0F);
      body.setTextureSize(64, 64);
      body.mirror = true;
      setRotation(body, 0F, 0F, 0F);
      rightarm.mirror = true;
      rightarm = new ModelRenderer(this, 40, 16);
      rightarm.addBox(-3F, -2F, -2F, 4, 27, 4);
      rightarm.setRotationPoint(-5F, -14F, 0F);
      rightarm.setTextureSize(64, 64);
      rightarm.mirror = true;
      setRotation(rightarm, 0F, 0F, 0F);
      rightarm.mirror = false;
      leftarm = new ModelRenderer(this, 40, 16);
      leftarm.addBox(-1F, -2F, -2F, 4, 27, 4);
      leftarm.setRotationPoint(5F, -14F, 0F);
      leftarm.setTextureSize(64, 64);
      leftarm.mirror = true;
      setRotation(leftarm, 0F, 0F, 0F);
      rightleg = new ModelRenderer(this, 0, 16);
      rightleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      rightleg.setRotationPoint(-1.7F, -5F, 0F);
      rightleg.setTextureSize(64, 64);
      rightleg.mirror = true;
      setRotation(rightleg, 0F, 0F, 0F);
      leftleg = new ModelRenderer(this, 0, 16);
      leftleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      leftleg.setRotationPoint(2.6F, -5F, 0F);
      leftleg.setTextureSize(64, 64);
      leftleg.mirror = true;
      setRotation(leftleg, 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);
    head.render(f5);
    body.render(f5);
    rightarm.render(f5);
    leftarm.render(f5);
    rightleg.render(f5);
    leftleg.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)
  {
    super.setRotationAngles(f, f1, f2, f3, f4, f5);
  }

}

Вы не знаете, каких строчек тут не хватает? Если да, то напишите, пожалуйста,ок?
 
Dragon2488 написал(а):
я вообще не люблю теч. Я все делаю в .obj в том же блендере.
То есть вы не знаете, в чём проблема? (В конец .png я приписал, но безрезультатно)
[merge_posts_bbcode]Добавлено: 24.06.2014 13:51:26[/merge_posts_bbcode]

Может, вы скинете код вашей модели. Я её отредактирую под свою.
 
329
13
Жаль, что текстуру не выложил.
image.png

У Techne есть несколько проблем, которые приходится исправлять в готовом Java-коде. В твоем случае это:
  1. public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
  2. super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
  3. rightarm.mirror = true; - при попытке отзеркалить в Java-коде это строка появляется аж трижды, причем первый раз ДО объявления, что rightarm = new ModelRenderer(this, 40, 16);

Если не получится исправить, контакты в подписи. И да: с 1.6.4 я не знаком.
 
TaoGunner написал(а):
Жаль, что текстуру не выложил.
image.png

У Techne есть несколько проблем, которые приходится исправлять в готовом Java-коде. В твоем случае это:
  1. public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
  2. super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
  3. rightarm.mirror = true; - при попытке отзеркалить в Java-коде это строка появляется аж трижды, причем первый раз ДО объявления, что rightarm = new ModelRenderer(this, 40, 16);

Если не получится исправить, контакты в подписи. И да: с 1.6.4 я не знаком.
Тоесть мне надо удалить обе эти строчки?
Текстура вот:
[merge_posts_bbcode]Добавлено: 26.06.2014 20:51:38[/merge_posts_bbcode]

Код подправил, но всё равно нет модели.
Вот код:
package assets.powerblocks.src;

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

public class ModelRobotWarrior extends ModelBase
{
  //fields
    ModelRenderer head;
    ModelRenderer body;
    ModelRenderer rightarm;
    ModelRenderer leftarm;
    ModelRenderer rightleg;
    ModelRenderer leftleg;
 
  public ModelRobotWarrior()
  {
    textureWidth = 64;
    textureHeight = 32;
   
      head = new ModelRenderer(this, 0, 0);
      head.addBox(-4F, -8F, -4F, 6, 8, 6);
      head.setRotationPoint(1F, -17F, 1F);
      head.setTextureSize(64, 32);
      body = new ModelRenderer(this, 16, 16);
      body.addBox(-4F, 0F, -2F, 8, 12, 4);
      body.setRotationPoint(0F, -17F, 0F);
      body.setTextureSize(64, 32);
      rightarm = new ModelRenderer(this, 40, 16);
      rightarm.addBox(-3F, -2F, -2F, 4, 27, 4);
      rightarm.setRotationPoint(-5F, -14F, 0F);
      rightarm.setTextureSize(64, 32);
      leftarm = new ModelRenderer(this, 40, 16);
      leftarm.addBox(-1F, -2F, -2F, 4, 27, 4);
      leftarm.setRotationPoint(5F, -14F, 0F);
      leftarm.setTextureSize(64, 32);
      rightleg = new ModelRenderer(this, 0, 16);
      rightleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      rightleg.setRotationPoint(-1.7F, -5F, 0F);
      rightleg.setTextureSize(64, 32);
      leftleg = new ModelRenderer(this, 0, 16);
      leftleg.addBox(-2F, 0F, -2F, 3, 29, 4);
      leftleg.setRotationPoint(2.6F, -5F, 0F);
      leftleg.setTextureSize(64, 32);
  }
 
  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);
    head.render(f5);
    body.render(f5);
    rightarm.render(f5);
    leftarm.render(f5);
    rightleg.render(f5);
    leftleg.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);
  }


 


}
 
Сверху