MFF

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

    Extended Entity Properties

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.8.9
    16 Messages 4 Publieurs 2.8k 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.
    • DiabolicaTrixD Hors-ligne
      DiabolicaTrix Correcteurs Moddeurs confirmés
      dernière édition par

      Salut, je n’ai plus de NPE, par contre, quand je meurt, ce n’est toujours pas sauvegardé. Sauf que le packet de synchronisation est envoyé car j’ai les sysout dans la console.

      [11:26:06] [Server thread/INFO] [STDOUT]: [me.diabolicatrix.packets.PacketPermEEP:toBytes:56]: License Packet Save
      [11:26:06] [Netty Local Client IO #2/INFO] [STDOUT]: [me.diabolicatrix.packets.PacketPermEEP:fromBytes:42]: License Packet Load

      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

        Plusieurs EEP c’est pas un super bonne idée. Tu peux mettre plusieurs variable dans le même EEP sans soucis.
        Ajoute du debug au niveau des fonctions read et write NBT

        1 réponse Dernière réponse Répondre Citer 0
        • DiabolicaTrixD Hors-ligne
          DiabolicaTrix Correcteurs Moddeurs confirmés
          dernière édition par

          Le problème, c’est qu’ils ne sont pas sauvegardés de la même façon. Les licenses doivent être permanentes, le “side” doit être persistant après la mort mais pas à la déconnexion. Et éventutellement, la banque devra être permanente et l’argent perdu après la mort mais sauvergardé à la déconnexion. Donc je ne vois pas comment faire ça en un seul EEP.

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

            Lorsque le joueur se déconnecte tu lui remet une valeur par défaut pour le side, pour l’argent qui doit être perdu à la mort du joueur tu utilise l’event LivingDeathEvent par exemple

            1 réponse Dernière réponse Répondre Citer 0
            • DiabolicaTrixD Hors-ligne
              DiabolicaTrix Correcteurs Moddeurs confirmés
              dernière édition par

              J’y avais pensé entre temps, pour ça , ça va, mais ça ne sauvegarde toujours pas (j’ai refait un commit sur github)

              EDIT: J’ai remarqué un truc: en supprimant le EntityJoinWorld, quand le joueur respawn, l’event n’est pas appelé. Je vais donc juste mettre un null check.

              EDIT2: Après quelques tests, j’ai remarqué que les données sont bien sauvegardées à la connexion, mais pas à la mort.

              EDIT3: Ça fait quelques heures que je travailles là-dessus et rien à faire, quand on respawn, ça reset.

              EDIT4: Je viens de remarquer que le serveur a la bonne valuer mais rien à faire pour le client, il ne veut pas sync malgré les nombreux sync que j’ai fait.

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

                J’avais eu un problème de non synchro d’ExtProp qui ressemble un peu au tient. Voici le

                1 réponse Dernière réponse Répondre Citer 0
                • DiabolicaTrixD Hors-ligne
                  DiabolicaTrix Correcteurs Moddeurs confirmés
                  dernière édition par

                  Donc, après avoir complètement recommencé, j’ai remarqué que quand j’appelle la méthode sync depuis un event, ça ne fonctionne pas. Par contre, quand je l’appelle depuis un bloc (onRightClick), ça synchronise bien avec le client.

                  PS: J’ai update mes codes sur github (mêmes liens)

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

                    http://www.minecraftforgefrance.fr/forge-events.php -> PlayerEvent.PlayerLoggedInEvent -> FMLCommonHandler.bus()
                    Enregistre ton CommonEventHandler avec FML aussi :

                    
                    FMLCommonHandler.instance().bus().register(new CommonEventHandler());
                    
                    
                    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

                      Il est en 1.8.9, donc plus besoin de se soucier de ça.

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

                        Ah, my bad alors

                        1 réponse Dernière réponse Répondre Citer 0
                        • DiabolicaTrixD Hors-ligne
                          DiabolicaTrix Correcteurs Moddeurs confirmés
                          dernière édition par

                          Donc, petite mise à jour, j’ai complètement supprimé et réécrit mon EEP. Le EEP est sauvegardé côté serveur seulement, pourtant, dans mon event player clone, je fais un sync et je vois dans la console qu’il est bien exécuté. J’ai donc utilisé mon itemDebug pour essayer de sync après le respawn et ça fonctionne, le problème est que je voudrais qu’il soit sync automatiquement…

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

                            T’as regardé le lien que je t’ai passé ? J’ai crée 2 handlers différents dans mon packet, qui est donc enregistré sur les 2 sides. Sa m’avait résolu le problème de synchro (le client ne connaissait pas la valeur de mon ExtProp alors que le serveur l’avait). Après je sais pas si t’as EXACTEMENT le même problème, et puis entre la 1.8.9 et la 1.7.10, y’a peut-être d’autres modifs à effectuer…

                            1 réponse Dernière réponse Répondre Citer 0
                            • DiabolicaTrixD Hors-ligne
                              DiabolicaTrix Correcteurs Moddeurs confirmés
                              dernière édition par

                              J’avais essayé les 2 handlers, mais ça n’avait rien changé. Je vais quand même réessayer avec mon nouveau code.

                              EDIT: J’ai essayé et ça n’a rien changé.

                              1 réponse Dernière réponse Répondre Citer 0
                              • DiabolicaTrixD Hors-ligne
                                DiabolicaTrix Correcteurs Moddeurs confirmés
                                dernière édition par

                                Je viens de remarquer que Extended Entity Properties est “deprecated” pour le nouveau système de “capabilities”. On peut donc mettre ce sujet dans sans suite.

                                Pour information, mon problème venait du fait que je ne faisait pas de scheduled task dans mon packet pour intéragir avec les objets de Minecraft. De plus, le sync doit être fait dans l’event PlayerRespawnEvent et non PlayerEvent.Clone.

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

                                MINECRAFT FORGE FRANCE © 2024

                                Powered by NodeBB