Résolu Obtenir un nbt tag
-
Bonjours à tous!
Je travaille actuellement sur deux mods, et j’aimerai lire les infos d’un bloc du mod A qui sont contenue dans le NBTTagCompound avec le mod B
Je connais l’emplacement du bloc A, et je peux obtenir le TileEntity, maintenant, je cherche un moyen d’obtenir son NBTTagCompound
Y’a t’il un moyen ?Merci
-
NBTTagCompound nbt = new NBTTagCompound(); tileEntity.writeToNBT(nbt); //nbt.getString(… //nbt.get ...
-
Wow, c’étais si simple
Merci beaucoup !
Edit: Bon du coup j’ai un problème, le NBT ne se sauvegarde pas automatiquement, donc du coup les infos que je récupère ne sont pas à jour
-
C’est à dire ? Normalement quand tu fais ce que j’ai dit, si tu as une instance du TE qui est à jour, les information dans le NBTTagCompound devraient être à jour.
Après dès que tu veux à nouveau des informations à jour, il faut que tu réitère l’opération -
J’ai trouvé mon problème, ma fonction lit le NBT coté client, qui n’est pas modifié
-
Salut,
Donc il faut synchro le tag nbt à l’aide des deux fonctions données dans le tutoriel sur les tile entity. -
Je les ais mis
Elle n’ont pas l’air d’être appeléesEdit: J’ai trouvé pourquoi, il fallait rajouter dans la class du TileEntity:
@Override public void updateEntity() { if(worldObj.isRemote) return; worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); }
-
Balise résolue ?
-
Heu le markBlockForUpdate fais-le plutôt après un changement d’une valeur et non à que tick sinon niveau optimisation c’est une horreur
-
@‘robin4002’:
Heu le markBlockForUpdate fais-le plutôt après un changement d’une valeur et non à que tick sinon niveau optimisation c’est une horreur
Oaui c’est pas faux
Merci pour le conseil :-3