MFF

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

    Comment utiliser spawnEntity svp

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    24 Messages 7 Publieurs 5.5k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Rajoute des logs dans la fonction pour voir si elle est appelée

      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
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Tu n’a pas les bons arguments. Cherches la fonction onItemUse dans la classe Item pour trouver les bons arguments. Ou utilise la fonction Override/implements methods d’Eclipse.

        1 réponse Dernière réponse Répondre Citer 0
        • FolganskyF Hors-ligne
          Folgansky Correcteurs
          dernière édition par

          Effectivement la console ne marque rien quand je clique avec l’item en main.

          Et dans la calsse Item, OnItemUse est un boolean =/

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

            Et alors ? Sa ne pose pas problème…Fais juste un return false ou true c’est toi qui voit si tu as des conditions ou pas.

            1 réponse Dernière réponse Répondre Citer 0
            • FolganskyF Hors-ligne
              Folgansky Correcteurs
              dernière édition par

              J’ai fais ça:

              
              public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
                  {
              EntityMoto e = new EntityMoto(world);
              e.setPosition(x, y, z); // le mieux est d'utiliser la fonction onItemUse car il y a les coordonnées du bloc sur lequel on a fait le clic droit
              world.spawnEntityInWorld(e);
              System.out.println("OK");
                      return true;
                  }
              
              

              Il faut savoir que je n’ai aucune réelle compréhension du java, je comprends surtout les tutos bien fait comme on en trouve chez MFF 😃

              Voilà bref, ça me spawn enfin quelque chose:
              Deux entités, la moto, mais enfoncés dans le sol (faut que je retrouve où régler ça).
              Dans la console ça marque deux fois de suite le “Ok”

              Edit: Bon pour la position un simple:

              e.setPosition(x, y + 1.0F, z);
              

              Mais j’ai toujours deux entités qui spawn, une qui ne bougera jamais et je dois recliquer pour pouvoir accèder à la deuxième qui elle fonctionne.
              Est ce que je dois rajouter un set.Dead ou un truc du genre quelque part?

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

                Car la méthode spawnEntityInWorld, n’est à appeler que côté server. La méthode équivalente sur le client est vide, c’esst pour cela que tu as une deuxième moto qui ne bouge pas. Alors ton code devrait plutôt être comme ça

                
                public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
                   {
                if(!world.isRemote)
                {
                EntityMoto e = new EntityMoto(world);
                e.setPosition(x, y, z); // le mieux est d'utiliser la fonction onItemUse car il y a les coordonnées du bloc sur lequel on a fait le clic droit
                world.spawnEntityInWorld(e);
                System.out.println("OK");
                }
                       return true;
                   }
                
                

                Si la condition world.isRemote est true, cela signifie qu’ont est sur le client, sinon on est sur le serveur 😃

                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

                  Non, côté client la méthode n’est pas vide. S’il était vide il n’y aurai pas de problème. Côté client elle ajoute dans le monde client l’entité et du-coup le rendu va se faire. Mais comme cette entité ne sera pas lié a une entité côté serveur, il y a aura juste un rendu. Pas de collision, pas d’ia, rien. C’est pour ça qu’elle ne bouge pas.

                  Mais le correctif est bien de mettre if(!world.isRemote).

                  1 réponse Dernière réponse Répondre Citer 0
                  • FolganskyF Hors-ligne
                    Folgansky Correcteurs
                    dernière édition par

                    D’acc, le spawn se passe bien.

                    Deux petites questions qui touchent au sujet.

                    Comment faire que l’item n’ait qu’une seule utilisation et donc soit consommée à l’utilisation?

                    Est ce que je dois créer une classe “ItemMontureX” par entité à faire spawn ou bien je peux passer via des conditions pour faire spawn 2, 3 ou 4 autres entités différentes via le même item? (si oui, je vois pas comment, sinon j’en suis pas à 4 classes près mais ça allègerait le tout je pense)

                    Merci pour votre aide en tout cas, c’est plaisant d’avoir des gens pour nous éclairer.

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

                      Pour qu’il soit consommée :
                      stack.stackSize–;

                      Pour te servir que d’un seul item mais qui fera spawn plusieurs entité, il faut lui attribuer des métadatas. Le tuto se trouve sur le fofo, à toi de chercher 😃

                      1 réponse Dernière réponse Répondre Citer 0
                      • FolganskyF Hors-ligne
                        Folgansky Correcteurs
                        dernière édition par

                        Métadatas, ouki.
                        J’ai utilisé ça pour des blocs déjà, je ne devrais pas trop galérer (on ne sait jamais).
                        Je mettrai le sujet en Résolu quand j’aurai réussi.

                        Merci.

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

                          @‘Julot10085’:

                          Pour qu’il soit consommée :
                          stack.stackSize–;

                          Pour te servir que d’un seul item mais qui fera spawn plusieurs entité, il faut lui attribuer des métadatas. Le tuto se trouve sur le fofo, à toi de chercher 😃

                          Mais lorsque tu vas quitter la 1.7.10, tu vas avoir des problèmes. Il n’y a plus de metadata sur les items a partir de la 1.8

                          –------------------------------------------------------------------------------------
                          Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

                            Bah il se servira des NBTTagCompound alors 😃

                            1 réponse Dernière réponse Répondre Citer 0
                            • FolganskyF Hors-ligne
                              Folgansky Correcteurs
                              dernière édition par

                              Oh c’est gentil de vous préoccuper du devenir du mod de mon serveur.
                              Pour être franc il restera à la 1.7.10, si il arrive un jour qu’il passe en 1.8, je serai ravi de rémunérer l’un de vous pour l’adapter.

                              Pour l’heure,vos précieux conseils m’en dispensent largement et je vous en remercie.

                              Edit:
                              J’ai passé la nuit sur ces metadatas que je ne maitrisais pas si bien que ça. Maintenant tout fonctionne comme il faut je pense.

                              Edit2: Je mettrai en résolu quand j’aurai pu tester sur mon serveur si tout roule.

                              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

                                @‘Blackout’:

                                @‘Julot10085’:

                                Pour qu’il soit consommée :
                                stack.stackSize–;

                                Pour te servir que d’un seul item mais qui fera spawn plusieurs entité, il faut lui attribuer des métadatas. Le tuto se trouve sur le fofo, à toi de chercher 😃

                                Mais lorsque tu vas quitter la 1.7.10, tu vas avoir des problèmes. Il n’y a plus de metadata sur les items a partir de la 1.8

                                Faux. Ils sont toujours là.

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

                                  @‘robin4002’:

                                  @‘Blackout’:

                                  @‘Julot10085’:

                                  Pour qu’il soit consommée :
                                  stack.stackSize–;

                                  Pour te servir que d’un seul item mais qui fera spawn plusieurs entité, il faut lui attribuer des métadatas. Le tuto se trouve sur le fofo, à toi de chercher 😃

                                  Mais lorsque tu vas quitter la 1.7.10, tu vas avoir des problèmes. Il n’y a plus de metadata sur les items a partir de la 1.8

                                  Faux. Ils sont toujours là.

                                  Ah ? Autant pour moi, j’ai du mal comprendre la doc anglaise.

                                  –------------------------------------------------------------------------------------
                                  Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB