MFF

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

    Trouver les entités dans un monde

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    20 Messages 7 Publieurs 3.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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      Pas trop le temps, regarde avec la variable loadedEntityList de la classe Word

      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

        Dans la classe world il a une fonction pour avoir toutes les entités étant dans une box spécifié.
        Suffit d’utiliser cette fonction et de parcourir la liste qu’elle retourne.

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

          Je la parcours depuis un moment mais c’est long

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

            Ou tu fais une liste des joueurs du monde par un packet et tu testes les plus proche et tu renvoie par chat le résultat 😉

            >! 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
            • M Hors-ligne
              mosca421
              dernière édition par

              Euh me dire trop de chose et on me perd xD

              j’ai trouvé ça :

                 public CrashReportCategory addWorldInfoToCrashReport(CrashReport p_72914_1_)
                  {
                      CrashReportCategory crashreportcategory = p_72914_1_.makeCategoryDepth("Affected level", 1);
                      crashreportcategory.addCrashSection("Level name", this.worldInfo == null ? "????" : this.worldInfo.getWorldName());
                      crashreportcategory.addCrashSectionCallable("All players", new Callable()
                      {
                          private static final String __OBFID = "CL_00000143";
                          public String call()
                          {
                              return World.this.playerEntities.size() + " total; " + World.this.playerEntities.toString();
                          }
                      });
                      crashreportcategory.addCrashSectionCallable("Chunk stats", new Callable()
                      {
                          private static final String __OBFID = "CL_00000144";
                          public String call()
                          {
                              return World.this.chunkProvider.makeString();
                          }
                      });
              
                      try
                      {
                          this.worldInfo.addToCrashReport(crashreportcategory);
                      }
                      catch (Throwable throwable)
                      {
                          crashreportcategory.addCrashSectionThrowable("Level Data Unobtainable", throwable);
                      }
              
                      return crashreportcategory;
                  }
              
              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

                           List <entity>list = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(-10, -10, -10, 10, 10, 10));
                           for(Entity entity : list)
                           {
                               //fais ce que tu veux avec les entités
                           }
                

                Avec ça tu obtiens toutes les entités se trouvant entre x = -10, y = -10, z = -10 et x = 10, y = 10, z = 10.

                Si tu veux toutes les entités autours d’un joueur tu as juste à prendre les coordonnées du joueur +/- la taille que tu veux.
                Ou alors utiliser directement la box de collision du joueur et faire un .expand(x, y, z).</entity>

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

                  donc je fais genre :
                  onItemRightclick
                        List <entity>list = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(-10, -10, -10, 10, 10, 10));
                  p.chatmessagetrucdugenre list trucdugenre ?

                  Edit si oui erreur sur AxisAlignedBB The constructor AxisAlignedBB(double, double, double, double, double, double) is not visible</entity>

                  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

                    Remplaces par AxisAlignedBB.getBoundingBox(-10, -10, -10, 10, 10, 10)
                    Je suis en 1.8, visiblement en 1.7 c’était différent.

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

                      ça marche niquel mais je get toutes les Entité cochon joueurs ect on peut pas prendre que 5 joueurs ?

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

                        Tu as juste à mettre la taille de la liste à 5 même si c’est pas très optimisé

                        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
                        • DeletedD Hors-ligne
                          Deleted
                          dernière édition par

                          Beh remplace Entity.class, par EntityPlayer.class.

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

                            Ok ça aussi ça marche mais dernier probleme les joueurs que ne capte que les player que mon perso vois alors que je voudrais qu’il capte les joueurs dans toute la map C’est possible d’après vous ?

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

                              Sois tu mets de très grandes dimensions dans le code de robin, soit tu adaptes avec la liste World#loadedEntityList

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

                                C’est à dire ? Tu veux faire une recherche dans tous les joueurs du monde ?

                                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
                                • Snowy_1803S Hors-ligne
                                  Snowy_1803
                                  dernière édition par

                                  Il y a pas un field avec tous les joueurs connectés dans World ?

                                  Moddeur 1.8

                                  Développeur Java

                                  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

                                    Dans ce cas tu as juste à faire une boucle sur world.playerEntities

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

                                      public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
                                          {
                                      
                                          List <entity>list = world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(-10, -10, -10, 10, 10, 10).expand(5000, 300, 5000));
                                          for(Entity entity : list)
                                          {
                                          player.addChatComponentMessage(new ChatComponentText(""+list));
                                          }
                                      return item;
                                      }
                                      

                                      Normalement ça devrait marcher non ?</entity>

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

                                        Non car il faut aussi expand du côté négatif, mais fais ce qu’a dit Robin, plus simple

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

                                          expand étant des deux côtés.
                                          Mais bon la ce code va être lourd alors que tu peux faire bien plus léger :

                                             public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
                                             {
                                                 for(Entity entity : world.playerEntities)
                                                 {
                                                     player.addChatComponentMessage(new ChatComponentText(entity.getCommandSenderName() + " x=" + entity.posX + " y=" + entity.posY + " z=" + entity.posZ));
                                                 }
                                                 return item;
                                             }
                                          
                                          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