EntityExtendedProperty modifiable quand joueur déconnecté
-
J’ai remarqué que après il y avait des problèmes de flux quand je laissais NBTExplorer lancé (normal, Minecraft essaie de modifier le fichier et NBTExplorer analyse déjà le fichier) alors j’ai bien fais attention de ne pas faire d’action (arrêter serveur…) lorsque NBTExplorer était ouvert mais rien à faire :X donc bon c’est extrêmement étrange, je ne pense pas qu’il y a besoin de tester en relancer le pc pour bien reset la ram mais bon :') J’ai l’impression que je vais presque bientôt devoir testé x)
-
Tu as fait les tests en local sous Windows ?
Ton serveur de prod tourne sous Linux ? Si oui faudrait tester sur lui, car Linux a un comportement différent avec les fichiers (possibilité de modifier un truc même si quelque chose l’utilise, ce qui n’est pas le cas sous Windows). -
Oui sous Windows… Je vais essayer de faire ça et je te dis

-
Alors quand j’éxécute le code quand je suis déconnecté,
En locale ça modifie bien la booléenne et passe sur true
Sur Serveur Linux ça ne modifie pas la booléennePs: lorsque j’éxécute deux fois le code quand déconnecté, ça ne me marque pas si la valeur est sur true ou false avec les system.out.print
-
Print un peu de tout pour déboguer le code (le chemin du fichier, s’il existe, ce que le tab nbt contient, etc …).
-
J’ai préféré abandonné ce projet, préférant utilisé NBT Explorer à partir des UUID, sinon j’essaye côté plugin de get une booléenne gendarme dans un coumpound EEPRestrained:
J’éxécute ça côté plugin:
EntityPlayer entity = ((CraftPlayer)p).getHandle(); NBTTagCompound nbt = new NBTTagCompound(); entity.b(nbt); p.sendMessage(nbt + "!"); p.sendMessage(nbt.getCompound("EEPRestrained") + "!"); p.sendMessage(nbt.get("EEPRestrained") + "!"); p.sendMessage(nbt.getCompound("ForgeData") + "!"); p.sendMessage(nbt.get("ForgeData") + "!");Et j’obtiens ça:
[19:52:13] [Client thread/INFO]: [CHAT] {Spawns:[],bukkit:{newLevel:0,newExp:0,newTotalExp:0,firstPlayed:1464975640464L,lastKnownName:“Benjamin_Loison”,keepLevel:0b,expToDrop:0,lastPlayed:1466445126921L,},SleepTimer:0s,Health:20s,foodSaturationLevel:5.0f,Attributes:[0:{Base:20.0d,Name:“generic.maxHealth”,},1:{Base:0.0d,Name:“generic.knockbackResistance”,},2:{Base:0.10000000149011612d,Name:“generic.movementSpeed”,},3:{Base:1.0d,Name:“generic.attackDamage”,},],AbsorptionAmount:0.0f,XpLevel:0,abilities:{invulnerable:1b,mayfly:1b,instabuild:1b,walkSpeed:0.1f,mayBuild:1b,flying:1b,flySpeed:0.05f,},Score:0,Sleeping:0b,DeathTime:0s,XpP:0.0f,EnderItems:[],HealF:20.0f,XpTotal:0,foodLevel:20,foodExhaustionLevel:2.7223997f,HurtTime:0s,SelectedItemSlot:1,playerGameType:1,AttackTime:0s,Inventory:[0:{Slot:0b,id:323s,Count:1b,Damage:0s,},1:{Slot:1b,id:334s,Count:1b,Damage:0s,},2:{Slot:2b,id:89s,Count:1b,Damage:0s,},3:{Slot:3b,id:13s,Count:1b,Damage:0s,},4:{Slot:4b,id:271s,Count:1b,Damage:0s,},5:{Slot:5b,id:271s,Count:1b,Damage:0s,},6:{Slot:6b,id:217s,Count:1b,Damage:0s,},7:{Slot:7b,id:1s,Count:1b,Damage:0s,},8:{Slot:8b,id:225s,Count:1b,Damage:0s,},],foodTickTimer:0,}!
[19:52:13] [Client thread/INFO]: [CHAT] {}!
[19:52:13] [Client thread/INFO]: [CHAT] null!
[19:52:13] [Client thread/INFO]: [CHAT] {}!
[19:52:13] [Client thread/INFO]: [CHAT] null!Voici le rendu sur NBT Explorer de mes Tags (pièce jointe).
Une idée de pourquoi bukkit arrive à être lu contrairement à mon coumpound ?

Merci d’avance,
(Considérant que c’est autant du modding que du pluging, je poste sur ce forum qui peut m’apporter de l’aide)
-
Peut-être que l’api de bukkit limite volontairement aux données de bukkit ?
Je ne suis pas sûr, je n’ai jamais fait de plugin. -
Ca reste dérangeant, c’est toi qui m’avais dis qu’il fallait faire comme ça pour get côté serveur plugin les ExtendedEntityProperties
D’autres idées de comment get ces informations ? -
Je n’ai pas compris, tu souhaites récupérer le tag lié à la soif dans ton plugin pour gérer différentes autres choses, c’est bien ça ?? Sinon ce que tu peux faire, c’est t’intéresser de + près à comment bukkit gère les NBT de MC et voir si il serait possible de rajouter ton propre système pour justement autoriser ceux de forge à être lui, puisque comment ton message le montre, ce n’est pas le cas.
Sinon essaie de recoder le plugin dans ton mod forge, pour ne plus avoir ce problème. -
Nope

-
Vous ne connaissez pas sinon une libraries qui permet “d’ouvrir” les .dat pour en extraire les nbt … ça doit bien exister…
-
Si tu cherches à récupérer des informations relatives à un joueur : le contenu se trouve dans les tags nbt du joueur, auquel tu devrais avoir accès normalement
-
Les .dat sont lus via la classe CompressedSreamTools (regarde comme le OldSaveLoader l’utilise pour lire le WorldInfo).
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
Inspiré du Code Source de WorldEdit (Plugin) pour le chargement des schematics, j’ai crée ma propre API pour TRES facilement obtenir des informations des fichiers de données de Minecraft. Si vous la voulez, contactez moi sur Skype: AltisCraft.