OnItemRightClick sur une entity.
-
Ça devrait être bon, alors.
-
Non, ce ne sont que des event Forge.
Je vais regarder de mon côté. Il faut clear pour chaque item si tu ne veux que rien reste.
Et en effet scarex, mon code est perfectible (uuid et tableau comme tu as dit). Ce qu’il faudrait aussi faire c’est sauvegarder la HashMap dans la save au cas le joueur se déconnecte au lieu de respawn tout de suite et que le serveur est coupé entre temps. -
D’acc ^^ j’attend ton retour, merci à vous

-
Pourtant le package de PlayerRespawnEvent indique FML…
-
Ah oui autant pour moi. Je suis en 1.8.9 donc tout passe par l’event bus de Forge.
EDIT : ahhh c’est pour ça que ça ne fonctionne pas chez floriangabet.
Dans ta classe principale mets :EntityEvent entityEvent = new EntityEvent(); FMLCommonHandler.instance().bus().register(entityEvent ); MinecraftForge.EVENT_BUS.register(entityEvent);Sinon tu aura deux instances différentes de EntityEvent, donc deux maps différentes.
-
Je venais d’y penser…
Sinon, tu peux aussi mettre la variable static. -
Oui, ça fonctionne aussi.
Bon code modifier :private Map <uuid, itemstack[]="">itemsToKeep = new HashMap<uuid, itemstack[]="">(); @SubscribeEvent public void onDead(LivingDeathEvent event) { if(event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)event.entityLiving; ItemStack[] stackToKeep = new ItemStack[player.inventory.getSizeInventory()]; for(int i = 0; i < player.inventory.getSizeInventory(); i++) { ItemStack stack = player.inventory.getStackInSlot(i); if(stack != null) { if(stack.getItem() == Items.diamond_sword) { stackToKeep* = stack; } player.inventory.setInventorySlotContents(i, null); } } itemsToKeep.put(player.getGameProfile().getId(), stackToKeep); } } @SubscribeEvent public void onRespawn(PlayerRespawnEvent event) { if(itemsToKeep.containsKey(event.player.getGameProfile().getId())) { ItemStack[] stackToKeep = itemsToKeep.get(event.player.getGameProfile().getId()); for(int i = 0; i < event.player.inventory.getSizeInventory(); i++) { event.player.inventory.setInventorySlotContents(i, stackToKeep*); } itemsToKeep.remove(event.player.getGameProfile().getId()); } }UUID + tableau d’item stack.
Donc prend en charge plusieurs items. Et supprimes les autres items. J’ai mit une épée en diamant, c’était pour m’assurer que les enchantements étaient gardé y comprit le nom custom.</uuid,></uuid,> -
Wow magnifique merci !
-
Dernier petit soucis!
l’item que je met a la place de l’épée est un item GUI et lorsque je met un item dans l’item Gui et que je le referme l’item dedans disparaît ^^ . -
Tu fais un backpack qui reste sur le joueur même mort on dirait. C’est ça?

-
C’est un sac tu veux dire ? Car item gui ça ne veux rien dire …
Si oui ça vient de ton container (ou des nbt). -
C’est un backpack exactement %(#333333)[size=small][[color=#0072bc]☆Toutoune1008☆].
-
Bizarre le problème ne vient pas de ton code j’ai un problème avec mon countainer pourtant j’ai rien toucher .
-
OK problème résolu ! il me manquer une ligne je sais pas pourquoi ^^ merci à vous de votre aide
.