[HELP] Créer mob montable

  • Auteur de la discussion Auteur de la discussion DadiiX
  • Date de début Date de début

DadiiX

Aventurier
19 Août 2014
2
0
1
30
Bonjour,
Je ne connais pas grand chose en java et j'essaye de créer un petit mod avec MCreator.
Le problème c'est que je n'arrive pas à rendre le mob montable, j'utilise EntityPlayer.mountEntity(this); mais le EntityPlayer est un fichié non-static alors j'ai un message d'erreur et je suis bloqué la dessus depuis un moment.


Message d'erreur : >C:\Pylo\MCreator149\forge\build\sources\java\mcreator_dragodinde.java:226: non-static method mountEntity(net.minecraft.entity.Entity) cannot be referenced from a static context
> EntityPlayer.mountEntity(this);


Quelqu'un aurait-il une solution ?

Code:
package net.minecraft.src;
 
import net.minecraft.entity.player.EntityPlayer;
import cpw.mods.fml.client.*;
import cpw.mods.fml.client.registry.*;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.asm.*;
import cpw.mods.fml.common.asm.transformers.*;
import cpw.mods.fml.common.discovery.*;
import cpw.mods.fml.common.discovery.asm.*;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.functions.*;
import cpw.mods.fml.common.network.*;
import cpw.mods.fml.common.registry.*;
import cpw.mods.fml.common.toposort.*;
import cpw.mods.fml.common.versioning.*;
import cpw.mods.fml.relauncher.*;
import cpw.mods.fml.server.*;
import net.minecraft.block.*;
import net.minecraft.block.material.*;
import net.minecraft.client.*;
import net.minecraft.client.audio.*;
import net.minecraft.client.entity.*;
import net.minecraft.client.gui.*;
import net.minecraft.client.gui.achievement.*;
import net.minecraft.client.gui.inventory.*;
import net.minecraft.client.model.*;
import net.minecraft.client.multiplayer.*;
import net.minecraft.client.particle.*;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.culling.*;
import net.minecraft.client.renderer.entity.*;
import net.minecraft.client.renderer.tileentity.*;
import net.minecraft.client.settings.*;
import net.minecraft.command.*;
import net.minecraft.crash.*;
import net.minecraft.creativetab.*;
import net.minecraft.dispenser.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.entity.Entity.*;
import net.minecraft.entity.player.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.boss.*;
import net.minecraft.entity.effect.*;
import net.minecraft.entity.item.*;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.*;
import net.minecraft.entity.projectile.*;
import net.minecraft.inventory.*;
import net.minecraft.item.*;
import net.minecraft.item.crafting.*;
import net.minecraft.nbt.*;
import net.minecraft.network.*;
import net.minecraft.network.rcon.*;
import net.minecraft.pathfinding.*;
import net.minecraft.potion.*;
import net.minecraft.profiler.*;
import net.minecraft.server.*;
import net.minecraft.server.dedicated.*;
import net.minecraft.server.gui.*;
import net.minecraft.server.integrated.*;
import net.minecraft.server.management.*;
import net.minecraft.src.*;
import net.minecraft.stats.*;
import net.minecraft.tileentity.*;
import net.minecraft.util.*;
import net.minecraft.village.*;
import net.minecraft.world.*;
import net.minecraft.world.biome.*;
import net.minecraft.world.chunk.*;
import net.minecraft.world.chunk.storage.*;
import net.minecraft.world.demo.*;
import net.minecraft.world.gen.*;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.layer.*;
import net.minecraft.world.gen.structure.*;
import net.minecraft.world.storage.*;
import net.minecraftforge.classloading.*;
import net.minecraftforge.client.*;
import net.minecraftforge.client.event.*;
import net.minecraftforge.client.event.sound.*;
import net.minecraftforge.common.*;
import net.minecraftforge.event.*;
import net.minecraftforge.event.entity.*;
import net.minecraftforge.event.entity.item.*;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.minecart.*;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.terraingen.*;
import net.minecraftforge.event.world.*;
import net.minecraftforge.oredict.*;
import net.minecraftforge.transformers.*;
import net.minecraft.init.*;
import java.util.Random;
 
 
@SuppressWarnings("unchecked")
 
 
 
 
public class mcreator_dragodinde {
   
 
    public static int mobid = 0;
    public Object instance;
 
    public void load(){}
 
    public void generateNether(World world, Random random, int chunkX, int chunkZ){}
    public void generateSurface(World world, Random random, int chunkX, int chunkZ){}
    public int addFuel(ItemStack fuel){
        return 0;
    }
    public void registerRenderers(){
        RenderingRegistry.registerEntityRenderingHandler(mcreator_dragodinde.Entitydragodinde.class, new RenderLiving(new mcreator_dragodinde.Modelbouftou(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("bouftou2.png");}});
    }
    public void serverLoad(FMLServerStartingEvent event){}
    public void preInit(FMLPreInitializationEvent event){
        int entityID = EntityRegistry.findGlobalUniqueEntityId();
        mobid = entityID;
        EntityRegistry.registerGlobalEntityID(mcreator_dragodinde.Entitydragodinde.class, "dragodinde", entityID);
        EntityRegistry.registerModEntity(mcreator_dragodinde.Entitydragodinde.class, "dragodinde", entityID, instance, 64, 1, true);
        EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, (255 << 16) + (255 << 8) + 255, (255 << 16) + (255 << 8) + 255));
 
       
    }
 
  public static class Entitydragodinde extends EntityHorse
    {
        World world = null;
        public Entitydragodinde(World var1)
        {
            super(var1);
            world = var1;
            experienceValue = 5;
            this.isImmuneToFire = false;
            addRandomArmor();
           
        }
 
       
 
       
 
       
protected void addRandomArmor(){
 
}
 
 
 
        public boolean isAIEnabled()
        {
              return false;
        }
 
        /**
        * Drop 0-2 items of this living's type
        */
        protected void dropFewItems(boolean var1, int var2)
        {
            this.entityDropItem(new ItemStack(Items.milk_bucket), 0.0F);
        }
 
        /**
        * Returns the sound this mob makes while it's alive.
        */
        protected String getLivingSound()
        {
            return "";
        }
 
        /**
        * Returns the sound this mob makes when it is hurt.
        */
        protected String getHurtSound()
        {
            return "";
        }
 
        /**
        * Returns the sound this mob makes on death.
        */
        protected String getDeathSound()
        {
            return "";
        }
 
        public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
            int i = (int)this.posX;
            int j = (int)this.posY;
            int k = (int)this.posZ;
           
        }
 
        protected void fall(float l){
            int i = (int)this.posX;
            int j = (int)this.posY;
            int k = (int)this.posZ;
            super.fall(l);
           
        }
 
        public void onCriticalHit(Entity entity) {
            int i = (int)this.posX;
            int j = (int)this.posY;
            int k = (int)this.posZ;
           
        }
 
        public void onKillEntity(EntityLiving entityLiving){
            int i = (int)this.posX;
            int j = (int)this.posY;
            int k = (int)this.posZ;
           
        }
@Override
public boolean interact(EntityPlayer entity)
{
  if (FMLCommonHandler.instance().getSide().isServer())
  {
        if (this.riddenByEntity == null)
        {
            EntityPlayer.mountEntity(this);
          return true;
      }
      else
      {
          return false;
      }
  }
  return true;
}
 
 
  public void moveEntity(double d, double d1, double d2)
  {
    if (riddenByEntity != null)
    {
      this.prevRotationYaw = this.rotationYaw = this.riddenByEntity.rotationYaw;
      this.rotationPitch = this.riddenByEntity.rotationPitch * 0.5F;
      this.setRotation(this.rotationYaw, this.rotationPitch);
      this.rotationYawHead = this.renderYawOffset = this.rotationYaw;
     
      motionX += riddenByEntity.motionX * 10; // * 0.20000000000000001D;
      motionZ += riddenByEntity.motionZ * 10; // * 0.20000000000000001D;
      if (isCollidedHorizontally)
      {
        isJumping = true;
      }
      else
      {
        isJumping = false;
      }
      super.moveEntity(motionX, motionY, motionZ);
    }
    else
    {
      super.moveEntity(d, d1, d2);
    }
  }
  public void onUpdate()
  {
    super.onUpdate();
    if (riddenByEntity != null) //check if there is a rider
    {
      //currentTarget = this;
      this.randomYawVelocity = 0; //try not to let the horse control where to look.
      this.rotationYaw = riddenByEntity.rotationYaw;
    }
  }
 
        public String getEntityName(){
            return "dragodinde";
        }
 
    }
 
// Date: 17/08/2014 12:32:17
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX
 
 
 
 
 
 
 
 
    public static class Modelbouftou extends ModelBase
    {
    //fields
    ModelRenderer corneGB;
    ModelRenderer corneDB;
    ModelRenderer corneDH;
    ModelRenderer corneGH;
    ModelRenderer head;
    ModelRenderer body;
    ModelRenderer leg1;
    ModelRenderer leg2;
    ModelRenderer leg3;
    ModelRenderer leg4;
   
        public Modelbouftou()
        {
        textureWidth = 64;
        textureHeight = 32;
       
        corneGB = new ModelRenderer(this, 0, 27);
        corneGB.addBox(0F, 0F, 0F, 4, 2, 2);
        corneGB.setRotationPoint(3F, 10F, -11F);
        corneGB.setTextureSize(64, 32);
        corneGB.mirror = true;
        setRotation(corneGB, 0F, 0F, 0F);
        corneDB = new ModelRenderer(this, 0, 27);
        corneDB.addBox(0F, 0F, 0F, 4, 2, 2);
        corneDB.setRotationPoint(-7F, 10F, -11F);
        corneDB.setTextureSize(64, 32);
        corneDB.mirror = true;
        setRotation(corneDB, 0F, 0F, 0F);
        corneDH = new ModelRenderer(this, 15, 27);
        corneDH.addBox(0F, 0F, 0F, 1, 3, 2);
        corneDH.setRotationPoint(-6.5F, 9F, -12.5F);
        corneDH.setTextureSize(64, 32);
        corneDH.mirror = true;
        setRotation(corneDH, 0.5205006F, 0F, 0F);
        corneGH = new ModelRenderer(this, 15, 27);
        corneGH.addBox(0F, 0F, 0F, 1, 3, 2);
        corneGH.setRotationPoint(5.5F, 9F, -12.5F);
        corneGH.setTextureSize(64, 32);
        corneGH.mirror = true;
        setRotation(corneGH, 0.5205006F, 0F, 0F);
        head = new ModelRenderer(this, 0, 0);
        head.addBox(-4F, -4F, -8F, 8, 7, 8);
        head.setRotationPoint(0F, 12F, -6F);
        head.setTextureSize(64, 32);
        head.mirror = true;
        setRotation(head, 0F, 0F, 0F);
        body = new ModelRenderer(this, 28, 10);
        body.addBox(-5F, -10F, -7F, 10, 14, 8);
        body.setRotationPoint(0F, 11F, 3F);
        body.setTextureSize(64, 32);
        body.mirror = true;
        setRotation(body, 1.570796F, 0F, 0F);
        leg1 = new ModelRenderer(this, 0, 16);
        leg1.addBox(-2F, 0F, -2F, 4, 6, 4);
        leg1.setRotationPoint(-3F, 18F, 5F);
        leg1.setTextureSize(64, 32);
        leg1.mirror = true;
        setRotation(leg1, 0F, 0F, 0F);
        leg2 = new ModelRenderer(this, 0, 16);
        leg2.addBox(-2F, 0F, -2F, 4, 6, 4);
        leg2.setRotationPoint(3F, 18F, 5F);
        leg2.setTextureSize(64, 32);
        leg2.mirror = true;
        setRotation(leg2, 0F, 0F, 0F);
        leg3 = new ModelRenderer(this, 0, 16);
        leg3.addBox(-2F, 18F, -2F, 4, 6, 4);
        leg3.setRotationPoint(-3F, 0F, -5F);
        leg3.setTextureSize(64, 32);
        leg3.mirror = true;
        setRotation(leg3, 0F, 0F, 0F);
        leg4 = new ModelRenderer(this, 0, 16);
        leg4.addBox(-2F, 0F, -2F, 4, 6, 4);
        leg4.setRotationPoint(3F, 18F, -5F);
        leg4.setTextureSize(64, 32);
        leg4.mirror = true;
        setRotation(leg4, 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);
       
        corneGB.render(f5);
        corneDB.render(f5);
        corneDH.render(f5);
        corneGH.render(f5);
        head.render(f5);
        body.render(f5);
        leg1.render(f5);
        leg2.render(f5);
        leg3.render(f5);
        leg4.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 e)
       
        {
        super.setRotationAngles(f, f1, f2, f3, f4, f5, e);
        }
   
    }
}