Savoir si un coffre est vide ou plein
-
ça marche normalement ^^ Normal non ? ^^’
-
Dans quelle classe se trouve cette fonction ?
Après plusieurs tests, voici mes résultats :
1-Ta fonction est dans une classe Gui (ou GuiScreen), ce qui est une mauvaise manie
2-Le container est toujours vide car tu récupère un WorldClient et non un WorldServer donc ta tileEntity est vide. Il faut faire une synchronisation client / serveur. -
une classe ou des events côté clients sont chargés
-
Petit up, une petite idée ?
Quel serait le code alors ?
@‘SCAREX’:
Dans quelle classe se trouve cette fonction ?
Après plusieurs tests, voici mes résultats :
1-Ta fonction est dans une classe Gui (ou GuiScreen), ce qui est une mauvaise manie
2-Le container est toujours vide car tu récupère un WorldClient et non un WorldServer donc ta tileEntity est vide. Il faut faire une synchronisation client / serveur. -
@‘robin4002’:
Envoie le rapport.
J’ai fait :
for (int i = 0; i < tile.getSizeInventory(); i++) { System.out.println(tile.getStackInSlot(i)); if (tile.getStackInSlot(i) != null) { flag = false; } }Le:
System.out.println(tile.getStackInSlot(i));Me donne
[18:16:59] [Client thread/INFO] [STDOUT]: [fr.zeamateis.tesm.module.client.guis.client.gui.GuiInGame:renderContainerMessage:88]: null
Pas normal ?
-
Tout le temps ? car normalement comme la boucle va de 0 à la taille de l’inventaire ça devrait afficher plusieurs null. (et au contraire un truc non null si il y a quelques choses dans le IInventory).
-
ça l’affiche tout le temps oui effectivement
-
Bon c’est ce que je craignais. Côté client getStackInSlot return toujours null, le client ne sait pas ce qu’il y a dans le coffre temps qu’il ne l’ouvre pas (c’est à ce moment que le contenu est synchronisé).
-
Problème résolu grâce à Dermensolf sur IC
-
Le code qu’il a donné ne fonctionnera pas sur un serveur dédiée. Il ne fonctionne que en solo.