Problème IGUIHandler
-
Je r’envois rien du tout j’ai juste le player.opengui et le if(!world.isremote) dans mon IMessage
-
Je voulais pas dire Renvoie, mais envoie le packet
-
Ah, bah je return message; donc je return sur mon Packet ou y’a le player.opengui
-
Ahhh bah dans mon keyinputevent dans mon client proxy je l’envois avec un sendtoserver
-
Vérifies que cette méthode ne soit pas rappeler quelle que part. Et vérifiés aussi que t’envoie pas ce packet dans ton Extended Properties
-
Ok, donc j’ai bien tout regardé mon packet n’est pas envoyer dans l’extended , et ma méthode est appeler que une fois.
Mon inventaire s’ouvre toujours pas. -
Help?.
-
Envoie ton code dans un zip, je regarderais avec une vue d’ensemble comme ça

-
D’accord

Tien: -
Je vais regarder ça^^
Mais c’est normal que quand j’ai cliqué, j’ai eu 2 téléchargements ??Alors, compte-rendu détaillé de ce que j’ai vu :
NBTTagCompound comp = new NBTTagCompound(); this.writeToNBT(comp); ExtendedPropInv prop = ExtendedPropInv .get(player); prop.sync();Ceci est dans les fonctions canPlayerInteractWith() et onGuiClosed() de ton container, et vu ce que tu en fait, ça ne sert à rien, car tu définis “comp”, tu met les données de ton inv dans ce tag et… c’est tout, le tag ne devient rien. Tu peux enlever tout ce qu’il y a en rapport avec la nbt dans ton container, car à partir du moment où tu as ajouté ton slot, minecraft s’occupe de tout synchroniser.
this.size = size; this.content = new ItemStack;Dans les constructeurs de ton ExtendedInv et de ton InventaireArma, tu assignes une taille à ton inv qui est size +10, alors pouquoi tu ne met pas “this.size = size + 10” ? Car avec ce que t’a mis, comme tu réutilise ça avec tes tags, tes 10 derniers slots ne peuvent être sauvegardés.
Je vois aussi que tu as mis ton array de stack dans ton EntityProp, ça serait plus logique de mettre cet array dans InventaireArma (après ça change pas le fonctionnement).
Et une question, tu veux totalement remplacer l’inventaire vanilla ou juste l’étendre, car dans ton container, on n’a pas accès à l’inventaire vanilla (mis à part la hotbar) ?
-
D’accord j’essaye ça je te dis des nouvelles,
en gros moi aymeric se que je veux faire c’est remplacer l’inv vanilla oui, je les cancelled en solo mais en multi non pour les construction etc ^^.
Résultat: l’inv s’ouvre plus d’érreur niquel mais j’ai encore un soucis il save pas mon item! c’est chiant ça je vois pas d’ou ça vient .EDIT: ah si finalement j’ai un soucis (quand j’ouvre l’inventaire que je ferme puis que je réouvre j’ai ça

[19:21:48] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 100 packets have leaked. Top offenders [19:21:48] [Client thread/ERROR] [FML]: amm: : 100 [19:21:52] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 200 packets have leaked. Top offenders [19:21:52] [Client thread/ERROR] [FML]: amm: : 200 [19:21:53] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 300 packets have leaked. Top offenders [19:21:53] [Client thread/ERROR] [FML]: amm: : 300 [19:21:54] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 400 packets have leaked. Top offenders [19:21:54] [Client thread/ERROR] [FML]: amm: : 400 [19:21:56] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 500 packets have leaked. Top offenders [19:21:56] [Client thread/ERROR] [FML]: amm: : 500 -
Ah oui, il y a un problème de packets, je mange donc je vois ça après, sinon essaye de mettre un throw new Throwable() dans le constructeur du pa ket, t’aura tt la stack trace pour savoir où c’est appelé
-
D’accord, mais le problème de packet n’est pas le plus important pour moi le gros soucis c’est que ça ne save pas mon item .
Pour le throwable je vais regarder comment ça marche car j’ai j’aimais utilisé. -
C’est juste une erreur, et comme les erreurs donnent des stacks trace, ben c’est pratique, ou sinon tu peux aussi faire clic droit sur la fonction et open call hierarchy dans éclipse.pour le pb de packet,je pense qu’il vaut mieux le résoudre parce ça va lagger
-
D’accord, pour le soucis des packets je sais pas du tout d’ou il vient.
EDIT: Quand je spam la touche pour ouvrir l’inventaire la les erreurs apparaisse .
Et pour le guiclosed, j’ai plus que le extendedprop donc le soucis vient de la sync du extended je pense … -
T’a qu’à mettre un blocage si le gui est déjà ouvert.
Et pour la sync, Minecraft s’occupe déjà de sync tt cequi est slots, donc tu peux l’enlever. -
Pas con je vais voir ça, pour le slot j’ai tout viré c’est pareil…
-
T’es sur ? Tu mets bien l’item, tu sors et tu remets ?
Aussi je viens de penser, oublie pas, dans les méthodes de ton container de mettre les super.lenomdelafonction() à chaque -
Oui je met mon item dans le slot, je quitte l’inventaire puis je le ré ouvre l’item a disparu comme si mon inventaire était une poubelle x).
Pour le super.nomfonction(); je l’avais déjà.
Je vois pas comment minecraft peut enregistrer mon item aussi j’ai que ça dans ma fonction de close:@Override public void onContainerClosed(EntityPlayer player) { super.onContainerClosed(player); } -
Vérifies aussi pour tes autres fonctions.
Parce que quand par exemple tu fais un four, ta pas besoin de rajouter de packet pour sync ou quoi que ce soit