Event OnLivingDrops
-
Merci, mais ça n’a pas l’air de fonctionner, ou alors je m’y prend mal, j’ai essayer en mettant ceci:
if(event.entity instanceof EntityPig)
{
if(event.entity instanceof EntityPlayer)
{
if(event.entityLiving.getHeldItem().getItem() == Items.apple)
{
ItemStack itemStackToDropa2 = new ItemStack(Items.apple, rand.nextInt(2) + 1);
event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, itemStackToDropa2));
}
}
} -
essaye ca:
if(event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)event.source.getEntity(); if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == Items.diamond_sword && event.entity instanceof EntityPig) { EntityItem newdropMuttonRaw = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, new ItemStack(Items.apple, 1)); event.drops.add(newdropMuttonRaw); } } -
Merci ça marche!
Mais si je veux que l’action se déclenche quand le joueur n’as pas d’item dans la main (je met == null au getItem) le jeu crash quand je tue l’entitée… -
if(player.getCurrentEquippedItem().getItem() == null && event.entity instanceof EntityPig)
c’est normale que ca plante on verifie si c est pas null avant
if(player.getCurrentEquippedItem() != null)
-
Pour aucun item la bonne condition c’est player.getCurrentEquippedItem() == null.
-
ha oui désolé j’ai pas fait gaffe

-
Merci, problème réglé!
Dernière petite question, est-ce possible de placer un bloc quand l’entité est tuée? Je sais que c’est possible de placer pour les blocs mais pour les entités, je n’ai pas trouvé -
Oui. Il faut faire un world.setBlock, c’est la même chose.
-
essaye ca:
int x = (int) event.entity.posX; int y = (int) event.entity.posY; int z = (int) event.entity.posZ; event.entity.worldObj.setBlock(x, y, z, Blocks.anvil); -
J’utiliserai plutôt MathHelper.floor_double(event.entity.posX) au lieu de cast int.
-
@‘robin4002’:
J’utiliserai plutôt MathHelper.floor_double(event.entity.posX) au lieu de cast int.
je connaissait pas cette alternative ça change beaucoup du cast?
ou c est juste plus propre?edit: Désoler pour le Hors sujet
-
cast en int = arrondir pas défaut.
MathHelper.floor_double = méthode de Minecraft, arrondi par défaut si la partie non entière est < .5 et par accès si ≥ .5 -
Merci à vous deux! Je pense que je n’ai plus de questions à propos de ça alors je passe le sujet en résolu, encore merci
