J’ai réussi à réglé le souci des items fantômes, j’ai juste du remplacer la partie où je fais spawn un item par cette ligne :
worldIn.getBlockState(testPos).getBlock().dropBlockAsItem(worldIn, testPos, state, 0);
Voici la fonction modifiée :
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase playerIn)
{
if (worldIn.getBlockState(pos.up(7)).getBlock().isWood(worldIn, pos.up(7)))
{
if (playerIn instanceof EntityPlayer && !worldIn.isRemote)
{
}
return super.onBlockDestroyed(stack, worldIn, state, pos, playerIn);
}
for (int i = 0; i < 7; i++)
{
BlockPos testPos = pos.up(i);
if (worldIn.getBlockState(testPos).getBlock().isWood(worldIn, testPos))
{
stack.damageItem(1, playerIn);
if (!worldIn.isRemote && worldIn.getGameRules().getBoolean("doTileDrops"));
{
worldIn.getBlockState(testPos).getBlock().dropBlockAsItem(worldIn, testPos, state, 0);
}
worldIn.setBlockToAir(testPos);
}
else
{
return super.onBlockDestroyed(stack, worldIn, state, testPos, playerIn);
}
}
return super.onBlockDestroyed(stack, worldIn, state, pos, playerIn);
}
Merci de votre aide. Je passe le sujet en résolu. 🙂