14 mai 2021, 17:12

Re : Problème avec ma Dynamite [1.7.10]

Bonjour / Bonsoir,
j’ai un problème avec ma dynamite quand je la lance elle ne va pas a l’endroit ou j’ai visé elle explose je vous donne mon code pour que vous puisait m’aider Cordialement Skyrim

ItemDynamite :

package com.mod.azuriom.Dynamite;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntitySnowball;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
 
public class ItemDynamite extends Item
{
    public ItemDynamite()
    {
        this.setCreativeTab(CreativeTabs.tabMisc);
    }
    public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
    {
    	if (player.capabilities.isCreativeMode) 
    	{
    		setMaxStackSize(16);
    	}
    	
    	world.playSoundAtEntity(player, "random.bow", 0.5F, 0.8F / (itemRand.nextFloat() * 0.4F + 0.8F));
    	
    	if(!world.isRemote) 
    	{
    		world.spawnEntityInWorld(new EntityDynamite(world, player));
    		stack.stackSize--;
    	}
    	
    	return stack;
    }

}

EntityDynamite :

package com.mod.azuriom.Dynamite;

import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
 
public class EntityDynamite extends EntityThrowable implements IEntityAdditionalSpawnData
{
   private int fuseTime = 50;
 
   public EntityDynamite(World world)
   {
       super(world);
   }
 
   public EntityDynamite(World world, EntityLivingBase thrower)
   {
       super(world, thrower);
   }
 
   public EntityDynamite(World world, double x, double y, double z)
   {
       super(world, x, y, z);
   }
 
   protected void onImpact(MovingObjectPosition mop)
   {
       this.motionX = 0;
       this.motionY = 0;
       this.motionZ = 0;
       if (!this.worldObj.isRemote)
       {
 
       }
   }       
   @Override
   public void onUpdate()
   {
       super.onUpdate();
       if(this.fuseTime > 0)
       {
           this.fuseTime --;
       }
 
       else if(!this.worldObj.isRemote)
       {
           this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 3.0F, false, true);
           this.setDead();
       }
 
   }
 
   @Override
   public void writeSpawnData(ByteBuf buffer)
   {
       buffer.writeDouble(this.motionX);
   }
 
   @Override
   public void readSpawnData(ByteBuf additionalData)
   {
       this.motionX = additionalData.readDouble();
   }
}

RenderDynamite :

package com.mod.azuriom.Dynamite;

import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
 
public class RenderDynamite extends Render
{
    private Item dynamite;
    private int RenderDynamite;
    private static final String __OBFID = "CL_00001008";
    public static final int DEFAULT = 0;
 
    public RenderDynamite(Item dynamite, int RenderDynamite)
    {
        this.dynamite = dynamite;
        this.RenderDynamite = RenderDynamite;
    }
 
    public RenderDynamite(Item dynamite)
    {
        this(dynamite, 0);
    }
 
    @Override
    public void doRender(Entity dynamite, double x, double y, double z, float dynamite1, float RenderDynamite)
    {
        IIcon icon = this.dynamite.getIconFromDamage(this.RenderDynamite);
 
    }
 
    @Override
    protected ResourceLocation getEntityTexture(Entity dynamite)
    {
        // TODO Auto-generated method stub
        return null;
    }
}