22 oct. 2013, 08:41

Pour ton problème de clic gauche, voici (une partie de) la solution:

public boolean onEntitySwing(EntityLivingBase e, ItemStack s)
{
if(e instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer)e;
boolean flag = false;
if(player.capabilities.isCreativeMode)
{
flag = true;
}
else
{
flag = player.inventory.consumeInventoryItem(ModHL2.modInstance.magnumAmmo.itemID);
}
if(flag)
{
EntityBullet bullet = new EntityBullet(e.worldObj, e, false, "magnum", 15, 64);
if(!e.worldObj.isRemote)
e.worldObj.spawnEntityInWorld(bullet);
e.worldObj.playSoundAtEntity(e, "hl2:magnum_fire", 0.5f, 1);

}
else
e.worldObj.playSoundAtEntity(e, "hl2:weapon_empty", 0.5f, 1);
}
return true;
}

Cette méthode consiste ainsi:
Dès qu’une entitée “balance son bras” avec l’objet (clic gauche pour le joueur), on vérifie si c’est un joueur, si oui on tire, sinon, on fait rien 🙂 (et je te laisse les sons + vérification des munitions au cas où tu en aurais besoin)