MFF

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

    Problème de rendu d'entité custom

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    15 Messages 4 Publieurs 5.1k 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

      Il me semble qu’il faut enregistrer l’entité dans ta classe principale avec EntityRegitry.regiterGlobalEntity.

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

        Je vais essayer ça, quoique j’ai essayé tout à l’heure ça n’avait pas fonctionné
        Edit : Je confirme, ça ne marche pas. Mais ce n’est pas un problème d’entity, puisqu’elle apparait et explose, sauf que quand elle apparait elle est invisible !

        Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
        Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

        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

          @‘AlphaSwittleTeam’:

          Mais ce n’est pas un problème d’entity, puisqu’elle apparait et explose, sauf que quand elle apparait elle est invisible !

          Si. Enregistrer une entité sert pour les paquets, pour rappel, il y a deux monde :
          WorldClient (world.isRemote) qui s’occupe du rendu.
          WorldServer (!world.isRemote) qui s’occupe de tout le reste.

          Il est logique que l’entité spawn sur le world server, puis le paquet envoie au client et le client fait le rendu. Et c’est la que ça coince, ton entité existe sur le world serveur (donc elle explose bien) mais pas sur le world client, donc elle ne se voit pas. C’est un problème de synchro, faut que je regarde ça plus en détail (d’ailleurs il y a le même problème avec les projectiles, j’avais prévu de faire un tutoriel sur les projectiles je vais essayer de faire ça au plus vite).

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

            Merci de m’en informer, mais en attendant je fais quoi x) ?

            Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
            Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

            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

              Continuer à chercher de ton côté et donner la solution si tu trouve avant moi 😉

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

                Je n’ai malheursement pas la solution, je me rappelle que quand j’avais fais mon mod en vanilla au début, pour la TNT il avait fallu que j’enregistre dans les packets mon entité, c’est peut être une piste je n’en sais rien, plus exactement j’enregistrait dans le netLoginHandler je crois qui lui appellait le packet qu correspond. Désolé de ne pas pouvoir aidé plus.

                Peut être devrais tu regarder le code d’IC2?

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

                  Je vais essayer merci de la piste !
                  @Robin4002 la course à la solution x)

                  Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                  Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                  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

                    Trouvé :
                    Dans la fonction init de ta classe principale ajoute :

                    EntityRegistry.registerModEntity(EntityPowderBarrel.class, "powderbarrel", 201, this.instance, 256, 1, true);
                    

                    Dans la classe de ton entité :

                    public class EntityPowderBarrel extends Entity
                    

                    devient :

                    public class EntityPowderBarrel extends Entity implements IEntityAdditionalSpawnData
                    

                    Et ajoute (toujours dans la classe de l’entité) les deux fonctions :

                    @Override
                    public void writeSpawnData(ByteArrayDataOutput data)
                    {
                    data.writeInt(this.fuse);
                    }
                    
                    @Override
                    public void readSpawnData(ByteArrayDataInput data)
                    {
                    this.fuse = data.readInt();
                    }
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • T Hors-ligne
                      totos51
                      dernière édition par

                      je suis curieux de savoir comme t’es venu l’idée de chercher ça?

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

                        Robin est un fan de débuggage 😛

                        Et j’avais le même soucis pour un mod sur le quel je travail :3

                        "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                        ― Jordan B. Peterson

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

                          Hum j’oublie pas que cette page existe, ça pouura me servir ^^
                          Edit: La touche entrée est trop pret du reste du clavier à cette heure ci je trouve, pas vous?

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

                            Merci Robin Je t’aime 😄 Tu seras dans les crédits du mod !

                            Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                            Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                            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