MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    EntityExtendedProperty modifiable quand joueur déconnecté

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    46 Messages 5 Publieurs 6.0k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Dans ta fonction loadNBTData
      Tu as :
      NBTTagCompound properties = (NBTTagCompound)compound.getTag(EXT_PROP_NAME);
      puis :
      adjoint = properties.getBoolean(“adjoint”);
      ça correspond bien, donc je ne vois pas pourquoi ça ne fonctionne pas 😕

      Après avoir écrit relis le fichier pour vérifier que la modification s’est bien effectué. Il y a peut être un problème avec
      CompressedStreamTools.write(tag, playerData);

      1 réponse Dernière réponse Répondre Citer 0
      • Benjamin LoisonB Hors-ligne
        Benjamin Loison
        dernière édition par

        Les tests sont fait sur serveur :

        Lorsque j’éxécute le code quand je suis connecté, ça ne marche pas (normal, ça modifier la donnée dans le .dat mais à la déconnexion ça corrige le .dat avec les données que j’avais à la déconnexion en cache).
        Lorsque j’éxécute le code quand je suis déconnecté (bon pseudo), ça ne marche pas (il y a modification du fichier mais à la déconnexion, ça rétablit les données que j’avais à la déconnexion en cache). Même avec relancement du serveur (cache vidé), les données que j’avais à la déconnexion (en cache) sont rétablies 😕

        Et pas de soucis au niveau de réinitilisation possible, avec un autre code similaire quand je suis connecté et que je met Adjoint pas de soucis, je relance le serveur, je le suis toujours.

        >! Développeur de Altis-Life (Arma III) sur Minecraft !
        >! Site web     : https://lemnoslife.com

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          @‘Benjamin Loison’:

          Lorsque j’éxécute le code quand je suis déconnecté (bon pseudo), ça ne marche pas (il y a modification du fichier mais à la déconnexion, ça rétablit les données que j’avais à la déconnexion en cache). Même avec relancement du serveur (cache vidé), les données que j’avais à la déconnexion (en cache) sont rétablies 😕

          ?!?
          Comment tu peux te déconnecté si tu n’es pas connecté ?

          1 réponse Dernière réponse Répondre Citer 0
          • Benjamin LoisonB Hors-ligne
            Benjamin Loison
            dernière édition par

            Lorsque j’éxécute le code quand je suis déconnecté (bon pseudo), ça ne marche pas (il y a modification du fichier mais à la connexion*, ça rétablit les données que j’avais à la déconnexion en cache). Même avec relancement du serveur (cache vidé), les données que j’avais à la déconnexion (en cache) sont rétablies 😕

            Erreur de ma part désolé x)

            >! Développeur de Altis-Life (Arma III) sur Minecraft !
            >! Site web     : https://lemnoslife.com

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              Tu as vérifier avec NBTexplorer les valeurs du .dat ?

              1 réponse Dernière réponse Répondre Citer 0
              • Benjamin LoisonB Hors-ligne
                Benjamin Loison
                dernière édition par

                “(il y a modification du fichier mais à la connexion*, ça rétablit les données que j’avais à la déconnexion en cache). Même avec relancement du serveur (cache vidé), les données que j’avais à la déconnexion (en cache) sont rétablies” comme dit, lorsque j’éxécute le code pendant que je suis déconnecté, la valeur passe bien sur true, mais lorsque je me connecte même après un relancement, la donnée est remise sur false

                >! Développeur de Altis-Life (Arma III) sur Minecraft !
                >! Site web     : https://lemnoslife.com

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002R Hors-ligne
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                  dernière édition par

                  C’est étrange car normalement il ne devrait pas garder la valeur.
                  Enfin je ne vois pas où il peut la garder. La seule possibilité c’est en ram. Mais comme tu as le même problème même si tu reboot ce n’est pas ça.
                  Tu es sûr que tu n’as pas autre chose qui réinitialiser la valeur ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • Benjamin LoisonB Hors-ligne
                    Benjamin Loison
                    dernière édition par

                    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)

                    >! Développeur de Altis-Life (Arma III) sur Minecraft !
                    >! Site web     : https://lemnoslife.com

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      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).

                      1 réponse Dernière réponse Répondre Citer 0
                      • Benjamin LoisonB Hors-ligne
                        Benjamin Loison
                        dernière édition par

                        Oui sous Windows… Je vais essayer de faire ça et je te dis 😉

                        >! Développeur de Altis-Life (Arma III) sur Minecraft !
                        >! Site web     : https://lemnoslife.com

                        1 réponse Dernière réponse Répondre Citer 0
                        • Benjamin LoisonB Hors-ligne
                          Benjamin Loison
                          dernière édition par

                          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éenne

                          Ps: 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

                          >! Développeur de Altis-Life (Arma III) sur Minecraft !
                          >! Site web     : https://lemnoslife.com

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

                            Print un peu de tout pour déboguer le code (le chemin du fichier, s’il existe, ce que le tab nbt contient, etc …).

                            1 réponse Dernière réponse Répondre Citer 0
                            • Benjamin LoisonB Hors-ligne
                              Benjamin Loison
                              dernière édition par

                              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)

                              >! Développeur de Altis-Life (Arma III) sur Minecraft !
                              >! Site web     : https://lemnoslife.com

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R Hors-ligne
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                dernière édition par

                                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.

                                1 réponse Dernière réponse Répondre Citer 0
                                • Benjamin LoisonB Hors-ligne
                                  Benjamin Loison
                                  dernière édition par

                                  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 ?

                                  >! Développeur de Altis-Life (Arma III) sur Minecraft !
                                  >! Site web     : https://lemnoslife.com

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • DeletedD Hors-ligne
                                    Deleted
                                    dernière édition par

                                    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.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002R Hors-ligne
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                      dernière édition par

                                      Nope 😕

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • Benjamin LoisonB Hors-ligne
                                        Benjamin Loison
                                        dernière édition par

                                        Vous ne connaissez pas sinon une libraries qui permet “d’ouvrir” les .dat pour en extraire les nbt … ça doit bien exister…

                                        >! Développeur de Altis-Life (Arma III) sur Minecraft !
                                        >! Site web     : https://lemnoslife.com

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREXS Hors-ligne
                                          SCAREX
                                          dernière édition par

                                          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

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • AymericRedA Hors-ligne
                                            AymericRed
                                            dernière édition par

                                            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

                                            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB