MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    "Arc" avec effet.

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    41 Messages 5 Publieurs 10.0k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • FlowF Hors-ligne
      Flow
      dernière édition par

      J’ai régler le soucis du probleme en le supprimant car je n’en ai pas besoin puisque pour moi la sarbacane ne dois pas faire de dégats donc tout mars , les flechettes sont récupérer , sont décompter sont tirer , mais pas de rendu de la flechette /: A terre elle est invisible et l’effet slowness ne se fait pas non plus /:

      J’ai également un crash report quand mon item flechette touche un mob ! :

      –-- Minecraft Crash Report ----
      // Surprise! Haha. Well, this is awkward.
      
      Time: 12/07/14 21:14
      Description: Ticking entity
      
      java.lang.NullPointerException: Ticking entity
      at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:849)
      at mod.common.EntityFlechette.onUpdate(EntityFlechette.java:328)
      at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2254)
      at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:697)
      at net.minecraft.world.World.updateEntity(World.java:2214)
      at net.minecraft.world.World.updateEntities(World.java:2064)
      at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:528)
      at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:697)
      at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:608)
      at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
      at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:746)
      
      A detailed walkthrough of the error, its code path and all known details is as follows:
      ---------------------------------------------------------------------------------------
      
      -- Head --
      Stacktrace:
      at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:849)
      at mod.common.EntityFlechette.onUpdate(EntityFlechette.java:328)
      at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2254)
      at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:697)
      at net.minecraft.world.World.updateEntity(World.java:2214)
      
      -- Entity being ticked --
      Details:
      Entity Type: null (mod.common.EntityFlechette)
      Entity ID: 164761
      Entity Name: unknown
      Entity's Exact location: -84,28, 5,13, 1185,46
      Entity's Block location: World: (-85,5,1185), Chunk: (at 11,0,1 in -6,74; contains blocks -96,0,1184 to -81,255,1199), Region: (-1,2; contains chunks -32,64 to -1,95, blocks -512,0,1024 to -1,255,1535)
      Entity's Momentum: -1,40, -0,44, 0,91
      Stacktrace:
      at net.minecraft.world.World.updateEntities(World.java:2064)
      at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:528)
      
      -- Affected level --
      Details:
      Level name: New World
      All players: 1 total; [EntityPlayerMP['Player265'/262, l='New World', x=-82,74, y=4,00, z=1184,36]]
      Chunk stats: ServerChunkCache: 625 Drop: 0
      Level seed: -8257700624682821893
      Level generator: ID 01 - flat, ver 0\. Features enabled: true
      Level generator options:
      Level spawn location: World: (-80,4,1152), Chunk: (at 0,0,0 in -5,72; contains blocks -80,0,1152 to -65,255,1167), Region: (-1,2; contains chunks -32,64 to -1,95, blocks -512,0,1024 to -1,255,1535)
      Level time: 7088 game time, 7088 day time
      Level dimension: 0
      Level storage version: 0x04ABD - Anvil
      Level weather: Rain time: 19201 (now: false), thunder time: 51165 (now: false)
      Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
      Stacktrace:
      at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:697)
      at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:608)
      at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
      at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:746)
      
      – System Details --
      Details:
      Minecraft Version: 1.7.2
      Operating System: Windows 8.1 (amd64) version 6.3
      Java Version: 1.8.0_05, Oracle Corporation
      Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
      Memory: 810769952 bytes (773 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
      JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
      AABB Pool Size: 5276 (295456 bytes; 0 MB) allocated, 4942 (276752 bytes; 0 MB) used
      IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
      FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 4 mods loaded, 4 mods active
      mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
      FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
      Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
      modminecraft{1.0} [Mod Minecraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
      Profiler Position: N/A (disabled)
      Vec3 Pool Size: 685 (38360 bytes; 0 MB) allocated, 556 (31136 bytes; 0 MB) used
      Player Count: 1 / 8; [EntityPlayerMP['Player265'/262, l='New World', x=-82,74, y=4,00, z=1184,36]]
      Type: Integrated Server (map_client.txt)
      Is Modded: Definitely; Client brand changed to 'fml,forge'
      

      Oui ce gif est drôle.

      1 réponse Dernière réponse Répondre Citer 0
      • ÜberfapÜ Hors-ligne
        Überfap
        dernière édition par

        Envoie toutes tes classes (principale + entité + rendu)

        Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
        Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

        1 réponse Dernière réponse Répondre Citer 0
        • FlowF Hors-ligne
          Flow
          dernière édition par

          Classe principale

          package mod.common;
          
          import net.minecraft.creativetab.CreativeTabs;
          import net.minecraft.init.Blocks;
          import net.minecraft.init.Items;
          import net.minecraft.item.Item;
          import net.minecraft.item.ItemStack;
          import mod.proxy.CommonProxy;
          import cpw.mods.fml.common.Mod;
          import cpw.mods.fml.common.Mod.EventHandler;
          import cpw.mods.fml.common.Mod.Instance;
          import cpw.mods.fml.common.SidedProxy;
          import cpw.mods.fml.common.event.FMLInitializationEvent;
          import cpw.mods.fml.common.event.FMLPostInitializationEvent;
          import cpw.mods.fml.common.event.FMLPreInitializationEvent;
          import cpw.mods.fml.common.registry.GameRegistry;
          
          @Mod(modid = "modminecraft", name = "Mod Minecraft", version ="1.0")
          
          public class ModMinecraft
          {
          public static Item itemFlechette;
          public static Item itemSarbacane;
          public static Item itemSeve;
          public static Item itemSevewithmosquito;
          
          @Instance("modminecraft")
          public static ModMinecraft instance;
          public static final String MODID = "modminecraft";
          
          @SidedProxy(clientSide = "mod.proxy.ClientProxy", serverSide = "mod.proxy.CommonProxy")
          public static CommonProxy proxy;
          
          @EventHandler
          public void preInit(FMLPreInitializationEvent event)
          {
          itemFlechette = new DinoItem().setUnlocalizedName("itemFlechette").setCreativeTab(CreativeTabs.tabCombat);
          itemSarbacane = new SarbacaneItem().setUnlocalizedName("itemSarbacane").setCreativeTab(CreativeTabs.tabCombat);
          itemSeve = new SeveItem().setUnlocalizedName("itemSeve").setCreativeTab(CreativeTabs.tabMaterials);
          itemSevewithmosquito = new ItemSevewithmosquito().setUnlocalizedName("itemSevewithmosquito").setCreativeTab(CreativeTabs.tabMaterials);
          
          GameRegistry.registerItem(itemFlechette, "item_Flechette");
          GameRegistry.registerItem(itemSarbacane, "item_Sarbacane");
          GameRegistry.registerItem(itemSeve, "item_Seve");
          GameRegistry.registerItem(itemSeve, "item_Sevewithmosquito");
          }
          
          @EventHandler
          public void init(FMLInitializationEvent event)
          {
          proxy.registerRender();
          
          GameRegistry.addRecipe(new ItemStack(itemFlechette, 4), new Object[]{"ZX ", "XYX", " XE", 'X', Items.stick,
          'Y', new ItemStack(Items.potionitem, 1, 16426), 'Z', Items.iron_ingot, 'E', new ItemStack(Blocks.wool, 1, 14)});
          
          GameRegistry.addRecipe(new ItemStack(itemSarbacane), new Object[]{"XZ ", "ZXZ", " ZX", 'X', Items.reeds, 'Z', Items.string});
          }
          
          @EventHandler
          public void postInit(FMLPostInitializationEvent event)
          {
          
          }
          }
          
          

          Entité

          package mod.common;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          
          import java.util.List;
          
          import net.minecraft.block.Block;
          import net.minecraft.block.material.Material;
          import net.minecraft.enchantment.EnchantmentHelper;
          import net.minecraft.entity.Entity;
          import net.minecraft.entity.EntityLivingBase;
          import net.minecraft.entity.IProjectile;
          import net.minecraft.entity.monster.EntityEnderman;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.entity.player.EntityPlayerMP;
          import net.minecraft.entity.projectile.EntityThrowable;
          import net.minecraft.init.Items;
          import net.minecraft.item.ItemStack;
          import net.minecraft.nbt.NBTTagCompound;
          import net.minecraft.network.play.server.S2BPacketChangeGameState;
          import net.minecraft.potion.Potion;
          import net.minecraft.potion.PotionEffect;
          import net.minecraft.util.AxisAlignedBB;
          import net.minecraft.util.DamageSource;
          import net.minecraft.util.MathHelper;
          import net.minecraft.util.MovingObjectPosition;
          import net.minecraft.util.Vec3;
          import net.minecraft.world.World;
          import cpw.mods.fml.common.Mod;
          import cpw.mods.fml.common.Mod.EventHandler;
          import cpw.mods.fml.common.Mod.Instance;
          import cpw.mods.fml.common.SidedProxy;
          import cpw.mods.fml.common.event.FMLInitializationEvent;
          import cpw.mods.fml.common.event.FMLPostInitializationEvent;
          import cpw.mods.fml.common.event.FMLPreInitializationEvent;
          import cpw.mods.fml.common.registry.GameRegistry;
          
          public class EntityFlechette extends Entity implements IProjectile
          {
          private int field_145791_d = -1;
          private int field_145792_e = -1;
          private int field_145789_f = -1;
          private Block field_145790_g;
          private int inData;
          private boolean inGround;
          /** 1 if the player can pick up the arrow */
          public int canBePickedUp;
          /** Seems to be some sort of timer for animating an arrow. */
          public int arrowShake;
          /** The owner of this arrow. */
          public Entity shootingEntity;
          private int ticksInGround;
          private int ticksInAir;
          private double damage = 2.0D;
          /** The amount of knockback an arrow applies when it hits a mob. */
          private int knockbackStrength;
          private static final String __OBFID = "CL_00001715";
          
          public EntityFlechette(World par1World)
          {
          super(par1World);
          this.renderDistanceWeight = 10.0D;
          this.setSize(0.5F, 0.5F);
          }
          
          public EntityFlechette(World par1World, double par2, double par4, double par6)
          {
          super(par1World);
          this.renderDistanceWeight = 10.0D;
          this.setSize(0.5F, 0.5F);
          this.setPosition(par2, par4, par6);
          this.yOffset = 0.0F;
          }
          
          public EntityFlechette (World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5)
          {
          super(par1World);
          this.renderDistanceWeight = 10.0D;
          this.shootingEntity = par2EntityLivingBase;
          
          if (par2EntityLivingBase instanceof EntityPlayer)
          {
          this.canBePickedUp = 1;
          }
          
          this.posY = par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D;
          double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX;
          double d1 = par3EntityLivingBase.boundingBox.minY + (double)(par3EntityLivingBase.height / 3.0F) - this.posY;
          double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ;
          double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2);
          
          if (d3 >= 1.0E-7D)
          {
          float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F;
          float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI));
          double d4 = d0 / d3;
          double d5 = d2 / d3;
          this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3);
          this.yOffset = 0.0F;
          float f4 = (float)d3 * 0.2F;
          this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5);
          }
          }
          
          public EntityFlechette(World par1World, EntityLivingBase par2EntityLivingBase, float par3)
          {
          super(par1World);
          this.renderDistanceWeight = 10.0D;
          this.shootingEntity = par2EntityLivingBase;
          
          if (par2EntityLivingBase instanceof EntityPlayer)
          {
          this.canBePickedUp = 1;
          }
          
          this.setSize(0.5F, 0.5F);
          this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch);
          this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
          this.posY -= 0.10000000149011612D;
          this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
          this.setPosition(this.posX, this.posY, this.posZ);
          this.yOffset = 0.0F;
          this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
          this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
          this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI));
          this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F);
          }
          
          protected void entityInit()
          {
          this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
          }
          
          /**
          * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
          */
          public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8)
          {
          float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5);
          par1 /= (double)f2;
          par3 /= (double)f2;
          par5 /= (double)f2;
          par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
          par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
          par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
          par1 *= (double)par7;
          par3 *= (double)par7;
          par5 *= (double)par7;
          this.motionX = par1;
          this.motionY = par3;
          this.motionZ = par5;
          float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
          this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
          this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI);
          this.ticksInGround = 0;
          }
          
          /**
          * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX,
          * posY, posZ, yaw, pitch
          */
          @SideOnly(Side.CLIENT)
          public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9)
          {
          this.setPosition(par1, par3, par5);
          this.setRotation(par7, par8);
          }
          
          /**
          * Sets the velocity to the args. Args: x, y, z
          */
          @SideOnly(Side.CLIENT)
          public void setVelocity(double par1, double par3, double par5)
          {
          this.motionX = par1;
          this.motionY = par3;
          this.motionZ = par5;
          
          if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
          {
          float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
          this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
          this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI);
          this.prevRotationPitch = this.rotationPitch;
          this.prevRotationYaw = this.rotationYaw;
          this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
          this.ticksInGround = 0;
          }
          }
          
          /**
          * Called to update the entity's position/logic.
          */
          public void onUpdate()
          {
          super.onUpdate();
          
          if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
          {
          float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
          this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
          this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI);
          }
          
          Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);
          
          if (block.getMaterial() != Material.air)
          {
          block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
          AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
          
          if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ)))
          {
          this.inGround = true;
          }
          }
          
          if (this.arrowShake > 0)
          {
          –this.arrowShake;
          }
          
          if (this.inGround)
          {
          int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
          
          if (block == this.field_145790_g && j == this.inData)
          {
          ++this.ticksInGround;
          
          if (this.ticksInGround == 1200)
          {
          this.setDead();
          }
          }
          else
          {
          this.inGround = false;
          this.motionX *= (double)(this.rand.nextFloat() * 0.2F);
          this.motionY *= (double)(this.rand.nextFloat() * 0.2F);
          this.motionZ *= (double)(this.rand.nextFloat() * 0.2F);
          this.ticksInGround = 0;
          this.ticksInAir = 0;
          }
          }
          else
          {
          ++this.ticksInAir;
          Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
          Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
          MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
          vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
          vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
          
          if (movingobjectposition != null)
          {
          vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
          }
          
          Entity entity = null;
          List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
          double d0 = 0.0D;
          int i;
          float f1;
          
          for (i = 0; i < list.size(); ++i)
          {
          Entity entity1 = (Entity)list.get(i);
          
          if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5))
          {
          f1 = 0.3F;
          AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1);
          MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);
          
          if (movingobjectposition1 != null)
          {
          double d1 = vec31.distanceTo(movingobjectposition1.hitVec);
          
          if (d1 < d0 || d0 == 0.0D)
          {
          entity = entity1;
          d0 = d1;
          }
          }
          }
          }
          
          if (entity != null)
          {
          movingobjectposition = new MovingObjectPosition(entity);
          }
          
          if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer)
          {
          EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit;
          
          if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer))
          {
          movingobjectposition = null;
          }
          }
          
          float f2;
          float f4;
          
          if (movingobjectposition != null)
          {
          if (movingobjectposition.entityHit != null)
          {
          f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
          int k = MathHelper.ceiling_double_int((double)f2 * this.damage);
          
          if (this.getIsCritical())
          {
          k += this.rand.nextInt(k / 2 + 2);
          }
          
          DamageSource damagesource = null;
          
          if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
          {
          movingobjectposition.entityHit.setFire(5);
          }
          
          if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k))
          {
          if (movingobjectposition.entityHit instanceof EntityLivingBase)
          {
          EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit;
          
          if (!this.worldObj.isRemote)
          {
          entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1);
          }
          
          if (this.knockbackStrength > 0)
          {
          f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
          
          if (f4 > 0.0F)
          {
          movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4);
          }
          }
          
          if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase)
          {
          EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity);
          EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase);
          }
          
          if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP)
          {
          ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F));
          }
          }
          
          this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
          
          if (!(movingobjectposition.entityHit instanceof EntityEnderman))
          {
          this.setDead();
          }
          }
          else
          {
          this.motionX *= -0.10000000149011612D;
          this.motionY *= -0.10000000149011612D;
          this.motionZ *= -0.10000000149011612D;
          this.rotationYaw += 180.0F;
          this.prevRotationYaw += 180.0F;
          this.ticksInAir = 0;
          }
          }
          else
          {
          this.field_145791_d = movingobjectposition.blockX;
          this.field_145792_e = movingobjectposition.blockY;
          this.field_145789_f = movingobjectposition.blockZ;
          this.field_145790_g = block;
          this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
          this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX));
          this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY));
          this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ));
          f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
          this.posX -= this.motionX / (double)f2 * 0.05000000074505806D;
          this.posY -= this.motionY / (double)f2 * 0.05000000074505806D;
          this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D;
          this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
          this.inGround = true;
          this.arrowShake = 7;
          this.setIsCritical(false);
          
          if (this.field_145790_g.getMaterial() != Material.air)
          {
          this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this);
          }
          }
          }
          if (this.getIsCritical())
          {
          for (i = 0; i < 4; ++i)
          {
          this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)i / 4.0D, this.posY + this.motionY * (double)i / 4.0D, this.posZ + this.motionZ * (double)i / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ);
          }
          }
          
          this.posX += this.motionX;
          this.posY += this.motionY;
          this.posZ += this.motionZ;
          f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
          this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
          
          for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
          {
          ;
          }
          
          while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
          {
          this.prevRotationPitch += 360.0F;
          }
          
          while (this.rotationYaw - this.prevRotationYaw < -180.0F)
          {
          this.prevRotationYaw -= 360.0F;
          }
          
          while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
          {
          this.prevRotationYaw += 360.0F;
          }
          
          this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
          this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
          float f3 = 0.99F;
          f1 = 0.05F;
          
          if (this.isInWater())
          {
          for (int l = 0; l < 4; ++l)
          {
          f4 = 0.25F;
          this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ);
          }
          
          f3 = 0.8F;
          }
          
          if (this.isWet())
          {
          this.extinguish();
          }
          
          this.motionX *= (double)f3;
          this.motionY *= (double)f3;
          this.motionZ *= (double)f3;
          this.motionY -= (double)f1;
          this.setPosition(this.posX, this.posY, this.posZ);
          this.func_145775_I();
          }
          }
          
          /**
          * (abstract) Protected helper method to write subclass entity data to NBT.
          */
          public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
          {
          par1NBTTagCompound.setShort("xTile", (short)this.field_145791_d);
          par1NBTTagCompound.setShort("yTile", (short)this.field_145792_e);
          par1NBTTagCompound.setShort("zTile", (short)this.field_145789_f);
          par1NBTTagCompound.setShort("life", (short)this.ticksInGround);
          par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g));
          par1NBTTagCompound.setByte("inData", (byte)this.inData);
          par1NBTTagCompound.setByte("shake", (byte)this.arrowShake);
          par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0));
          par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp);
          par1NBTTagCompound.setDouble("damage", this.damage);
          }
          
          /**
          * (abstract) Protected helper method to read subclass entity data from NBT.
          */
          public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
          {
          this.field_145791_d = par1NBTTagCompound.getShort("xTile");
          this.field_145792_e = par1NBTTagCompound.getShort("yTile");
          this.field_145789_f = par1NBTTagCompound.getShort("zTile");
          this.ticksInGround = par1NBTTagCompound.getShort("life");
          this.field_145790_g = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255);
          this.inData = par1NBTTagCompound.getByte("inData") & 255;
          this.arrowShake = par1NBTTagCompound.getByte("shake") & 255;
          this.inGround = par1NBTTagCompound.getByte("inGround") == 1;
          
          if (par1NBTTagCompound.hasKey("damage", 99))
          {
          this.damage = par1NBTTagCompound.getDouble("damage");
          }
          
          if (par1NBTTagCompound.hasKey("pickup", 99))
          {
          this.canBePickedUp = par1NBTTagCompound.getByte("pickup");
          }
          else if (par1NBTTagCompound.hasKey("player", 99))
          {
          this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0;
          }
          }
          
          /**
          * Called by a player entity when they collide with an entity
          */
          public void onCollideWithPlayer(EntityPlayer par1EntityPlayer)
          {
          if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
          {
          boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode;
          
          if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ModMinecraft.itemFlechette, 1)))
          {
          flag = false;
          }
          
          if (flag)
          {
          this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
          par1EntityPlayer.onItemPickup(this, 1);
          this.setDead();
          }
          }
          }
          
          /**
          * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
          * prevent them from trampling crops
          */
          protected boolean canTriggerWalking()
          {
          return false;
          }
          
          @SideOnly(Side.CLIENT)
          public float getShadowSize()
          {
          return 0.0F;
          }
          
          public void setDamage(double par1)
          {
          this.damage = par1;
          }
          
          public double getDamage()
          {
          return this.damage;
          }
          
          /**
          * Whether the arrow has a stream of critical hit particles flying behind it.
          */
          public void setIsCritical(boolean par1)
          {
          byte b0 = this.dataWatcher.getWatchableObjectByte(16);
          
          if (par1)
          {
          this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1)));
          }
          else
          {
          this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2)));
          }
          }
          
          /**
          * Whether the arrow has a stream of critical hit particles flying behind it.
          */
          public boolean getIsCritical()
          {
          byte b0 = this.dataWatcher.getWatchableObjectByte(16);
          return (b0 & 1) != 0;
          }
          
          }
          
          

          Rendu ( c’est bien ca ? )

          package mod.common;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          import net.minecraft.client.renderer.texture.IIconRegister;
          import net.minecraft.init.Items;
          import net.minecraft.item.Item;
          
          public class DinoItem extends Item
          {
          @Override
          public void registerIcons(IIconRegister iconregister)
          {
          this.itemIcon = iconregister.registerIcon(ModMinecraft.MODID + ":itemFlechette");
          }
          }
          
          

          Oui ce gif est drôle.

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Le crash est causé par ça :

            DamageSource damagesource = null;
            
            if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
            {
            movingobjectposition.entityHit.setFire(5);
            }
            
            if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k))
            

            damagesource est null. Il faudrait plutôt mettre :
            DamageSource damagesource = shootingEntity != null ? (new EntityDamageSourceIndirect(“arrow”, this, this.shootingEntity)).setProjectile() : (new EntityDamageSourceIndirect(“arrow”, this, this)).setProjectile();

            Pour le rendu c’est pas du tout ça, c’est une nouvelle classe qu’il faut créé, ça fonctionne comme le rendu d’un mob.

            1 réponse Dernière réponse Répondre Citer 0
            • FlowF Hors-ligne
              Flow
              dernière édition par

              J’ai changer par ce que tu m’as dit donc ceci : ```
              DamageSource damagesource = shootingEntity != null ? (new EntityDamageSourceIndirect(“arrow”, this, this.shootingEntity)).setProjectile() : (new EntityDamageSourceIndirect(“arrow”, this, this)).setProjectile();

              
              [edit] = Ca marche !! :D Mais sa cause des dégats , et j'aimerais que sa n'en cause aucun ainsi l'effet slowness ne marche pas des idées ?
              
              

              public class EntitySlowingArrow extends EntityThrowable
              {
              public EntitySlowingArrow(World world)
              {
              super(world);
              }

              protected void onImpact(MovingObjectPosition mop)
              {
              Entity e = mop.entityHit;
              if (e != null && e instanceof EntityLivingBase)
              {
              ((EntityLivingBase) e).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 20, 1200));
              }
              }
              }

              Oui ce gif est drôle.

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                Dans ce cas, toute cette partie :

                DamageSource damagesource = shootingEntity != null ? (new EntityDamageSourceIndirect("arrow", this, this.shootingEntity)).setProjectile() : (new EntityDamageSourceIndirect("arrow", this, this)).setProjectile();
                
                if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
                {
                movingobjectposition.entityHit.setFire(5);
                }
                
                if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k))
                {
                if (movingobjectposition.entityHit instanceof EntityLivingBase)
                {
                EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit;
                
                if (!this.worldObj.isRemote)
                {
                entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEnti?ty() + 1);
                }
                
                if (this.knockbackStrength > 0)
                {
                f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
                
                if (f4 > 0.0F)
                {
                movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4);
                }
                }
                
                if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase)
                {
                EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity);
                EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase);
                }
                
                if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP)
                {
                ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new? S2BPacketChangeGameState(6, 0.0F));
                }
                }
                
                this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
                
                if (!(movingobjectposition.entityHit instanceof EntityEnderman))
                {
                this.setDead();
                }
                }
                else
                {
                this.motionX *= -0.10000000149011612D;
                this.motionY *= -0.10000000149011612D;
                this.motionZ *= -0.10000000149011612D;
                this.rotationYaw += 180.0F;
                this.prevRotationYaw += 180.0F;
                this.ticksInAir = 0;
                }
                

                Remplace par :

                if(movingobjectposition.entityHit instanceof EntityLivingBase)
                {
                ((EntityLivingBase) movingobjectposition.entityHit).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 20, 1200));
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • FlowF Hors-ligne
                  Flow
                  dernière édition par

                  Ca marche pour les deux mais les mobs marchent toujours mais plus lentement y a t il un moyen qu’il ne bouge plus radicalement 😛 ?

                  Oui ce gif est drôle.

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    movingobjectposition.entityHit.noClip = true;
                    Le problème avec ça, c’est qu’il bougera plus définitivement, il faudrait remettre noClip sur false au bon d’un certains temps.

                    1 réponse Dernière réponse Répondre Citer 0
                    • FlowF Hors-ligne
                      Flow
                      dernière édition par

                      par exemple le temps normal d’une potion de slowness c’est possible genre 1:07 ? Et ou le rajouter ?

                      Oui ce gif est drôle.

                      1 réponse Dernière réponse Répondre Citer 0
                      • ÜberfapÜ Hors-ligne
                        Überfap
                        dernière édition par

                        Changes la durée et la puissance du PotionEffect 😉

                        Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                        Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                        1 réponse Dernière réponse Répondre Citer 0
                        • FlowF Hors-ligne
                          Flow
                          dernière édition par

                          (Potion.moveSlowdown.id, 20, 1200)); 20 = en ticks ou en secondes ?

                          J’ai riens dis 😛

                          package mod.common;
                          import cpw.mods.fml.relauncher.Side;
                          import cpw.mods.fml.relauncher.SideOnly;
                          import net.minecraft.client.renderer.Tessellator;
                          import net.minecraft.client.renderer.entity.Render;
                          import net.minecraft.entity.Entity;
                          import net.minecraft.entity.projectile.EntityArrow;
                          import net.minecraft.util.MathHelper;
                          import net.minecraft.util.ResourceLocation;
                          
                          import org.lwjgl.opengl.GL11;
                          import org.lwjgl.opengl.GL12;
                          
                          @SideOnly(Side.CLIENT)
                          public class RenderFlechette extends Render
                          {
                          private static final ResourceLocation FlechetteTextures = new ResourceLocation(ModMinecraft.MODID, "textures/entity/itemFlechette.png");
                          private static final String __OBFID = "CL_00000978";
                          
                          /**
                          * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
                          * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
                          * (Render <t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
                          */
                          public void doRender(EntityFlechette par1EntityFlechette, double par2, double par4, double par6, float par8, float par9)
                          {
                          this.bindEntityTexture(par1EntityFlechette);
                          GL11.glPushMatrix();
                          GL11.glTranslatef((float)par2, (float)par4, (float)par6);
                          GL11.glRotatef(par1EntityFlechette.prevRotationYaw + (par1EntityFlechette.rotationYaw - par1EntityFlechette.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F);
                          GL11.glRotatef(par1EntityFlechette.prevRotationPitch + (par1EntityFlechette.rotationPitch - par1EntityFlechette.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F);
                          Tessellator tessellator = Tessellator.instance;
                          byte b0 = 0;
                          float f2 = 0.0F;
                          float f3 = 0.5F;
                          float f4 = (float)(0 + b0 * 10) / 32.0F;
                          float f5 = (float)(5 + b0 * 10) / 32.0F;
                          float f6 = 0.0F;
                          float f7 = 0.15625F;
                          float f8 = (float)(5 + b0 * 10) / 32.0F;
                          float f9 = (float)(10 + b0 * 10) / 32.0F;
                          float f10 = 0.05625F;
                          GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                          float f11 = (float)par1EntityFlechette.arrowShake - par9;
                          
                          if (f11 > 0.0F)
                          {
                          float f12 = -MathHelper.sin(f11 * 3.0F) * f11;
                          GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F);
                          }
                          
                          GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
                          GL11.glScalef(f10, f10, f10);
                          GL11.glTranslatef(-4.0F, 0.0F, 0.0F);
                          GL11.glNormal3f(f10, 0.0F, 0.0F);
                          tessellator.startDrawingQuads();
                          tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8);
                          tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8);
                          tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9);
                          tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9);
                          tessellator.draw();
                          GL11.glNormal3f(-f10, 0.0F, 0.0F);
                          tessellator.startDrawingQuads();
                          tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8);
                          tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8);
                          tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9);
                          tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9);
                          tessellator.draw();
                          
                          for (int i = 0; i < 4; ++i)
                          {
                          GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
                          GL11.glNormal3f(0.0F, 0.0F, f10);
                          tessellator.startDrawingQuads();
                          tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4);
                          tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4);
                          tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5);
                          tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5);
                          tessellator.draw();
                          }
                          
                          GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                          GL11.glPopMatrix();
                          }
                          
                          /**
                          * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                          */
                          protected ResourceLocation getEntityTexture(EntityFlechette par1EntityFlechette)
                          {
                          return this.getEntityTexture(par1EntityFlechette);
                          }
                          
                          /**
                          * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                          */
                          protected ResourceLocation getEntityTexture(Entity par1Entity)
                          {
                          return this.getEntityTexture((EntityFlechette)par1Entity);
                          }
                          
                          /**
                          * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
                          * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
                          * (Render <t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
                          */
                          public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
                          {
                          this.doRender((EntityFlechette)par1Entity, par2, par4, par6, par8, par9);
                          }
                          }
                          
                          

                          Voici mon render , y a des erreurs ? J’ai essayé de faire comme je pensais que sa devait être et sa semble marcher mais au lieu de la flechette c’est un cube blanc qui apparaît ?

                          Et dans le proxy j’ai plusieurs erreurs que je ne sais pas corriger pouvez vous le faire ? merci 🙂

                          package mod.proxy;

                          public class ClientProxy extends CommonProxy
                          {
                          @Override
                          public void registerRender()
                          {
                          System.out.println(“méthode côté client”);
                          }
                          RenderingRegistry.registerEntityRenderingHandler(EntityFlechette.class, new RenderFlechette(new ModelBiped(), 0.5F));
                          }</t></t>

                          Oui ce gif est drôle.

                          1 réponse Dernière réponse Répondre Citer 0
                          • FlowF Hors-ligne
                            Flow
                            dernière édition par

                            Je pense avoir réussi le probleme avec le clientproxy j’ai mis comme cela ```
                            package mod.proxy;

                            import mod.common.EntityFlechette;
                            import mod.common.RenderFlechette;
                            import cpw.mods.fml.client.registry.RenderingRegistry;

                            public class ClientProxy extends CommonProxy
                            {

                            @Override
                            public void registerRender()
                            {
                            System.out.println(“render”);

                            RenderingRegistry.registerEntityRenderingHandler(EntityFlechette.class, new RenderFlechette());
                            }

                            }

                            
                            mais lorsque je tire j'ai un crashreport :( Je suis un peu désespérée je dois vous avouer :/
                            
                            

                            –-- Minecraft Crash Report ----
                            // Ouch. That hurt 😞

                            Time: 13/07/14 22:15
                            Description: Registering texture

                            java.lang.NullPointerException: Registering texture
                            at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                            at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
                            at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                            at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                            at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                            at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                            at mod.common.RenderFlechette.doRender(RenderFlechette.java:46)
                            at mod.common.RenderFlechette.doRender(RenderFlechette.java:118)
                            at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                            at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                            at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                            at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                            at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)
                            at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1095)
                            at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1024)
                            at net.minecraft.client.Minecraft.run(Minecraft.java:912)
                            at net.minecraft.client.main.Main.main(Main.java:112)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                            at java.lang.reflect.Method.invoke(Unknown Source)
                            at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                            at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

                            A detailed walkthrough of the error, its code path and all known details is as follows:

                            – Head –
                            Stacktrace:
                            at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                            at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)

                            – Resource location being registered –
                            Details:
                            Resource location: NULL
                            Texture object class: net.minecraft.client.renderer.texture.SimpleTexture
                            Stacktrace:
                            at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                            at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                            at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                            at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                            at mod.common.RenderFlechette.doRender(RenderFlechette.java:46)
                            at mod.common.RenderFlechette.doRender(RenderFlechette.java:118)

                            – Entity being rendered –
                            Details:
                            Entity Type: RenderFlechetteun (mod.common.EntityFlechette)
                            Entity ID: 572
                            Entity Name: entity.RenderFlechetteun.name
                            Entity’s Exact location: 240,82, 72,59, 102,47
                            Entity’s Block location: World: (240,72,102), Chunk: (at 0,4,6 in 15,6; contains blocks 240,0,96 to 255,255,111), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
                            Entity’s Momentum: 0,72, -0,95, -1,27

                            – Renderer details –
                            Details:
                            Assigned renderer: mod.common.RenderFlechette@2f318251
                            Location: 0,25,-0,28,-0,18 - World: (0,-1,-1), Chunk: (at 0,-1,15 in 0,-1; contains blocks 0,0,-16 to 15,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
                            Rotation: 150.49066
                            Delta: 0.18068206
                            Stacktrace:
                            at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                            at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                            at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                            at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                            at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)

                            – Affected level –
                            Details:
                            Level name: MpServer
                            All players: 1 total; [EntityClientPlayerMP[‘Player937’/369, l=‘MpServer’, x=239,98, y=73,62, z=103,70]]
                            Chunk stats: MultiplayerChunkCache: 210, 210
                            Level seed: 0
                            Level generator: ID 00 - default, ver 1. Features enabled: false
                            Level generator options:
                            Level spawn location: World: (240,64,256), Chunk: (at 0,4,0 in 15,16; contains blocks 240,0,256 to 255,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
                            Level time: 4690 game time, 4690 day time
                            Level dimension: 0
                            Level storage version: 0x00000 - Unknown?
                            Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
                            Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
                            Forced entities: 105 total; [EntityFlechette[‘entity.RenderFlechetteun.name’/572, l=‘MpServer’, x=240,82, y=72,59, z=102,47], EntityBat[‘Bat’/78, l=‘MpServer’, x=160,37, y=27,09, z=89,10], EntityZombie[‘Zombie’/89, l=‘MpServer’, x=173,50, y=30,00, z=65,69], EntitySkeleton[‘Skeleton’/90, l=‘MpServer’, x=173,50, y=30,00, z=64,78], EntityBat[‘Bat’/91, l=‘MpServer’, x=172,94, y=22,00, z=89,63], EntityPig[‘Pig’/92, l=‘MpServer’, x=169,19, y=71,00, z=88,91], EntityPig[‘Pig’/93, l=‘MpServer’, x=171,50, y=71,00, z=90,31], EntityPig[‘Pig’/94, l=‘MpServer’, x=163,03, y=72,00, z=84,84], EntityPig[‘Pig’/95, l=‘MpServer’, x=161,25, y=70,00, z=80,53], EntitySkeleton[‘Skeleton’/96, l=‘MpServer’, x=165,84, y=56,00, z=169,75], EntityZombie[‘Zombie’/114, l=‘MpServer’, x=192,46, y=29,14, z=74,72], EntityZombie[‘Zombie’/115, l=‘MpServer’, x=189,94, y=30,00, z=71,63], EntityBat[‘Bat’/116, l=‘MpServer’, x=181,50, y=23,10, z=100,22], EntityCreeper[‘Creeper’/135, l=‘MpServer’, x=195,03, y=51,00, z=78,63], EntityZombie[‘Zombie’/136, l=‘MpServer’, x=194,84, y=28,00, z=82,41], EntityZombie[‘Zombie’/137, l=‘MpServer’, x=206,69, y=28,92, z=92,61], EntityBat[‘Bat’/138, l=‘MpServer’, x=195,12, y=28,95, z=108,67], EntitySkeleton[‘Skeleton’/139, l=‘MpServer’, x=199,50, y=13,00, z=162,50], EntityZombie[‘Zombie’/140, l=‘MpServer’, x=201,94, y=13,00, z=161,47], EntityBat[‘Bat’/141, l=‘MpServer’, x=200,59, y=19,10, z=172,52], EntitySkeleton[‘Skeleton’/398, l=‘MpServer’, x=173,28, y=31,00, z=60,06], EntityPig[‘Pig’/399, l=‘MpServer’, x=162,50, y=78,00, z=62,31], EntityBat[‘Bat’/402, l=‘MpServer’, x=199,01, y=20,36, z=45,00], EntitySkeleton[‘Skeleton’/403, l=‘MpServer’, x=220,09, y=12,00, z=49,41], EntityPig[‘Pig’/149, l=‘MpServer’, x=221,69, y=68,00, z=120,69], EntitySkeleton[‘Skeleton’/150, l=‘MpServer’, x=223,50, y=57,00, z=139,09], EntitySkeleton[‘Skeleton’/151, l=‘MpServer’, x=219,91, y=58,00, z=137,50], EntityPig[‘Pig’/152, l=‘MpServer’, x=208,34, y=68,00, z=130,88], EntityPig[‘Pig’/409, l=‘MpServer’, x=249,13, y=66,00, z=25,94], EntityPig[‘Pig’/414, l=‘MpServer’, x=265,50, y=66,00, z=31,38], EntityZombie[‘Zombie’/415, l=‘MpServer’, x=261,97, y=29,00, z=42,59], EntityPig[‘Pig’/160, l=‘MpServer’, x=229,97, y=67,00, z=87,44], EntitySkeleton[‘Skeleton’/416, l=‘MpServer’, x=260,47, y=28,00, z=46,13], EntityPig[‘Pig’/161, l=‘MpServer’, x=238,53, y=68,00, z=80,31], EntityCreeper[‘Creeper’/417, l=‘MpServer’, x=271,50, y=21,00, z=63,94], EntityPig[‘Pig’/162, l=‘MpServer’, x=225,31, y=68,00, z=116,09], EntityBat[‘Bat’/163, l=‘MpServer’, x=237,25, y=20,10, z=135,25], EntityZombie[‘Zombie’/419, l=‘MpServer’, x=285,69, y=46,00, z=43,97], EntityCreeper[‘Creeper’/164, l=‘MpServer’, x=228,41, y=19,00, z=129,97], EntityPig[‘Pig’/420, l=‘MpServer’, x=272,50, y=69,00, z=39,25], EntityPig[‘Pig’/165, l=‘MpServer’, x=226,38, y=68,00, z=128,13], EntityCreeper[‘Creeper’/421, l=‘MpServer’, x=285,16, y=34,00, z=48,30], EntityCreeper[‘Creeper’/422, l=‘MpServer’, x=284,31, y=34,00, z=48,56], EntitySquid[‘Squid’/166, l=‘MpServer’, x=225,50, y=60,38, z=164,50], EntityClientPlayerMP[‘Player937’/369, l=‘MpServer’, x=239,98, y=73,62, z=103,70], EntityZombie[‘Zombie’/424, l=‘MpServer’, x=293,03, y=35,00, z=32,41], EntityFlechette[‘entity.RenderFlechetteun.name’/174, l=‘MpServer’, x=246,50, y=66,00, z=93,25], EntityBat[‘Bat’/175, l=‘MpServer’, x=240,25, y=21,10, z=134,25], EntityCreeper[‘Creeper’/176, l=‘MpServer’, x=249,91, y=30,00, z=129,75], EntityCreeper[‘Creeper’/177, l=‘MpServer’, x=244,00, y=16,00, z=130,41], EntityZombie[‘Zombie’/178, l=‘MpServer’, x=253,25, y=34,00, z=136,13], EntityPig[‘Pig’/183, l=‘MpServer’, x=254,56, y=67,00, z=182,50], EntityCreeper[‘Creeper’/186, l=‘MpServer’, x=258,28, y=41,00, z=105,28], EntityCreeper[‘Creeper’/187, l=‘MpServer’, x=257,31, y=41,00, z=104,31], EntityPig[‘Pig’/188, l=‘MpServer’, x=257,03, y=68,00, z=98,94], EntityPig[‘Pig’/189, l=‘MpServer’, x=264,66, y=67,00, z=137,75], EntityZombie[‘Zombie’/190, l=‘MpServer’, x=271,97, y=17,00, z=183,50], EntitySpider[‘Spider’/193, l=‘MpServer’, x=283,19, y=58,00, z=77,26], EntitySkeleton[‘Skeleton’/194, l=‘MpServer’, x=283,84, y=16,00, z=89,50], EntitySkeleton[‘Skeleton’/195, l=‘MpServer’, x=285,69, y=16,00, z=90,16], EntityCreeper[‘Creeper’/196, l=‘MpServer’, x=281,59, y=41,00, z=110,00], EntityCreeper[‘Creeper’/197, l=‘MpServer’, x=272,38, y=37,00, z=135,78], EntityCreeper[‘Creeper’/198, l=‘MpServer’, x=286,53, y=45,00, z=136,97], EntityPig[‘Pig’/200, l=‘MpServer’, x=278,78, y=64,00, z=144,44], EntitySkeleton[‘Skeleton’/202, l=‘MpServer’, x=293,09, y=17,00, z=89,59], EntityZombie[‘Zombie’/203, l=‘MpServer’, x=297,50, y=57,00, z=86,50], EntityPig[‘Pig’/204, l=‘MpServer’, x=299,47, y=76,00, z=83,66], EntityCreeper[‘Creeper’/205, l=‘MpServer’, x=301,06, y=20,00, z=110,50], EntityZombie[‘Zombie’/206, l=‘MpServer’, x=296,47, y=22,00, z=107,97], EntityCreeper[‘Creeper’/207, l=‘MpServer’, x=295,94, y=34,00, z=110,50], EntityPig[‘Pig’/208, l=‘MpServer’, x=290,13, y=67,00, z=118,59], EntityPig[‘Pig’/209, l=‘MpServer’, x=299,16, y=69,00, z=124,03], EntityBat[‘Bat’/210, l=‘MpServer’, x=301,75, y=17,10, z=157,50], EntityPig[‘Pig’/211, l=‘MpServer’, x=298,53, y=64,00, z=144,31], EntityPig[‘Pig’/212, l=‘MpServer’, x=290,72, y=64,00, z=150,53], EntitySquid[‘Squid’/213, l=‘MpServer’, x=297,14, y=58,42, z=166,77], EntitySquid[‘Squid’/214, l=‘MpServer’, x=292,50, y=58,00, z=164,50], EntitySquid[‘Squid’/217, l=‘MpServer’, x=299,96, y=58,39, z=167,62], EntitySquid[‘Squid’/218, l=‘MpServer’, x=298,13, y=58,00, z=165,47], EntitySquid[‘Squid’/219, l=‘MpServer’, x=292,47, y=58,17, z=166,74], EntityBat[‘Bat’/221, l=‘MpServer’, x=297,75, y=23,10, z=180,06], EntityPig[‘Pig’/223, l=‘MpServer’, x=299,97, y=73,00, z=179,50], EntityPig[‘Pig’/227, l=‘MpServer’, x=317,50, y=83,00, z=79,22], EntityCreeper[‘Creeper’/228, l=‘MpServer’, x=311,13, y=20,00, z=94,75], EntityZombie[‘Zombie’/229, l=‘MpServer’, x=310,41, y=54,00, z=88,34], EntityPig[‘Pig’/230, l=‘MpServer’, x=311,53, y=83,00, z=94,94], EntityCreeper[‘Creeper’/231, l=‘MpServer’, x=306,69, y=20,00, z=97,31], EntitySkeleton[‘Skeleton’/232, l=‘MpServer’, x=314,84, y=22,00, z=112,00], EntityBat[‘Bat’/233, l=‘MpServer’, x=309,74, y=23,20, z=107,23], EntityPig[‘Pig’/234, l=‘MpServer’, x=308,50, y=73,00, z=97,44], EntityPig[‘Pig’/235, l=‘MpServer’, x=313,03, y=75,00, z=98,47], EntityCreeper[‘Creeper’/236, l=‘MpServer’, x=313,16, y=22,00, z=113,69], EntityCreeper[‘Creeper’/237, l=‘MpServer’, x=312,16, y=23,00, z=113,34], EntitySkeleton[‘Skeleton’/238, l=‘MpServer’, x=315,23, y=22,00, z=113,98], EntityCreeper[‘Creeper’/239, l=‘MpServer’, x=317,28, y=22,00, z=114,06], EntitySkeleton[‘Skeleton’/240, l=‘MpServer’, x=304,69, y=32,04, z=112,70], EntityBat[‘Bat’/241, l=‘MpServer’, x=309,84, y=28,10, z=142,00], EntitySkeleton[‘Skeleton’/242, l=‘MpServer’, x=316,38, y=17,00, z=129,34], EntitySkeleton[‘Skeleton’/243, l=‘MpServer’, x=313,75, y=43,00, z=139,69], EntitySkeleton[‘Skeleton’/244, l=‘MpServer’, x=316,94, y=36,00, z=133,50], EntityPig[‘Pig’/245, l=‘MpServer’, x=316,97, y=68,00, z=128,06], EntityBat[‘Bat’/246, l=‘MpServer’, x=309,75, y=29,10, z=157,63], EntitySpider[‘Spider’/247, l=‘MpServer’, x=308,13, y=28,00, z=159,19], EntityBat[‘Bat’/248, l=‘MpServer’, x=312,75, y=17,10, z=159,75], EntitySpider[‘Spider’/249, l=‘MpServer’, x=317,42, y=17,00, z=163,23]]
                            Retry entities: 0 total; []
                            Server brand: fml,forge
                            Server type: Integrated singleplayer server
                            Stacktrace:
                            at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:412)
                            at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2523)
                            at net.minecraft.client.Minecraft.run(Minecraft.java:934)
                            at net.minecraft.client.main.Main.main(Main.java:112)
                            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                            at java.lang.reflect.Method.invoke(Unknown Source)
                            at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                            at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

                            – System Details –
                            Details:
                            Minecraft Version: 1.7.2
                            Operating System: Windows 8.1 (amd64) version 6.3
                            Java Version: 1.8.0_05, Oracle Corporation
                            Java VM Version: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle Corporation
                            Memory: 675961856 bytes (644 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                            JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                            AABB Pool Size: 13011 (728616 bytes; 0 MB) allocated, 1530 (85680 bytes; 0 MB) used
                            IntCache: cache: 7, tcache: 0, allocated: 13, tallocated: 95
                            FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 4 mods loaded, 4 mods active
                            mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                            FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                            Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                            modminecraft{1.0} [Mod Minecraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                            Launched Version: 1.6
                            LWJGL: 2.9.0
                            OpenGL: GeForce GTX 650/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation
                            Is Modded: Definitely; Client brand changed to ‘fml,forge’
                            Type: Client (map_client.txt)
                            Resource Packs: []
                            Current Language: ERROR NullPointerException: null
                            Profiler Position: N/A (disabled)
                            Vec3 Pool Size: 5373 (300888 bytes; 0 MB) allocated, 549 (30744 bytes; 0 MB) used
                            Anisotropic Filtering: Off (1)

                            
                            J'ai aussi quand je change la durée de la potion effect ca ne change rien :/
                            
                            Et l'orsque on tire avec la Sarbacane dans l'inventaire sa nous met Slowness "0:9" mais l'effet ne s'applique pas a nous je ne sais pas pourquoi le cadre slowness apparait dans l'inventaire..

                            Oui ce gif est drôle.

                            1 réponse Dernière réponse Répondre Citer 0
                            • robin4002R Hors-ligne
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                              dernière édition par

                              Si tu enlève :
                              float f11 = (float)par1EntityFlechette.arrowShake - par9;

                              if (f11 > 0.0F)
                              {
                              float f12 = -MathHelper.sin(f11 * 3.0F) * f11;
                              GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F);
                              }
                              ça crash toujours ?

                              Aussi, enlève la ligne :
                              private static final String __OBFID = “CL_00000978”;
                              Sinon tu vas avoir des problèmes lors de la compilation.

                              Pour les deux autres problèmes, je ne sais pas.

                              1 réponse Dernière réponse Répondre Citer 0
                              • FlowF Hors-ligne
                                Flow
                                dernière édition par

                                Oui ca crash toujours malheureusement 😞

                                –-- Minecraft Crash Report ----
                                // Oh - I know what I did wrong!
                                
                                Time: 13/07/14 22:48
                                Description: Registering texture
                                
                                java.lang.NullPointerException: Registering texture
                                at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                                at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
                                at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                                at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                                at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                                at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                                at mod.common.RenderFlechette.doRender(RenderFlechette.java:44)
                                at mod.common.RenderFlechette.doRender(RenderFlechette.java:110)
                                at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                                at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                                at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)
                                at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1095)
                                at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1024)
                                at net.minecraft.client.Minecraft.run(Minecraft.java:912)
                                at net.minecraft.client.main.Main.main(Main.java:112)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                at java.lang.reflect.Method.invoke(Unknown Source)
                                at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                
                                A detailed walkthrough of the error, its code path and all known details is as follows:
                                ---------------------------------------------------------------------------------------
                                
                                -- Head --
                                Stacktrace:
                                at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                                at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
                                
                                -- Resource location being registered --
                                Details:
                                Resource location: ~~NULL~~
                                Texture object class: net.minecraft.client.renderer.texture.SimpleTexture
                                Stacktrace:
                                at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                                at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                                at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                                at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                                at mod.common.RenderFlechette.doRender(RenderFlechette.java:44)
                                at mod.common.RenderFlechette.doRender(RenderFlechette.java:110)
                                
                                -- Entity being rendered --
                                Details:
                                Entity Type: RenderFlechetteun (mod.common.EntityFlechette)
                                Entity ID: 478
                                Entity Name: entity.RenderFlechetteun.name
                                Entity's Exact location: 414,52, 71,31, -18,14
                                Entity's Block location: World: (414,71,-19), Chunk: (at 14,4,13 in 25,-2; contains blocks 400,0,-32 to 415,255,-17), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
                                Entity's Momentum: 0,95, -0,23, 1,81
                                
                                -- Renderer details --
                                Details:
                                Assigned renderer: mod.common.RenderFlechette@6da5cb1
                                Location: 0,03,-0,16,0,45 - World: (0,-1,0), Chunk: (at 0,-1,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
                                Rotation: 27.664007
                                Delta: 0.20647562
                                Stacktrace:
                                at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                                at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                                at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)
                                
                                -- Affected level --
                                Details:
                                Level name: MpServer
                                All players: 1 total; [EntityClientPlayerMP['Player140'/362, l='MpServer', x=413,73, y=71,62, z=-20,04]]
                                Chunk stats: MultiplayerChunkCache: 190, 190
                                Level seed: 0
                                Level generator: ID 00 - default, ver 1\. Features enabled: false
                                Level generator options:
                                Level spawn location: World: (409,64,-37), Chunk: (at 9,4,11 in 25,-3; contains blocks 400,0,-48 to 415,255,-33), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
                                Level time: 289 game time, 289 day time
                                Level dimension: 0
                                Level storage version: 0x00000 - Unknown?
                                Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
                                Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
                                Forced entities: 115 total; [EntityBat['Bat'/256, l='MpServer', x=418,88, y=20,17, z=-24,63], EntityFlechette['entity.RenderFlechetteun.name'/257, l='MpServer', x=419,53, y=71,00, z=-10,81], EntityCreeper['Creeper'/258, l='MpServer', x=417,63, y=20,00, z=27,84], EntityCreeper['Creeper'/259, l='MpServer', x=417,38, y=20,00, z=28,69], EntitySkeleton['Skeleton'/260, l='MpServer', x=420,29, y=21,00, z=24,50], EntityCreeper['Creeper'/261, l='MpServer', x=416,69, y=13,00, z=45,66], EntityHorse['Horse'/269, l='MpServer', x=436,28, y=72,00, z=-55,56], EntityHorse['Horse'/270, l='MpServer', x=438,50, y=71,00, z=-54,25], EntityHorse['Horse'/271, l='MpServer', x=437,81, y=72,00, z=-50,95], EntityHorse['Horse'/272, l='MpServer', x=434,34, y=72,00, z=-53,72], EntityHorse['Horse'/273, l='MpServer', x=436,88, y=72,00, z=-53,34], EntityBat['Bat'/274, l='MpServer', x=435,21, y=28,00, z=-49,25], EntityBat['Bat'/275, l='MpServer', x=437,69, y=26,95, z=-27,34], EntityItem['item.item.seeds'/276, l='MpServer', x=434,09, y=71,13, z=-31,94], EntitySpider['Spider'/277, l='MpServer', x=448,16, y=20,00, z=29,50], EntityZombie['Zombie'/278, l='MpServer', x=445,78, y=21,00, z=32,09], EntityPig['Pig'/281, l='MpServer', x=462,53, y=79,00, z=-95,53], EntityPig['Pig'/282, l='MpServer', x=459,78, y=79,00, z=-92,78], EntityPig['Pig'/283, l='MpServer', x=454,19, y=76,00, z=-93,91], EntityPig['Pig'/284, l='MpServer', x=461,16, y=79,00, z=-94,16], EntityCreeper['Creeper'/289, l='MpServer', x=471,66, y=15,00, z=-5,34], EntityZombie['Zombie'/290, l='MpServer', x=472,59, y=15,00, z=-5,53], EntityCreeper['Creeper'/291, l='MpServer', x=476,50, y=17,00, z=-4,50], EntityCreeper['Creeper'/292, l='MpServer', x=479,50, y=17,00, z=-2,50], EntityCreeper['Creeper'/293, l='MpServer', x=473,50, y=22,00, z=32,50], EntityBat['Bat'/296, l='MpServer', x=483,00, y=43,85, z=-50,14], EntitySquid['Squid'/50, l='MpServer', x=351,58, y=60,42, z=-19,12], EntitySquid['Squid'/85, l='MpServer', x=364,51, y=61,10, z=-53,53], EntitySquid['Squid'/86, l='MpServer', x=366,12, y=58,00, z=-57,74], EntitySquid['Squid'/87, l='MpServer', x=363,23, y=62,34, z=-49,63], EntitySquid['Squid'/88, l='MpServer', x=368,59, y=61,31, z=-39,33], EntitySquid['Squid'/89, l='MpServer', x=368,80, y=58,38, z=-46,48], EntitySquid['Squid'/90, l='MpServer', x=369,02, y=59,99, z=-39,07], EntitySquid['Squid'/91, l='MpServer', x=360,21, y=60,08, z=-31,21], EntitySquid['Squid'/92, l='MpServer', x=363,00, y=61,25, z=-31,86], EntitySquid['Squid'/93, l='MpServer', x=355,49, y=59,99, z=-29,96], EntitySquid['Squid'/94, l='MpServer', x=356,28, y=59,66, z=-21,91], EntitySquid['Squid'/95, l='MpServer', x=364,45, y=61,34, z=-20,00], EntitySquid['Squid'/96, l='MpServer', x=352,38, y=58,37, z=-24,00], EntityClientPlayerMP['Player140'/362, l='MpServer', x=413,73, y=71,62, z=-20,04], EntityZombie['Zombie'/140, l='MpServer', x=375,50, y=33,00, z=-99,50], EntityCreeper['Creeper'/141, l='MpServer', x=375,56, y=33,00, z=-98,00], EntityCreeper['Creeper'/142, l='MpServer', x=378,50, y=33,00, z=-94,50], EntityBat['Bat'/143, l='MpServer', x=381,31, y=12,95, z=-75,31], EntitySquid['Squid'/144, l='MpServer', x=383,85, y=55,00, z=-53,51], EntitySquid['Squid'/145, l='MpServer', x=379,09, y=61,38, z=-54,33], EntitySquid['Squid'/146, l='MpServer', x=379,71, y=55,82, z=-53,76], EntitySquid['Squid'/147, l='MpServer', x=367,48, y=60,29, z=-46,35], EntitySquid['Squid'/148, l='MpServer', x=371,57, y=62,25, z=-47,37], EntitySquid['Squid'/149, l='MpServer', x=365,84, y=59,85, z=-52,47], EntitySquid['Squid'/150, l='MpServer', x=370,00, y=58,94, z=-57,68], EntitySquid['Squid'/151, l='MpServer', x=365,87, y=61,77, z=-54,49], EntitySquid['Squid'/152, l='MpServer', x=370,47, y=61,38, z=-26,01], EntityBat['Bat'/153, l='MpServer', x=380,50, y=22,92, z=13,91], EntityCreeper['Creeper'/154, l='MpServer', x=383,50, y=28,00, z=31,50], EntitySkeleton['Skeleton'/155, l='MpServer', x=382,50, y=25,00, z=17,50], EntityCreeper['Creeper'/156, l='MpServer', x=373,44, y=38,00, z=19,00], EntitySkeleton['Skeleton'/172, l='MpServer', x=395,50, y=29,00, z=-80,50], EntitySpider['Spider'/173, l='MpServer', x=394,91, y=26,00, z=-51,56], EntitySkeleton['Skeleton'/174, l='MpServer', x=397,63, y=18,00, z=-58,09], EntitySquid['Squid'/175, l='MpServer', x=386,19, y=61,26, z=-52,78], EntityZombie['Zombie'/176, l='MpServer', x=386,50, y=14,00, z=-33,50], EntityItem['item.tile.mushroom'/177, l='MpServer', x=389,88, y=16,13, z=-4,88], EntitySkeleton['Skeleton'/178, l='MpServer', x=390,70, y=16,00, z=-2,70], EntityBat['Bat'/179, l='MpServer', x=391,58, y=29,79, z=-10,96], EntityZombie['Zombie'/180, l='MpServer', x=386,50, y=17,00, z=-1,50], EntitySkeleton['Skeleton'/181, l='MpServer', x=395,50, y=41,00, z=-6,50], EntitySkeleton['Skeleton'/182, l='MpServer', x=389,94, y=20,00, z=26,50], EntityEnderman['Enderman'/183, l='MpServer', x=392,06, y=35,00, z=40,44], EntitySkeleton['Skeleton'/184, l='MpServer', x=400,00, y=32,00, z=36,66], EntitySpider['Spider'/185, l='MpServer', x=389,28, y=35,02, z=36,44], EntityCreeper['Creeper'/187, l='MpServer', x=385,41, y=21,00, z=53,09], EntityZombie['Zombie'/189, l='MpServer', x=398,50, y=29,00, z=57,50], EntityBat['Bat'/190, l='MpServer', x=387,50, y=19,10, z=58,59], EntityCreeper['Creeper'/191, l='MpServer', x=388,97, y=36,00, z=49,47], EntitySquid['Squid'/197, l='MpServer', x=403,80, y=46,39, z=-78,03], EntitySquid['Squid'/199, l='MpServer', x=412,03, y=47,39, z=-83,60], EntitySquid['Squid'/201, l='MpServer', x=401,95, y=47,76, z=-84,81], EntitySquid['Squid'/202, l='MpServer', x=411,24, y=45,75, z=-78,32], EntitySquid['Squid'/203, l='MpServer', x=410,35, y=45,93, z=-77,18], EntityCreeper['Creeper'/204, l='MpServer', x=414,50, y=30,00, z=-55,50], EntityZombie['Zombie'/205, l='MpServer', x=403,02, y=14,00, z=-19,11], EntityCreeper['Creeper'/206, l='MpServer', x=411,69, y=15,00, z=-16,31], EntityCreeper['Creeper'/207, l='MpServer', x=413,63, y=28,00, z=-16,25], EntitySkeleton['Skeleton'/208, l='MpServer', x=415,50, y=42,00, z=-16,50], EntityBat['Bat'/209, l='MpServer', x=405,68, y=35,18, z=-20,75], EntitySkeleton['Skeleton'/210, l='MpServer', x=411,50, y=14,00, z=30,50], EntityBat['Bat'/211, l='MpServer', x=415,38, y=14,73, z=22,75], EntityBat['Bat'/212, l='MpServer', x=415,09, y=15,89, z=19,50], EntityCreeper['Creeper'/213, l='MpServer', x=405,50, y=22,00, z=23,50], EntityCreeper['Creeper'/214, l='MpServer', x=408,50, y=22,00, z=26,50], EntitySkeleton['Skeleton'/215, l='MpServer', x=411,11, y=11,00, z=41,58], EntityCreeper['Creeper'/216, l='MpServer', x=414,97, y=14,00, z=46,34], EntityEnderman['Enderman'/217, l='MpServer', x=403,50, y=26,00, z=46,34], EntityEnderman['Enderman'/218, l='MpServer', x=409,56, y=25,00, z=44,34], EntityCreeper['Creeper'/219, l='MpServer', x=404,25, y=28,00, z=35,56], EntityBat['Bat'/220, l='MpServer', x=405,56, y=27,00, z=40,75], EntityBat['Bat'/221, l='MpServer', x=400,31, y=34,26, z=35,66], EntityZombie['Zombie'/222, l='MpServer', x=403,50, y=27,00, z=56,50], EntityFlechette['entity.RenderFlechetteun.name'/478, l='MpServer', x=414,52, y=71,31, z=-18,14], EntityCreeper['Creeper'/223, l='MpServer', x=404,50, y=27,00, z=54,50], EntityCreeper['Creeper'/224, l='MpServer', x=403,97, y=21,00, z=55,53], EntityEnderman['Enderman'/225, l='MpServer', x=412,38, y=25,00, z=48,72], EntityBat['Bat'/226, l='MpServer', x=408,25, y=26,98, z=57,75], EntityHorse['Horse'/245, l='MpServer', x=419,97, y=70,00, z=-67,35], EntityHorse['Horse'/246, l='MpServer', x=426,38, y=71,00, z=-66,00], EntityZombie['Zombie'/247, l='MpServer', x=431,89, y=26,44, z=-50,56], EntityHorse['Horse'/248, l='MpServer', x=424,78, y=71,00, z=-63,22], EntityHorse['Horse'/249, l='MpServer', x=424,78, y=72,00, z=-60,22], EntityHorse['Horse'/250, l='MpServer', x=430,78, y=72,00, z=-49,22], EntityHorse['Horse'/251, l='MpServer', x=423,03, y=71,00, z=-62,75], EntityHorse['Horse'/252, l='MpServer', x=426,28, y=71,00, z=-62,75], EntitySpider['Spider'/253, l='MpServer', x=424,59, y=20,00, z=-34,19], EntitySkeleton['Skeleton'/254, l='MpServer', x=421,88, y=21,00, z=-35,50], EntityEnderman['Enderman'/255, l='MpServer', x=420,50, y=42,00, z=-33,50]]
                                Retry entities: 0 total; []
                                Server brand: fml,forge
                                Server type: Integrated singleplayer server
                                Stacktrace:
                                at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:412)
                                at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2523)
                                at net.minecraft.client.Minecraft.run(Minecraft.java:934)
                                at net.minecraft.client.main.Main.main(Main.java:112)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                at java.lang.reflect.Method.invoke(Unknown Source)
                                at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                
                                – System Details --
                                Details:
                                Minecraft Version: 1.7.2
                                Operating System: Windows 8.1 (amd64) version 6.3
                                Java Version: 1.8.0_05, Oracle Corporation
                                Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                Memory: 772318392 bytes (736 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                                JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                AABB Pool Size: 17891 (1001896 bytes; 0 MB) allocated, 1483 (83048 bytes; 0 MB) used
                                IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
                                FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 4 mods loaded, 4 mods active
                                mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                modminecraft{1.0} [Mod Minecraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                Launched Version: 1.6
                                LWJGL: 2.9.0
                                OpenGL: GeForce GTX 650/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation
                                Is Modded: Definitely; Client brand changed to 'fml,forge'
                                Type: Client (map_client.txt)
                                Resource Packs: []
                                Current Language: ~~ERROR~~ NullPointerException: null
                                Profiler Position: N/A (disabled)
                                Vec3 Pool Size: 16614 (930384 bytes; 0 MB) allocated, 2746 (153776 bytes; 0 MB) used
                                Anisotropic Filtering: Off (1)
                                

                                Oui ce gif est drôle.

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002R Hors-ligne
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                  dernière édition par

                                  Bizarre qu’on tombe sur un npe et pas une boucle infini.
                                  Remplace :
                                  protected ResourceLocation getEntityTexture(EntityFlechette par1EntityFlechette)
                                  {
                                  return this.getEntityTexture(par1EntityFlechette);
                                  }
                                  par :
                                  protected ResourceLocation getEntityTexture(EntityFlechette par1EntityFlechette)
                                  {
                                  return this.FlechetteTextures ;
                                  }

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • FlowF Hors-ligne
                                    Flow
                                    dernière édition par

                                    Toujours le même crash je vais te passer tous mes codes je pense que tu pourra t’y retrouver plus facilement et cibler plus facilement également le problème ! 😉

                                    Classe principale

                                    package mod.common;
                                    
                                    import net.minecraft.block.Block;
                                    import net.minecraft.creativetab.CreativeTabs;
                                    import net.minecraft.init.Blocks;
                                    import net.minecraft.init.Items;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.item.ItemStack;
                                    import mod.proxy.CommonProxy;
                                    import cpw.mods.fml.common.Mod;
                                    import cpw.mods.fml.common.Mod.EventHandler;
                                    import cpw.mods.fml.common.Mod.Instance;
                                    import cpw.mods.fml.common.SidedProxy;
                                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                                    import cpw.mods.fml.common.registry.EntityRegistry;
                                    import cpw.mods.fml.common.registry.GameRegistry;
                                    
                                    @Mod(modid = "modminecraft", name = "Mod Minecraft", version ="1.0")
                                    
                                    public class ModMinecraft
                                    {
                                    public static Item itemFlechette;
                                    public static Item itemSarbacane;
                                    public static Item itemSeve;
                                    public static Item itemSevewithmosquito;
                                    
                                    @Instance("modminecraft")
                                    public static ModMinecraft instance;
                                    public static final String MODID = "modminecraft";
                                    
                                    @SidedProxy(clientSide = "mod.proxy.ClientProxy", serverSide = "mod.proxy.CommonProxy")
                                    public static CommonProxy proxy;
                                    
                                    @EventHandler
                                    public void preInit(FMLPreInitializationEvent event)
                                    {
                                    itemFlechette = new DinoItem().setUnlocalizedName("itemFlechette").setCreativeTab(CreativeTabs.tabCombat);
                                    itemSarbacane = new SarbacaneItem().setUnlocalizedName("itemSarbacane").setCreativeTab(CreativeTabs.tabCombat);
                                    itemSeve = new SeveItem().setUnlocalizedName("itemSeve").setCreativeTab(CreativeTabs.tabMaterials);
                                    itemSevewithmosquito = new ItemSevewithmosquito().setUnlocalizedName("itemSevewithmosquito").setCreativeTab(CreativeTabs.tabMaterials);
                                    
                                    GameRegistry.registerItem(itemFlechette, "item_Flechette");
                                    GameRegistry.registerItem(itemSarbacane, "item_Sarbacane");
                                    GameRegistry.registerItem(itemSeve, "item_Seve");
                                    GameRegistry.registerItem(itemSevewithmosquito, "item_Sevewithmosquito");
                                    
                                    }
                                    
                                    @EventHandler
                                    public void init(FMLInitializationEvent event)
                                    {
                                    proxy.registerRender();
                                    
                                    GameRegistry.addRecipe(new ItemStack(itemFlechette, 4), new Object[]{"ZX ", "XYX", " XE", 'X', Items.stick,
                                    'Y', new ItemStack(Items.potionitem, 1, 16426), 'Z', Items.iron_ingot, 'E', new ItemStack(Blocks.wool, 1, 14)});
                                    
                                    GameRegistry.addRecipe(new ItemStack(itemSarbacane), new Object[]{"XZ ", "ZXZ", " ZX", 'X', Items.reeds, 'Z', Items.string});
                                    
                                    EntityRegistry.registerGlobalEntityID(EntityFlechette.class, "RenderFlechetteun", EntityRegistry.findGlobalUniqueEntityId());
                                    EntityRegistry.registerModEntity(EntityFlechette.class, "RenderFlechetteun", 420, this.instance, 40, 1, true);
                                    }
                                    
                                    @EventHandler
                                    public void postInit(FMLPostInitializationEvent event)
                                    {
                                    
                                    }
                                    }
                                    
                                    

                                    La classe de l"arc" qui est une sarbacane

                                    package mod.common;
                                    
                                    import cpw.mods.fml.relauncher.Side;
                                    import cpw.mods.fml.relauncher.SideOnly;
                                    import net.minecraft.client.renderer.texture.IIconRegister;
                                    import net.minecraft.creativetab.CreativeTabs;
                                    import net.minecraft.enchantment.Enchantment;
                                    import net.minecraft.enchantment.EnchantmentHelper;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.EntityLivingBase;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.entity.projectile.EntityArrow;
                                    import net.minecraft.entity.projectile.EntityThrowable;
                                    import net.minecraft.init.Items;
                                    import net.minecraft.item.EnumAction;
                                    import net.minecraft.init.Items;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.potion.Potion;
                                    import net.minecraft.potion.PotionEffect;
                                    import net.minecraft.util.IIcon;
                                    import net.minecraft.util.MovingObjectPosition;
                                    import net.minecraft.world.World;
                                    import net.minecraftforge.common.MinecraftForge;
                                    import net.minecraftforge.event.entity.player.ArrowLooseEvent;
                                    import net.minecraftforge.event.entity.player.ArrowNockEvent;
                                    import cpw.mods.fml.common.Mod;
                                    import cpw.mods.fml.common.Mod.EventHandler;
                                    import cpw.mods.fml.common.Mod.Instance;
                                    import cpw.mods.fml.common.SidedProxy;
                                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                                    import cpw.mods.fml.common.registry.GameRegistry;
                                    
                                    public class SarbacaneItem extends Item
                                    {
                                    
                                    @SideOnly(Side.CLIENT)
                                    private IIcon[] iconArray;
                                    private static final String __OBFID = "CL_00001777";
                                    
                                    public SarbacaneItem()
                                    {
                                    this.maxStackSize = 1;
                                    this.setMaxDamage(0);
                                    this.setCreativeTab(CreativeTabs.tabCombat);
                                    }
                                    
                                    /**
                                    * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount
                                    */
                                    public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)
                                    {
                                    int j = this.getMaxItemUseDuration(par1ItemStack) - par4;
                                    
                                    ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j);
                                    MinecraftForge.EVENT_BUS.post(event);
                                    if (event.isCanceled())
                                    {
                                    return;
                                    }
                                    j = event.charge;
                                    
                                    boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
                                    
                                    if (flag || par3EntityPlayer.inventory.hasItem(ModMinecraft.itemFlechette))
                                    {
                                    float f = (float)j / 20.0F;
                                    f = (f * f + f * 2.0F) / 3.0F;
                                    
                                    if ((double)f < 0.1D)
                                    {
                                    return;
                                    }
                                    
                                    if (f > 1.0F)
                                    {
                                    f = 1.0F;
                                    }
                                    
                                    EntityFlechette entityflechette= new EntityFlechette(par2World, par3EntityPlayer, f * 2.0F);
                                    
                                    if (f == 1.0F)
                                    {
                                    entityflechette.setIsCritical(true);
                                    }
                                    
                                    par1ItemStack.damageItem(1, par3EntityPlayer);
                                    par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
                                    
                                    if (flag)
                                    {
                                    entityflechette.canBePickedUp = 2;
                                    }
                                    else
                                    {
                                    par3EntityPlayer.inventory.consumeInventoryItem(ModMinecraft.itemFlechette);
                                    }
                                    
                                    if (!par2World.isRemote)
                                    {
                                    par2World.spawnEntityInWorld(entityflechette);
                                    }
                                    }
                                    }
                                    
                                    public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
                                    {
                                    return par1ItemStack;
                                    }
                                    
                                    /**
                                    * How long it takes to use or consume an item
                                    */
                                    public int getMaxItemUseDuration(ItemStack par1ItemStack)
                                    {
                                    return 72000;
                                    }
                                    
                                    /**
                                    * returns the action that specifies what animation to play when the items is being used
                                    */
                                    public EnumAction getItemUseAction(ItemStack par1ItemStack)
                                    {
                                    return EnumAction.bow;
                                    }
                                    
                                    /**
                                    * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
                                    */
                                    public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
                                    {
                                    ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack);
                                    MinecraftForge.EVENT_BUS.post(event);
                                    if (event.isCanceled())
                                    {
                                    return event.result;
                                    }
                                    
                                    if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(ModMinecraft.itemFlechette))
                                    {
                                    par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
                                    }
                                    
                                    return par1ItemStack;
                                    }
                                    
                                    /**
                                    * Return the enchantability factor of the item, most of the time is based on material.
                                    */
                                    
                                    @SideOnly(Side.CLIENT)
                                    public void registerIcons(IIconRegister iconregister)
                                    {
                                    this.itemIcon = iconregister.registerIcon(ModMinecraft.MODID + ":itemSarbacane");
                                    }
                                    
                                    /**
                                    * used to cycle through icons based on their used duration, i.e. for the bow
                                    */
                                    @SideOnly(Side.CLIENT)
                                    public IIcon getItemIconForUseDuration(int par1)
                                    {
                                    return this.iconArray[par1];
                                    }
                                    
                                    }
                                    
                                    

                                    La classe de l’entity Flechette

                                    package mod.common;
                                    
                                    import cpw.mods.fml.relauncher.Side;
                                    import cpw.mods.fml.relauncher.SideOnly;
                                    
                                    import java.util.List;
                                    
                                    import net.minecraft.block.Block;
                                    import net.minecraft.block.material.Material;
                                    import net.minecraft.enchantment.EnchantmentHelper;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.EntityLivingBase;
                                    import net.minecraft.entity.IProjectile;
                                    import net.minecraft.entity.monster.EntityEnderman;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.entity.player.EntityPlayerMP;
                                    import net.minecraft.entity.projectile.EntityThrowable;
                                    import net.minecraft.init.Items;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.nbt.NBTTagCompound;
                                    import net.minecraft.network.play.server.S2BPacketChangeGameState;
                                    import net.minecraft.potion.Potion;
                                    import net.minecraft.potion.PotionEffect;
                                    import net.minecraft.util.AxisAlignedBB;
                                    import net.minecraft.util.DamageSource;
                                    import net.minecraft.util.EntityDamageSourceIndirect;
                                    import net.minecraft.util.MathHelper;
                                    import net.minecraft.util.MovingObjectPosition;
                                    import net.minecraft.util.Vec3;
                                    import net.minecraft.world.World;
                                    import cpw.mods.fml.common.Mod;
                                    import cpw.mods.fml.common.Mod.EventHandler;
                                    import cpw.mods.fml.common.Mod.Instance;
                                    import cpw.mods.fml.common.SidedProxy;
                                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                                    import cpw.mods.fml.common.registry.GameRegistry;
                                    
                                    public class EntityFlechette extends Entity implements IProjectile
                                    {
                                    private int field_145791_d = -1;
                                    private int field_145792_e = -1;
                                    private int field_145789_f = -1;
                                    private Block field_145790_g;
                                    private int inData;
                                    private boolean inGround;
                                    /** 1 if the player can pick up the arrow */
                                    public int canBePickedUp;
                                    /** Seems to be some sort of timer for animating an arrow. */
                                    public int arrowShake;
                                    /** The owner of this arrow. */
                                    public Entity shootingEntity;
                                    private int ticksInGround;
                                    private int ticksInAir;
                                    private double damage = 2.0D;
                                    /** The amount of knockback an arrow applies when it hits a mob. */
                                    private int knockbackStrength;
                                    private static final String __OBFID = "CL_00001715";
                                    
                                    public EntityFlechette(World par1World)
                                    {
                                    super(par1World);
                                    this.renderDistanceWeight = 10.0D;
                                    this.setSize(0.5F, 0.5F);
                                    }
                                    
                                    public EntityFlechette(World par1World, double par2, double par4, double par6)
                                    {
                                    super(par1World);
                                    this.renderDistanceWeight = 10.0D;
                                    this.setSize(0.5F, 0.5F);
                                    this.setPosition(par2, par4, par6);
                                    this.yOffset = 0.0F;
                                    }
                                    
                                    public EntityFlechette (World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5)
                                    {
                                    super(par1World);
                                    this.renderDistanceWeight = 10.0D;
                                    this.shootingEntity = par2EntityLivingBase;
                                    
                                    if (par2EntityLivingBase instanceof EntityPlayer)
                                    {
                                    this.canBePickedUp = 1;
                                    }
                                    
                                    this.posY = par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D;
                                    double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX;
                                    double d1 = par3EntityLivingBase.boundingBox.minY + (double)(par3EntityLivingBase.height / 3.0F) - this.posY;
                                    double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ;
                                    double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2);
                                    
                                    if (d3 >= 1.0E-7D)
                                    {
                                    float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F;
                                    float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI));
                                    double d4 = d0 / d3;
                                    double d5 = d2 / d3;
                                    this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3);
                                    this.yOffset = 0.0F;
                                    float f4 = (float)d3 * 0.2F;
                                    this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5);
                                    }
                                    }
                                    
                                    public EntityFlechette(World par1World, EntityLivingBase par2EntityLivingBase, float par3)
                                    {
                                    super(par1World);
                                    this.renderDistanceWeight = 10.0D;
                                    this.shootingEntity = par2EntityLivingBase;
                                    
                                    if (par2EntityLivingBase instanceof EntityPlayer)
                                    {
                                    this.canBePickedUp = 1;
                                    }
                                    
                                    this.setSize(0.5F, 0.5F);
                                    this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch);
                                    this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
                                    this.posY -= 0.10000000149011612D;
                                    this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
                                    this.setPosition(this.posX, this.posY, this.posZ);
                                    this.yOffset = 0.0F;
                                    this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
                                    this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI));
                                    this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI));
                                    this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F);
                                    }
                                    
                                    protected void entityInit()
                                    {
                                    this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
                                    }
                                    
                                    /**
                                    * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
                                    */
                                    public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8)
                                    {
                                    float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5);
                                    par1 /= (double)f2;
                                    par3 /= (double)f2;
                                    par5 /= (double)f2;
                                    par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
                                    par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
                                    par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8;
                                    par1 *= (double)par7;
                                    par3 *= (double)par7;
                                    par5 *= (double)par7;
                                    this.motionX = par1;
                                    this.motionY = par3;
                                    this.motionZ = par5;
                                    float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
                                    this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
                                    this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI);
                                    this.ticksInGround = 0;
                                    }
                                    
                                    /**
                                    * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX,
                                    * posY, posZ, yaw, pitch
                                    */
                                    @SideOnly(Side.CLIENT)
                                    public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9)
                                    {
                                    this.setPosition(par1, par3, par5);
                                    this.setRotation(par7, par8);
                                    }
                                    
                                    /**
                                    * Sets the velocity to the args. Args: x, y, z
                                    */
                                    @SideOnly(Side.CLIENT)
                                    public void setVelocity(double par1, double par3, double par5)
                                    {
                                    this.motionX = par1;
                                    this.motionY = par3;
                                    this.motionZ = par5;
                                    
                                    if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
                                    {
                                    float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5);
                                    this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI);
                                    this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI);
                                    this.prevRotationPitch = this.rotationPitch;
                                    this.prevRotationYaw = this.rotationYaw;
                                    this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                                    this.ticksInGround = 0;
                                    }
                                    }
                                    
                                    /**
                                    * Called to update the entity's position/logic.
                                    */
                                    public void onUpdate()
                                    {
                                    super.onUpdate();
                                    
                                    if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
                                    {
                                    float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
                                    this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
                                    this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI);
                                    }
                                    
                                    Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);
                                    
                                    if (block.getMaterial() != Material.air)
                                    {
                                    block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
                                    AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
                                    
                                    if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ)))
                                    {
                                    this.inGround = true;
                                    }
                                    }
                                    
                                    if (this.arrowShake > 0)
                                    {
                                    –this.arrowShake;
                                    }
                                    
                                    if (this.inGround)
                                    {
                                    int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
                                    
                                    if (block == this.field_145790_g && j == this.inData)
                                    {
                                    ++this.ticksInGround;
                                    
                                    if (this.ticksInGround == 1200)
                                    {
                                    this.setDead();
                                    }
                                    }
                                    else
                                    {
                                    this.inGround = false;
                                    this.motionX *= (double)(this.rand.nextFloat() * 0.2F);
                                    this.motionY *= (double)(this.rand.nextFloat() * 0.2F);
                                    this.motionZ *= (double)(this.rand.nextFloat() * 0.2F);
                                    this.ticksInGround = 0;
                                    this.ticksInAir = 0;
                                    }
                                    }
                                    else
                                    {
                                    ++this.ticksInAir;
                                    Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
                                    Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
                                    MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
                                    vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ);
                                    vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
                                    
                                    if (movingobjectposition != null)
                                    {
                                    vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
                                    }
                                    
                                    Entity entity = null;
                                    List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
                                    double d0 = 0.0D;
                                    int i;
                                    float f1;
                                    
                                    for (i = 0; i < list.size(); ++i)
                                    {
                                    Entity entity1 = (Entity)list.get(i);
                                    
                                    if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5))
                                    {
                                    f1 = 0.3F;
                                    AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1);
                                    MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);
                                    
                                    if (movingobjectposition1 != null)
                                    {
                                    double d1 = vec31.distanceTo(movingobjectposition1.hitVec);
                                    
                                    if (d1 < d0 || d0 == 0.0D)
                                    {
                                    entity = entity1;
                                    d0 = d1;
                                    }
                                    }
                                    }
                                    }
                                    
                                    if (entity != null)
                                    {
                                    movingobjectposition = new MovingObjectPosition(entity);
                                    }
                                    
                                    if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer)
                                    {
                                    EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit;
                                    
                                    if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer))
                                    {
                                    movingobjectposition = null;
                                    }
                                    }
                                    
                                    float f2;
                                    float f4;
                                    
                                    if (movingobjectposition != null)
                                    {
                                    if (movingobjectposition.entityHit != null)
                                    {
                                    f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
                                    int k = MathHelper.ceiling_double_int((double)f2 * this.damage);
                                    
                                    if (this.getIsCritical())
                                    {
                                    k += this.rand.nextInt(k / 2 + 2);
                                    }
                                    
                                    if(movingobjectposition.entityHit instanceof EntityLivingBase)
                                    {
                                    ((EntityLivingBase) movingobjectposition.entityHit).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200, 99999999));
                                    }
                                    }
                                    else
                                    {
                                    this.field_145791_d = movingobjectposition.blockX;
                                    this.field_145792_e = movingobjectposition.blockY;
                                    this.field_145789_f = movingobjectposition.blockZ;
                                    this.field_145790_g = block;
                                    this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
                                    this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX));
                                    this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY));
                                    this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ));
                                    f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
                                    this.posX -= this.motionX / (double)f2 * 0.05000000074505806D;
                                    this.posY -= this.motionY / (double)f2 * 0.05000000074505806D;
                                    this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D;
                                    this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
                                    this.inGround = true;
                                    this.arrowShake = 7;
                                    this.setIsCritical(false);
                                    
                                    if (this.field_145790_g.getMaterial() != Material.air)
                                    {
                                    this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this);
                                    }
                                    }
                                    }
                                    if (this.getIsCritical())
                                    {
                                    for (i = 0; i < 4; ++i)
                                    {
                                    this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)i / 4.0D, this.posY + this.motionY * (double)i / 4.0D, this.posZ + this.motionZ * (double)i / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ);
                                    }
                                    }
                                    
                                    this.posX += this.motionX;
                                    this.posY += this.motionY;
                                    this.posZ += this.motionZ;
                                    f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
                                    this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
                                    
                                    for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
                                    {
                                    ;
                                    }
                                    
                                    while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
                                    {
                                    this.prevRotationPitch += 360.0F;
                                    }
                                    
                                    while (this.rotationYaw - this.prevRotationYaw < -180.0F)
                                    {
                                    this.prevRotationYaw -= 360.0F;
                                    }
                                    
                                    while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
                                    {
                                    this.prevRotationYaw += 360.0F;
                                    }
                                    
                                    this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
                                    this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
                                    float f3 = 0.99F;
                                    f1 = 0.05F;
                                    
                                    if (this.isInWater())
                                    {
                                    for (int l = 0; l < 4; ++l)
                                    {
                                    f4 = 0.25F;
                                    this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ);
                                    }
                                    
                                    f3 = 0.8F;
                                    }
                                    
                                    if (this.isWet())
                                    {
                                    this.extinguish();
                                    }
                                    
                                    this.motionX *= (double)f3;
                                    this.motionY *= (double)f3;
                                    this.motionZ *= (double)f3;
                                    this.motionY -= (double)f1;
                                    this.setPosition(this.posX, this.posY, this.posZ);
                                    this.func_145775_I();
                                    }
                                    }
                                    
                                    /**
                                    * (abstract) Protected helper method to write subclass entity data to NBT.
                                    */
                                    public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
                                    {
                                    par1NBTTagCompound.setShort("xTile", (short)this.field_145791_d);
                                    par1NBTTagCompound.setShort("yTile", (short)this.field_145792_e);
                                    par1NBTTagCompound.setShort("zTile", (short)this.field_145789_f);
                                    par1NBTTagCompound.setShort("life", (short)this.ticksInGround);
                                    par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g));
                                    par1NBTTagCompound.setByte("inData", (byte)this.inData);
                                    par1NBTTagCompound.setByte("shake", (byte)this.arrowShake);
                                    par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0));
                                    par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp);
                                    par1NBTTagCompound.setDouble("damage", this.damage);
                                    }
                                    
                                    /**
                                    * (abstract) Protected helper method to read subclass entity data from NBT.
                                    */
                                    public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
                                    {
                                    this.field_145791_d = par1NBTTagCompound.getShort("xTile");
                                    this.field_145792_e = par1NBTTagCompound.getShort("yTile");
                                    this.field_145789_f = par1NBTTagCompound.getShort("zTile");
                                    this.ticksInGround = par1NBTTagCompound.getShort("life");
                                    this.field_145790_g = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255);
                                    this.inData = par1NBTTagCompound.getByte("inData") & 255;
                                    this.arrowShake = par1NBTTagCompound.getByte("shake") & 255;
                                    this.inGround = par1NBTTagCompound.getByte("inGround") == 1;
                                    
                                    if (par1NBTTagCompound.hasKey("damage", 99))
                                    {
                                    this.damage = par1NBTTagCompound.getDouble("damage");
                                    }
                                    
                                    if (par1NBTTagCompound.hasKey("pickup", 99))
                                    {
                                    this.canBePickedUp = par1NBTTagCompound.getByte("pickup");
                                    }
                                    else if (par1NBTTagCompound.hasKey("player", 99))
                                    {
                                    this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0;
                                    }
                                    }
                                    
                                    /**
                                    * Called by a player entity when they collide with an entity
                                    */
                                    public void onCollideWithPlayer(EntityPlayer par1EntityPlayer)
                                    {
                                    if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
                                    {
                                    boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode;
                                    
                                    if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ModMinecraft.itemFlechette, 1)))
                                    {
                                    flag = false;
                                    }
                                    
                                    if (flag)
                                    {
                                    this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
                                    par1EntityPlayer.onItemPickup(this, 1);
                                    this.setDead();
                                    }
                                    }
                                    }
                                    
                                    /**
                                    * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
                                    * prevent them from trampling crops
                                    */
                                    protected boolean canTriggerWalking()
                                    {
                                    return false;
                                    }
                                    
                                    @SideOnly(Side.CLIENT)
                                    public float getShadowSize()
                                    {
                                    return 0.0F;
                                    }
                                    
                                    public void setDamage(double par1)
                                    {
                                    this.damage = par1;
                                    }
                                    
                                    public double getDamage()
                                    {
                                    return this.damage;
                                    }
                                    
                                    /**
                                    * Whether the arrow has a stream of critical hit particles flying behind it.
                                    */
                                    public void setIsCritical(boolean par1)
                                    {
                                    byte b0 = this.dataWatcher.getWatchableObjectByte(16);
                                    
                                    if (par1)
                                    {
                                    this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1)));
                                    }
                                    else
                                    {
                                    this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2)));
                                    }
                                    }
                                    
                                    /**
                                    * Whether the arrow has a stream of critical hit particles flying behind it.
                                    */
                                    public boolean getIsCritical()
                                    {
                                    byte b0 = this.dataWatcher.getWatchableObjectByte(16);
                                    return (b0 & 1) != 0;
                                    }
                                    
                                    public class EntitySlowingArrow extends EntityThrowable
                                    {
                                    public EntitySlowingArrow(World world)
                                    {
                                    super(world);
                                    }
                                    
                                    protected void onImpact(MovingObjectPosition mop)
                                    {
                                    Entity e = mop.entityHit;
                                    if (e != null && e instanceof EntityLivingBase)
                                    {
                                    ((EntityLivingBase) e).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 67, 1200));
                                    }
                                    }
                                    }
                                    
                                    }
                                    
                                    

                                    Le render de la flechette

                                    package mod.common;
                                    import cpw.mods.fml.relauncher.Side;
                                    import cpw.mods.fml.relauncher.SideOnly;
                                    import net.minecraft.client.renderer.Tessellator;
                                    import net.minecraft.client.renderer.entity.Render;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.projectile.EntityArrow;
                                    import net.minecraft.util.MathHelper;
                                    import net.minecraft.util.ResourceLocation;
                                    
                                    import org.lwjgl.opengl.GL11;
                                    import org.lwjgl.opengl.GL12;
                                    
                                    @SideOnly(Side.CLIENT)
                                    
                                    public class RenderFlechette extends Render
                                    
                                    {
                                    
                                    public final ResourceLocation FlechetteTextures = new ResourceLocation(ModMinecraft.MODID, "textures/entity/itemFlechette.png");
                                    
                                    protected ResourceLocation getEntityTexture(EntityFlechette par1EntityFlechette)
                                    {
                                    return this.FlechetteTextures ;
                                    }
                                    /**
                                    * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                                    */
                                    private ResourceLocation getEntityFlechettesTexture(EntityFlechette RenderFlechetteun)
                                    {
                                    return FlechetteTextures;
                                    }
                                    
                                    /**
                                    * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
                                    * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
                                    * (Render <t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
                                    */
                                    public void doRender(EntityFlechette par1EntityFlechette, double par2, double par4, double par6, float par8, float par9)
                                    {
                                    this.bindEntityTexture(par1EntityFlechette);
                                    GL11.glPushMatrix();
                                    GL11.glTranslatef((float)par2, (float)par4, (float)par6);
                                    GL11.glRotatef(par1EntityFlechette.prevRotationYaw + (par1EntityFlechette.rotationYaw - par1EntityFlechette.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F);
                                    GL11.glRotatef(par1EntityFlechette.prevRotationPitch + (par1EntityFlechette.rotationPitch - par1EntityFlechette.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F);
                                    Tessellator tessellator = Tessellator.instance;
                                    byte b0 = 0;
                                    float f2 = 0.0F;
                                    float f3 = 0.5F;
                                    float f4 = (float)(0 + b0 * 10) / 32.0F;
                                    float f5 = (float)(5 + b0 * 10) / 32.0F;
                                    float f6 = 0.0F;
                                    float f7 = 0.15625F;
                                    float f8 = (float)(5 + b0 * 10) / 32.0F;
                                    float f9 = (float)(10 + b0 * 10) / 32.0F;
                                    float f10 = 0.05625F;
                                    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                                    
                                    GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
                                    GL11.glScalef(f10, f10, f10);
                                    GL11.glTranslatef(-4.0F, 0.0F, 0.0F);
                                    GL11.glNormal3f(f10, 0.0F, 0.0F);
                                    tessellator.startDrawingQuads();
                                    tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8);
                                    tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8);
                                    tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9);
                                    tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9);
                                    tessellator.draw();
                                    GL11.glNormal3f(-f10, 0.0F, 0.0F);
                                    tessellator.startDrawingQuads();
                                    tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8);
                                    tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8);
                                    tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9);
                                    tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9);
                                    tessellator.draw();
                                    
                                    for (int i = 0; i < 4; ++i)
                                    {
                                    GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
                                    GL11.glNormal3f(0.0F, 0.0F, f10);
                                    tessellator.startDrawingQuads();
                                    tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4);
                                    tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4);
                                    tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5);
                                    tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5);
                                    tessellator.draw();
                                    }
                                    
                                    GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                                    GL11.glPopMatrix();
                                    }
                                    
                                    /**
                                    * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                                    */
                                    
                                    /**
                                    * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
                                    * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
                                    * (Render <t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">* double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
                                    */
                                    public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
                                    {
                                    this.doRender((EntityFlechette)par1Entity, par2, par4, par6, par8, par9);
                                    }
                                    @Override
                                    protected ResourceLocation getEntityTexture(Entity var1)
                                    {
                                    // TODO Auto-generated method stub
                                    return null;
                                    }
                                    
                                    }
                                    
                                    

                                    Le client proxy ```
                                    package mod.proxy;

                                    import mod.common.EntityFlechette;
                                    import mod.common.RenderFlechette;
                                    import cpw.mods.fml.client.registry.RenderingRegistry;

                                    public class ClientProxy extends CommonProxy
                                    {

                                    @Override
                                    public void registerRender()
                                    {
                                    System.out.println(“render”);

                                    RenderingRegistry.registerEntityRenderingHandler(EntityFlechette.class, new RenderFlechette());
                                    }

                                    }

                                    Oui ce gif est drôle.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002R Hors-ligne
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                      dernière édition par

                                      Renvoie quand même le crash actuelle, car tu as bougé certains trucs dans le code.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • FlowF Hors-ligne
                                        Flow
                                        dernière édition par

                                        Le voici le voila 🙂

                                        –-- Minecraft Crash Report ----
                                        // Shall we play a game?
                                        
                                        Time: 13/07/14 23:02
                                        Description: Registering texture
                                        
                                        java.lang.NullPointerException: Registering texture
                                        at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                                        at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
                                        at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                                        at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                                        at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                                        at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                                        at mod.common.RenderFlechette.doRender(RenderFlechette.java:44)
                                        at mod.common.RenderFlechette.doRender(RenderFlechette.java:110)
                                        at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                                        at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                                        at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                                        at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                                        at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)
                                        at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1095)
                                        at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1024)
                                        at net.minecraft.client.Minecraft.run(Minecraft.java:912)
                                        at net.minecraft.client.main.Main.main(Main.java:112)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                        at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                        
                                        A detailed walkthrough of the error, its code path and all known details is as follows:
                                        ---------------------------------------------------------------------------------------
                                        
                                        -- Head --
                                        Stacktrace:
                                        at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                                        at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
                                        
                                        -- Resource location being registered --
                                        Details:
                                        Resource location: ~~NULL~~
                                        Texture object class: net.minecraft.client.renderer.texture.SimpleTexture
                                        Stacktrace:
                                        at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
                                        at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
                                        at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:62)
                                        at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:57)
                                        at mod.common.RenderFlechette.doRender(RenderFlechette.java:44)
                                        at mod.common.RenderFlechette.doRender(RenderFlechette.java:110)
                                        
                                        -- Entity being rendered --
                                        Details:
                                        Entity Type: RenderFlechetteun (mod.common.EntityFlechette)
                                        Entity ID: 246
                                        Entity Name: entity.RenderFlechetteun.name
                                        Entity's Exact location: 417,98, 70,05, -11,59
                                        Entity's Block location: World: (417,70,-12), Chunk: (at 1,4,4 in 26,-1; contains blocks 416,0,-16 to 431,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
                                        Entity's Momentum: 0,00, -0,09, 0,00
                                        
                                        -- Renderer details --
                                        Details:
                                        Assigned renderer: mod.common.RenderFlechette@27c9500c
                                        Location: 4,25,-1,57,8,45 - World: (4,-2,8), Chunk: (at 4,-1,8 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
                                        Rotation: 42.006824
                                        Delta: 0.77625656
                                        Stacktrace:
                                        at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
                                        at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
                                        at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
                                        at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:532)
                                        at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1298)
                                        
                                        -- Affected level --
                                        Details:
                                        Level name: MpServer
                                        All players: 1 total; [EntityClientPlayerMP['Player468'/348, l='MpServer', x=413,73, y=71,62, z=-20,04]]
                                        Chunk stats: MultiplayerChunkCache: 70, 70
                                        Level seed: 0
                                        Level generator: ID 00 - default, ver 1\. Features enabled: false
                                        Level generator options:
                                        Level spawn location: World: (409,64,-37), Chunk: (at 9,4,11 in 25,-3; contains blocks 400,0,-48 to 415,255,-33), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
                                        Level time: 316 game time, 316 day time
                                        Level dimension: 0
                                        Level storage version: 0x00000 - Unknown?
                                        Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
                                        Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
                                        Forced entities: 94 total; [EntityBat['Bat'/259, l='MpServer', x=433,08, y=27,83, z=-50,02], EntityHorse['Horse'/260, l='MpServer', x=436,28, y=72,00, z=-55,56], EntityHorse['Horse'/261, l='MpServer', x=438,50, y=71,00, z=-54,25], EntityBat['Bat'/133, l='MpServer', x=383,88, y=13,89, z=-73,24], EntitySquid['Squid'/134, l='MpServer', x=383,94, y=55,00, z=-53,56], EntityHorse['Horse'/262, l='MpServer', x=438,00, y=72,00, z=-51,13], EntitySquid['Squid'/135, l='MpServer', x=379,16, y=61,34, z=-54,31], EntityHorse['Horse'/263, l='MpServer', x=434,34, y=72,00, z=-53,72], EntitySquid['Squid'/136, l='MpServer', x=379,66, y=55,84, z=-53,63], EntityHorse['Horse'/264, l='MpServer', x=436,88, y=72,00, z=-53,34], EntityBat['Bat'/265, l='MpServer', x=437,50, y=26,92, z=-29,52], EntitySquid['Squid'/137, l='MpServer', x=369,14, y=58,78, z=-56,90], EntityItem['item.item.seeds'/266, l='MpServer', x=434,09, y=71,13, z=-31,94], EntitySquid['Squid'/138, l='MpServer', x=368,47, y=58,31, z=-46,97], EntitySquid['Squid'/139, l='MpServer', x=369,22, y=59,97, z=-39,19], EntityZombie['Zombie'/267, l='MpServer', x=445,78, y=21,00, z=32,09], EntitySquid['Squid'/140, l='MpServer', x=372,44, y=62,41, z=-46,71], EntitySquid['Squid'/141, l='MpServer', x=368,78, y=61,31, z=-39,31], EntitySquid['Squid'/142, l='MpServer', x=370,81, y=61,38, z=-26,50], EntityBat['Bat'/143, l='MpServer', x=382,00, y=22,00, z=15,75], EntityCreeper['Creeper'/144, l='MpServer', x=383,50, y=28,00, z=31,50], EntitySpider['Spider'/273, l='MpServer', x=448,63, y=20,00, z=29,22], EntitySkeleton['Skeleton'/145, l='MpServer', x=382,50, y=25,00, z=17,50], EntityCreeper['Creeper'/146, l='MpServer', x=373,44, y=38,00, z=19,00], EntityCreeper['Creeper'/278, l='MpServer', x=471,66, y=15,00, z=-5,34], EntityZombie['Zombie'/279, l='MpServer', x=472,59, y=15,00, z=-5,53], EntityCreeper['Creeper'/280, l='MpServer', x=476,50, y=17,00, z=-4,50], EntityCreeper['Creeper'/281, l='MpServer', x=479,53, y=17,00, z=-2,47], EntityCreeper['Creeper'/282, l='MpServer', x=473,50, y=22,00, z=32,50], EntitySpider['Spider'/162, l='MpServer', x=394,91, y=26,00, z=-51,56], EntitySkeleton['Skeleton'/163, l='MpServer', x=397,63, y=18,00, z=-58,09], EntitySquid['Squid'/164, l='MpServer', x=386,38, y=61,19, z=-52,78], EntityZombie['Zombie'/165, l='MpServer', x=386,50, y=14,00, z=-33,50], EntityItem['item.tile.mushroom'/166, l='MpServer', x=389,88, y=16,13, z=-4,88], EntitySkeleton['Skeleton'/167, l='MpServer', x=390,70, y=16,24, z=-2,70], EntityBat['Bat'/168, l='MpServer', x=392,56, y=31,25, z=-13,38], EntityZombie['Zombie'/169, l='MpServer', x=386,50, y=17,00, z=-1,50], EntitySkeleton['Skeleton'/170, l='MpServer', x=395,50, y=41,00, z=-6,50], EntitySkeleton['Skeleton'/171, l='MpServer', x=389,94, y=20,00, z=26,50], EntityEnderman['Enderman'/172, l='MpServer', x=392,06, y=35,00, z=40,44], EntitySkeleton['Skeleton'/173, l='MpServer', x=400,00, y=32,00, z=36,66], EntitySpider['Spider'/174, l='MpServer', x=389,28, y=35,00, z=36,44], EntityBat['Bat'/175, l='MpServer', x=400,05, y=34,58, z=33,62], EntitySquid['Squid'/190, l='MpServer', x=411,34, y=45,81, z=-79,24], EntitySquid['Squid'/191, l='MpServer', x=410,44, y=45,84, z=-77,25], EntitySquid['Squid'/192, l='MpServer', x=404,09, y=46,38, z=-77,91], EntityCreeper['Creeper'/193, l='MpServer', x=414,50, y=30,00, z=-55,50], EntityZombie['Zombie'/194, l='MpServer', x=402,67, y=14,36, z=-18,92], EntityCreeper['Creeper'/195, l='MpServer', x=411,69, y=15,00, z=-16,31], EntityCreeper['Creeper'/196, l='MpServer', x=413,63, y=28,00, z=-16,25], EntitySkeleton['Skeleton'/197, l='MpServer', x=415,50, y=42,00, z=-16,50], EntityBat['Bat'/198, l='MpServer', x=409,49, y=35,89, z=-20,21], EntitySkeleton['Skeleton'/199, l='MpServer', x=411,50, y=14,00, z=30,50], EntityBat['Bat'/200, l='MpServer', x=414,83, y=14,89, z=18,95], EntityCreeper['Creeper'/201, l='MpServer', x=405,50, y=22,00, z=23,50], EntitySquid['Squid'/73, l='MpServer', x=364,19, y=61,00, z=-53,53], EntityCreeper['Creeper'/202, l='MpServer', x=407,13, y=22,00, z=26,44], EntitySquid['Squid'/74, l='MpServer', x=366,61, y=58,04, z=-58,69], EntityBat['Bat'/203, l='MpServer', x=414,46, y=15,60, z=22,70], EntitySquid['Squid'/75, l='MpServer', x=363,38, y=62,34, z=-49,50], EntitySquid['Squid'/76, l='MpServer', x=365,31, y=61,28, z=-54,47], EntitySkeleton['Skeleton'/204, l='MpServer', x=411,50, y=11,55, z=41,31], EntitySquid['Squid'/77, l='MpServer', x=366,41, y=60,02, z=-53,41], EntityCreeper['Creeper'/205, l='MpServer', x=414,97, y=14,00, z=46,34], EntitySquid['Squid'/78, l='MpServer', x=368,46, y=59,82, z=-46,27], EntityEnderman['Enderman'/206, l='MpServer', x=403,50, y=26,00, z=46,34], EntitySquid['Squid'/79, l='MpServer', x=355,00, y=59,95, z=-29,47], EntityEnderman['Enderman'/207, l='MpServer', x=410,11, y=25,00, z=44,76], EntitySquid['Squid'/80, l='MpServer', x=355,62, y=59,74, z=-22,09], EntityCreeper['Creeper'/208, l='MpServer', x=404,38, y=28,00, z=35,00], EntitySquid['Squid'/81, l='MpServer', x=364,98, y=61,24, z=-20,39], EntityBat['Bat'/209, l='MpServer', x=405,06, y=27,14, z=40,44], EntitySquid['Squid'/82, l='MpServer', x=352,25, y=58,38, z=-23,94], EntitySquid['Squid'/83, l='MpServer', x=359,90, y=60,30, z=-30,55], EntitySquid['Squid'/84, l='MpServer', x=362,94, y=61,25, z=-31,72], EntityClientPlayerMP['Player468'/348, l='MpServer', x=413,73, y=71,62, z=-20,04], EntityHorse['Horse'/233, l='MpServer', x=419,97, y=70,00, z=-67,35], EntityHorse['Horse'/234, l='MpServer', x=426,59, y=71,00, z=-65,84], EntityZombie['Zombie'/235, l='MpServer', x=431,56, y=26,00, z=-49,74], EntityHorse['Horse'/236, l='MpServer', x=424,78, y=71,00, z=-63,22], EntityHorse['Horse'/237, l='MpServer', x=424,78, y=72,00, z=-60,22], EntityHorse['Horse'/238, l='MpServer', x=430,78, y=72,00, z=-49,22], EntityHorse['Horse'/239, l='MpServer', x=423,03, y=71,00, z=-62,75], EntityHorse['Horse'/240, l='MpServer', x=426,28, y=71,00, z=-62,75], EntitySpider['Spider'/241, l='MpServer', x=424,59, y=20,00, z=-34,19], EntitySkeleton['Skeleton'/242, l='MpServer', x=421,88, y=21,00, z=-35,50], EntityEnderman['Enderman'/243, l='MpServer', x=420,50, y=42,00, z=-33,50], EntityBat['Bat'/244, l='MpServer', x=415,44, y=17,76, z=-20,88], EntityFlechette['entity.RenderFlechetteun.name'/245, l='MpServer', x=419,53, y=71,00, z=-10,81], EntityFlechette['entity.RenderFlechetteun.name'/246, l='MpServer', x=417,98, y=70,05, z=-11,59], EntityCreeper['Creeper'/247, l='MpServer', x=417,63, y=20,00, z=27,84], EntityCreeper['Creeper'/248, l='MpServer', x=417,38, y=20,00, z=28,69], EntitySkeleton['Skeleton'/249, l='MpServer', x=421,22, y=21,00, z=24,50], EntityCreeper['Creeper'/250, l='MpServer', x=416,69, y=13,00, z=45,66]]
                                        Retry entities: 0 total; []
                                        Server brand: fml,forge
                                        Server type: Integrated singleplayer server
                                        Stacktrace:
                                        at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:412)
                                        at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2523)
                                        at net.minecraft.client.Minecraft.run(Minecraft.java:934)
                                        at net.minecraft.client.main.Main.main(Main.java:112)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                        at java.lang.reflect.Method.invoke(Unknown Source)
                                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                                        at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                        
                                        – System Details --
                                        Details:
                                        Minecraft Version: 1.7.2
                                        Operating System: Windows 8.1 (amd64) version 6.3
                                        Java Version: 1.8.0_05, Oracle Corporation
                                        Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                        Memory: 825580592 bytes (787 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                                        JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                        AABB Pool Size: 17891 (1001896 bytes; 0 MB) allocated, 3629 (203224 bytes; 0 MB) used
                                        IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
                                        FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 4 mods loaded, 4 mods active
                                        mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                        FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                        Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                        modminecraft{1.0} [Mod Minecraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                                        Launched Version: 1.6
                                        LWJGL: 2.9.0
                                        OpenGL: GeForce GTX 650/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation
                                        Is Modded: Definitely; Client brand changed to 'fml,forge'
                                        Type: Client (map_client.txt)
                                        Resource Packs: []
                                        Current Language: ~~ERROR~~ NullPointerException: null
                                        Profiler Position: N/A (disabled)
                                        Vec3 Pool Size: 22530 (1261680 bytes; 1 MB) allocated, 7629 (427224 bytes; 0 MB) used
                                        Anisotropic Filtering: Off (1)
                                        

                                        Oui ce gif est drôle.

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002R Hors-ligne
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                          dernière édition par

                                          at mod.common.RenderFlechette.doRender(RenderFlechette.java:44)
                                          Tu peux envoyer la ligne 44 dans la classe RenderFlechette ?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • FlowF Hors-ligne
                                            Flow
                                            dernière édition par

                                            this.bindEntityTexture(par1EntityFlechette);

                                            Mais je viens de découvrir quelque chose vois tu ^^ Je viens de créer un nouveau mob avec model etc mais mtn quand je tire avec ma sarbacane c’est mon nouveau mob qui sort Oo Donc est-ce qu’il faut un model pour la flèche ? Aussi ma textures de mon mob que j’ai créer ne se load pas alors que j’ai bien mis sa

                                            @Override
                                            protected ResourceLocation getEntityTexture(Entity var1) {
                                            return new ResourceLocation(ModMinecraft.MODID + “textures/entity/frog.png”);
                                            }

                                            je pense que j’ai du oublier quelque chose pour ce qui est de mes flèches 😕

                                            Oui ce gif est drôle.

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB