MFF

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

    Savoir quelle entity regarde le joueur

    Planifier Épinglé Verrouillé Déplacé Sans suite
    28 Messages 4 Publieurs 7.0k Vues 1 Abonné
    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.
    • isadorI Hors-ligne
      isador Moddeurs confirmés Modérateurs
      dernière édition par

      merci je regarde ca
      si je copie colle ca code:

      
      if (par5 && par3Entity instanceof EntityPlayer && !par2World.isRemote) {
      if (par3Entity.getEntityData().getBoolean("devastatorFired")) {
      EntityPlayer player = (EntityPlayer) par3Entity;
      Entity target = null;
      List entityTagetList = par2World.getEntitiesWithinAABB(
      Entity.class,
      player.boundingBox.expand(32.0D, 32.0D, 32.0D));
      for (int i = 0; i < entityTagetList.size(); i++) {
      Entity entityTarget = (Entity) entityTagetList.get(i);
      if (entityTarget != player
      && entityTarget instanceof EntityLivingBase) {
      EntityLivingBase entityLivingTarget = (EntityLivingBase) entityTarget;
      Vec3 vec3 = player.getLook(1.0F).normalize();
      Vec3 vec31 = entityLivingTarget.worldObj
      .getWorldVec3Pool()
      .getVecFromPool(
      entityLivingTarget.posX - player.posX,
      entityLivingTarget.boundingBox.minY
      + (double) (entityLivingTarget.height / 2.0F)
      - (player.posY + (double) player
      .getEyeHeight()),
      entityLivingTarget.posZ - player.posZ);
      double d0 = vec31.lengthVector();
      vec31 = vec31.normalize();
      double d1 = vec3.dotProduct(vec31);
      if (d1 > 1.0D - 0.025D / d0
      && player.canEntityBeSeen(entityLivingTarget)) {
      target = entityLivingTarget;
      } else {
      target = null;
      }
      
      }
      }
      
      

      je peut faire après un

      
      if(target == entityTarget)
      {
      //mon code
      }
      
      

      ?

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

        Bah, target = l’entité visée.
        Après, tu en fais ce que tu veux.

        "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
        • isadorI Hors-ligne
          isador Moddeurs confirmés Modérateurs
          dernière édition par

          dans tout les cas target sera egal a entityLivingTarget non?

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

            Oui

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

              J’aime bien ton message + ta signature.
              ça fait
              Oui ! Non !
              On peut limite compléter avec : en fait je ne sais pas. xD

              (Ceci était un message inutile de robin4002)

              1 réponse Dernière réponse Répondre Citer 0
              • isadorI Hors-ligne
                isador Moddeurs confirmés Modérateurs
                dernière édition par

                merci de ta participation robin

                du coup gugu avec ton code on peut récup l’entité visé?

                1 réponse Dernière réponse Répondre Citer 0
                • isadorI Hors-ligne
                  isador Moddeurs confirmés Modérateurs
                  dernière édition par

                  Petit up car je comprend pas trop le code de gugu

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

                    Oui, l’entité Target est la cible.

                    "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
                    • isadorI Hors-ligne
                      isador Moddeurs confirmés Modérateurs
                      dernière édition par

                      Donc en fait si je veux écrire un nbt dans l’entity visé faudrat utiliser la variable Target ?

                      EDIT:
                      problème: target renvoi toujours null

                      
                      if(kb.keyCode == questKey.keyCode && mc.currentScreen == null && player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == CoeQuestMain.quest)// ADMIN
                      {
                      FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 2, player.worldObj, (int)Math.floor(player.posX), (int)Math.floor(player.posY), (int)Math.floor(player.posZ));
                      if(par5 && par3Entity instanceof EntityPlayer && !par2World.isRemote)
                      {
                      player = (EntityPlayer)par3Entity;
                      Entity target = null;
                      List entityTagetList = par2World.getEntitiesWithinAABB(Entity.class, player.boundingBox.expand(32.0D, 32.0D, 32.0D));
                      for(int i = 0; i < entityTagetList.size(); i++)
                      {
                      Entity entityTarget = (Entity)entityTagetList.get(i);
                      if(entityTarget != player && entityTarget instanceof EntityLivingBase)
                      {
                      EntityLivingBase entityLivingTarget = (EntityLivingBase)entityTarget;
                      Vec3 vec3 = player.getLook(1.0F).normalize();
                      Vec3 vec31 = entityLivingTarget.worldObj.getWorldVec3Pool().getVecFromPool(entityLivingTarget.posX - player.posX, entityLivingTarget.boundingBox.minY + (double)(entityLivingTarget.height / 2.0F) - (player.posY + (double)player.getEyeHeight()), entityLivingTarget.posZ - player.posZ);
                      double d0 = vec31.lengthVector();
                      vec31 = vec31.normalize();
                      double d1 = vec3.dotProduct(vec31);
                      if(d1 > 1.0D - 0.025D / d0 && player.canEntityBeSeen(entityLivingTarget))
                      {
                      target = entityLivingTarget;
                      }
                      else
                      {
                      target = null;
                      }
                      
                      }
                      }
                      }
                      }
                      
                      else if(kb.keyCode == questKey.keyCode && mc.currentScreen == null)
                      {
                      FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 1, player.worldObj, (int)Math.floor(player.posX), (int)Math.floor(player.posY), (int)Math.floor(player.posZ));
                      }
                      System.out.println("target: " + entityTarget);
                      System.out.println(mouseOver);
                      }
                      
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • isadorI Hors-ligne
                        isador Moddeurs confirmés Modérateurs
                        dernière édition par

                        bon pour le problème de null c’était moi, tromper de condition
                        maintenant ca crash au niveau du .getEntitiesWithinAABB de

                        
                        List entityTagetList = par2World.getEntitiesWithinAABB(CoeMob.Mob.MobtestEntity.class, player.boundingBox.expand(32.0D, 32.0D, 32.0D));
                        
                        

                        le crash report:
                        :::

                        
                        –-- Minecraft Crash Report ----
                        // Why is it breaking :(
                        
                        Time: 30/06/14 13:15
                        Description: Unexpected error
                        
                        java.lang.NullPointerException
                        at CoeQuest.KeyBindQuest.keyUp(KeyBindQuest.java:84)
                        at cpw.mods.fml.client.registry.KeyBindingRegistry$KeyHandler.keyTick(KeyBindingRegistry.java:129)
                        at cpw.mods.fml.client.registry.KeyBindingRegistry$KeyHandler.tickStart(KeyBindingRegistry.java:102)
                        at cpw.mods.fml.common.SingleIntervalHandler.tickStart(SingleIntervalHandler.java:28)
                        at cpw.mods.fml.common.FMLCommonHandler.tickStart(FMLCommonHandler.java:122)
                        at cpw.mods.fml.common.FMLCommonHandler.onRenderTickStart(FMLCommonHandler.java:372)
                        at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:944)
                        at net.minecraft.client.Minecraft.run(Minecraft.java:838)
                        at net.minecraft.client.main.Main.main(Main.java:93)
                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                        at java.lang.reflect.Method.invoke(Unknown Source)
                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
                        at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
                        
                        A detailed walkthrough of the error, its code path and all known details is as follows:
                        ---------------------------------------------------------------------------------------
                        
                        -- Head --
                        Stacktrace:
                        at CoeQuest.KeyBindQuest.keyUp(KeyBindQuest.java:84)
                        at cpw.mods.fml.client.registry.KeyBindingRegistry$KeyHandler.keyTick(KeyBindingRegistry.java:129)
                        at cpw.mods.fml.client.registry.KeyBindingRegistry$KeyHandler.tickStart(KeyBindingRegistry.java:102)
                        at cpw.mods.fml.common.SingleIntervalHandler.tickStart(SingleIntervalHandler.java:28)
                        at cpw.mods.fml.common.FMLCommonHandler.tickStart(FMLCommonHandler.java:122)
                        
                        -- Affected level --
                        Details:
                        Level name: MpServer
                        All players: 1 total; [EntityClientPlayerMP['isador34'/4, l='MpServer', x=1143,30, y=5,62, z=223,68]]
                        Chunk stats: MultiplayerChunkCache: 275
                        Level seed: 0
                        Level generator: ID 01 - flat, ver 0\. Features enabled: false
                        Level generator options:
                        Level spawn location: World: (1121,4,239), Chunk: (at 1,0,15 in 70,14; contains blocks 1120,0,224 to 1135,255,239), Region: (2,0; contains chunks 64,0 to 95,31, blocks 1024,0,0 to 1535,255,511)
                        Level time: 375011 game time, 107102 day time
                        Level dimension: 0
                        Level storage version: 0x00000 - Unknown?
                        Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
                        Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
                        Forced entities: 5 total; [MobtestEntity['entity.Testmob.name'/0, l='MpServer', x=1141,31, y=4,00, z=223,69], EntityClientPlayerMP['isador34'/4, l='MpServer', x=1143,30, y=5,62, z=223,68], MobtestEntity['entity.Testmob.name'/1, l='MpServer', x=1151,31, y=4,00, z=226,69], MobtestEntity['entity.Testmob.name'/2, l='MpServer', x=1151,69, y=4,00, z=226,69], MobtestEntity['entity.Testmob.name'/3, l='MpServer', x=1151,69, y=4,00, z=226,69]]
                        Retry entities: 0 total; []
                        Server brand: fml,forge
                        Server type: Integrated singleplayer server
                        Stacktrace:
                        at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440)
                        at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312)
                        at net.minecraft.client.Minecraft.run(Minecraft.java:863)
                        at net.minecraft.client.main.Main.main(Main.java:93)
                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                        at java.lang.reflect.Method.invoke(Unknown Source)
                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
                        at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
                        
                        – System Details --
                        Details:
                        Minecraft Version: 1.6.4
                        Operating System: Windows 8 (amd64) version 6.2
                        Java Version: 1.7.0_45, Oracle Corporation
                        Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                        Memory: 661595768 bytes (630 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
                        JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                        AABB Pool Size: 19636 (1099616 bytes; 1 MB) allocated, 1 (56 bytes; 0 MB) used
                        Suspicious classes: FML and Forge are installed
                        IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                        FML: MCP v8.11 FML v6.4.45.953 Minecraft Forge 9.11.1.953 15 mods loaded, 15 mods active
                        mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        FML{6.4.45.953} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        Forge{9.11.1.953} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coebiome{1.0.0} [CoeBiome] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coeblock{1.0.0} [Coe Block] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coebordure{1.0.0} [Coe Bordure] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coecore{1.0.0} [CoeCore] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coelevel{1.0.0} [CoeLevel] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coemob{1.0.0} [Coemob] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coequest{1.0.0} [CoeQuest] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coespell{1.0.0} [CoeSpell] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        coeweapon{1.0.0} [CoeWeapon] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        crusadegui{2.0.0} [COE gui] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        mineralherb{1.0.1} [Mineralherb] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        PM{V.1.0.0} [Portal WoW] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
                        Launched Version: 1.6
                        LWJGL: 2.9.0
                        OpenGL: GeForce GTX 660/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation
                        Is Modded: Definitely; Client brand changed to 'fml,forge'
                        Type: Client (map_client.txt)
                        Resource Pack: Default
                        Current Language: English (US)
                        Profiler Position: N/A (disabled)
                        Vec3 Pool Size: 292 (16352 bytes; 0 MB) allocated, 14 (784 bytes; 0 MB) used
                        
                        

                        :::
                        le code:

                        
                        package CoeQuest;
                        
                        import java.util.EnumSet;
                        import java.util.List;
                        
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.settings.KeyBinding;
                        import net.minecraft.entity.Entity;
                        import net.minecraft.entity.EntityLivingBase;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.util.MovingObjectPosition;
                        import net.minecraft.util.Vec3;
                        import net.minecraft.world.World;
                        
                        import org.lwjgl.input.Keyboard;
                        
                        import cpw.mods.fml.client.FMLClientHandler;
                        import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler;
                        import cpw.mods.fml.common.TickType;
                        import cpw.mods.fml.common.network.FMLNetworkHandler;
                        
                        public class KeyBindQuest extends KeyHandler
                        {
                        public static KeyBinding questKey = new KeyBinding("key.button.interactKey", Keyboard.KEY_I);
                        private EntityLivingBase entityTarget;
                        private World par2World;
                        private String team;
                        
                        private String Newligne=System.getProperty("line.separator");
                        
                        public KeyBindQuest()
                        {
                        
                        super(new KeyBinding[] {questKey}, new boolean[] {false});
                        }
                        
                        @Override
                        public String getLabel()
                        {
                        return "Intéragir";
                        }
                        
                        @Override
                        public void keyDown(EnumSet <ticktype>types, KeyBinding kb, boolean tickEnd, boolean isRepeat)
                        {}
                        
                        @Override
                        public void keyUp(EnumSet <ticktype>types, KeyBinding kb, boolean tickEnd)
                        {
                        
                        EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer;
                        Minecraft mc = Minecraft.getMinecraft();
                        
                        MovingObjectPosition mouseOver = player.rayTrace(100D, 1F);
                        /*
                        * if(mouseOver != null && mouseOver.typeOfHit ==
                        * EnumMovingObjectType.ENTITY) { if(mouseOver.entityHit instanceof
                        * MobtestEntity) { System.out.println(mouseOver.typeOfHit.name());
                        * if(kb.keyCode == questKey.keyCode && mc.currentScreen == null &&
                        * player.getCurrentEquippedItem() != null &&
                        * player.getCurrentEquippedItem().getItem() == CoeQuestMain.quest)//
                        * ADMIN { FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 2,
                        * player.worldObj, (int)Math.floor(player.posX),
                        * (int)Math.floor(player.posY), (int)Math.floor(player.posZ)); }
                        *
                        * else if(kb.keyCode == questKey.keyCode && mc.currentScreen == null) {
                        * FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 1,
                        * player.worldObj, (int)Math.floor(player.posX),
                        * (int)Math.floor(player.posY), (int)Math.floor(player.posZ)); } } }
                        */
                        if(kb.keyCode == questKey.keyCode && mc.currentScreen == null )
                        //&& player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == CoeQuestMain.quest)//ADMIN
                        System.out.println("test 0");
                        {
                        FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 2, player.worldObj, (int)Math.floor(player.posX), (int)Math.floor(player.posY), (int)Math.floor(player.posZ));
                        if(player instanceof EntityPlayer)
                        {
                        System.out.println("test 1");
                        player = (EntityPlayer)player;
                        Entity target = null;
                        List entityTagetList =
                        par2World
                        .getEntitiesWithinAABB
                        (CoeMob.Mob.MobtestEntity.class
                        , player.boundingBox.expand(32.0D, 32.0D, 32.0D));
                        for(int i = 0; i < entityTagetList.size(); i++)
                        {
                        System.out.println("test 2");
                        Entity entityTarget = (Entity)entityTagetList.get(i);
                        if(entityTarget != player && entityTarget instanceof EntityLivingBase)
                        {
                        EntityLivingBase entityLivingTarget = (EntityLivingBase)entityTarget;
                        Vec3 vec3 = player.getLook(1.0F).normalize();
                        Vec3 vec31 = entityLivingTarget.worldObj.getWorldVec3Pool().getVecFromPool(entityLivingTarget.posX - player.posX, entityLivingTarget.boundingBox.minY + (double)(entityLivingTarget.height / 2.0F) - (player.posY + (double)player.getEyeHeight()), entityLivingTarget.posZ - player.posZ);
                        double d0 = vec31.lengthVector();
                        vec31 = vec31.normalize();
                        double d1 = vec3.dotProduct(vec31);
                        if(d1 > 1.0D - 0.025D / d0 && player.canEntityBeSeen(entityLivingTarget))
                        {
                        System.out.println("test 3");
                        target = entityLivingTarget;
                        }
                        else
                        {
                        System.out.println("test 4");
                        target = null;
                        }
                        
                        }
                        }
                        }
                        }
                        
                        /*else if(kb.keyCode == questKey.keyCode && mc.currentScreen == null)
                        {
                        FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 1, player.worldObj, (int)Math.floor(player.posX), (int)Math.floor(player.posY), (int)Math.floor(player.posZ));
                        }*/
                        team = Minecraft.getMinecraft().thePlayer.getTeam().toString();
                        System.out.println("team: "+team+Newligne);
                        System.out.println("target: " + entityTarget+Newligne);
                        System.out.println("MouseOver"+mouseOver);
                        }
                        
                        @Override
                        public EnumSet <ticktype>ticks()
                        {
                        return EnumSet.allOf(TickType.class);
                        }
                        }
                        
                        ```</ticktype></ticktype></ticktype>
                        1 réponse Dernière réponse Répondre Citer 0
                        • GuguG Hors-ligne
                          Gugu
                          dernière édition par

                          Fais un check que la méthode ne return pas null

                          "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
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            comment ca?

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

                              if(par2World.getEntitiesWithinAABB(CoeMob.Mob.MobtestEntity.class, player.boundingBox.expand(32.0D, 32.0D, 32.0D)) != null)

                              "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
                              • isadorI Hors-ligne
                                isador Moddeurs confirmés Modérateurs
                                dernière édition par

                                par contre si je veux check avec plusieurs entity comment faire?

                                edit: j’ai un NPE sur if(par2World.getEntitiesWithinAABB(CoeMob.Mob.MobtestEntity.class, player.boundingBox.expand(32.0D, 32.0D, 32.0D)) != null)

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

                                  Essaie de voir de quelle partie ça viens

                                  "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
                                  • isadorI Hors-ligne
                                    isador Moddeurs confirmés Modérateurs
                                    dernière édition par

                                    ca vient du .getEntitiesWithinAABB

                                    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 ton objet world est null, envoie toute ta classe.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • isadorI Hors-ligne
                                        isador Moddeurs confirmés Modérateurs
                                        dernière édition par

                                        
                                        package CoeQuest;
                                        
                                        import java.util.EnumSet;
                                        import java.util.List;
                                        
                                        import net.minecraft.client.Minecraft;
                                        import net.minecraft.client.settings.KeyBinding;
                                        import net.minecraft.entity.Entity;
                                        import net.minecraft.entity.EntityLivingBase;
                                        import net.minecraft.entity.player.EntityPlayer;
                                        import net.minecraft.util.MovingObjectPosition;
                                        import net.minecraft.util.Vec3;
                                        import net.minecraft.world.World;
                                        
                                        import org.lwjgl.input.Keyboard;
                                        
                                        import cpw.mods.fml.client.FMLClientHandler;
                                        import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler;
                                        import cpw.mods.fml.common.TickType;
                                        import cpw.mods.fml.common.network.FMLNetworkHandler;
                                        
                                        public class KeyBindQuest extends KeyHandler
                                        {
                                        public static KeyBinding questKey = new KeyBinding("key.button.interactKey", Keyboard.KEY_I);
                                        private EntityLivingBase entityTarget;
                                        private World par2World;
                                        
                                        private String Newligne = System.getProperty("line.separator");
                                        
                                        public KeyBindQuest()
                                        {
                                        
                                        super(new KeyBinding[] {questKey}, new boolean[] {false});
                                        }
                                        
                                        @Override
                                        public String getLabel()
                                        {
                                        return "Intéragir";
                                        }
                                        
                                        @Override
                                        public void keyDown(EnumSet <ticktype>types, KeyBinding kb, boolean tickEnd, boolean isRepeat)
                                        {}
                                        
                                        @Override
                                        public void keyUp(EnumSet <ticktype>types, KeyBinding kb, boolean tickEnd)
                                        {
                                        
                                        EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer;
                                        Minecraft mc = Minecraft.getMinecraft();
                                        
                                        MovingObjectPosition mouseOver = player.rayTrace(100D, 1F);
                                        /*
                                        * if(mouseOver != null && mouseOver.typeOfHit ==
                                        * EnumMovingObjectType.ENTITY) { if(mouseOver.entityHit instanceof
                                        * MobtestEntity) { System.out.println(mouseOver.typeOfHit.name());
                                        * if(kb.keyCode == questKey.keyCode && mc.currentScreen == null &&
                                        * player.getCurrentEquippedItem() != null &&
                                        * player.getCurrentEquippedItem().getItem() == CoeQuestMain.quest)//
                                        * ADMIN { FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 2,
                                        * player.worldObj, (int)Math.floor(player.posX),
                                        * (int)Math.floor(player.posY), (int)Math.floor(player.posZ)); }
                                        *
                                        * else if(kb.keyCode == questKey.keyCode && mc.currentScreen == null) {
                                        * FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 1,
                                        * player.worldObj, (int)Math.floor(player.posX),
                                        * (int)Math.floor(player.posY), (int)Math.floor(player.posZ)); } } }
                                        */
                                        if(kb.keyCode == questKey.keyCode && mc.currentScreen == null)
                                        // && player.getCurrentEquippedItem() != null &&
                                        // player.getCurrentEquippedItem().getItem() == CoeQuestMain.quest)ADMIN
                                        {
                                        System.out.println("test 0");
                                        // FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 2,
                                        // player.worldObj, (int)Math.floor(player.posX),
                                        // (int)Math.floor(player.posY), (int)Math.floor(player.posZ));
                                        if(player instanceof EntityPlayer)
                                        {
                                        System.out.println("test 1");
                                        player = (EntityPlayer)player;
                                        Entity target = null;
                                        System.out.println("test 1 bis");
                                        if(par2World
                                        .getEntitiesWithinAABB
                                        (CoeMob.Mob.MobtestEntity.class,
                                        player
                                        .boundingBox
                                        .expand
                                        (32.0D,
                                        32.0D,
                                        32.0D))
                                        != null)
                                        {
                                        List entityTagetList = par2World.getEntitiesWithinAABB(CoeMob.Mob.MobtestEntity.class, player.boundingBox.expand(32.0D, 32.0D, 32.0D));
                                        System.out.println("test 1 tris");
                                        for(int i = 0; i < entityTagetList.size(); i++)
                                        {
                                        System.out.println("test 2");
                                        Entity entityTarget = (Entity)entityTagetList.get(i);
                                        if(entityTarget != player && entityTarget instanceof EntityLivingBase)
                                        {
                                        EntityLivingBase entityLivingTarget = (EntityLivingBase)entityTarget;
                                        Vec3 vec3 = player.getLook(1.0F).normalize();
                                        Vec3 vec31 = entityLivingTarget.worldObj.getWorldVec3Pool().getVecFromPool(entityLivingTarget.posX - player.posX, entityLivingTarget.boundingBox.minY + (double)(entityLivingTarget.height / 2.0F) - (player.posY + (double)player.getEyeHeight()), entityLivingTarget.posZ - player.posZ);
                                        double d0 = vec31.lengthVector();
                                        vec31 = vec31.normalize();
                                        double d1 = vec3.dotProduct(vec31);
                                        if(d1 > 1.0D - 0.025D / d0 && player.canEntityBeSeen(entityLivingTarget))
                                        {
                                        System.out.println("test 3");
                                        target = entityLivingTarget;
                                        }
                                        else
                                        {
                                        System.out.println("test 4");
                                        target = null;
                                        }
                                        }
                                        }
                                        }
                                        }
                                        System.out.println("team: " + (Minecraft.getMinecraft().thePlayer.getTeam()) + Newligne);
                                        System.out.println("target: " + entityTarget + Newligne);
                                        System.out.println("MouseOver" + mouseOver);
                                        }
                                        
                                        /*
                                        * else if(kb.keyCode == questKey.keyCode && mc.currentScreen == null) {
                                        * FMLNetworkHandler.openGui(player, CoeQuestMain.instance, 1,
                                        * player.worldObj, (int)Math.floor(player.posX),
                                        * (int)Math.floor(player.posY), (int)Math.floor(player.posZ)); }
                                        */
                                        }
                                        
                                        @Override
                                        public EnumSet <ticktype>ticks()
                                        {
                                        return EnumSet.allOf(TickType.class);
                                        }
                                        }
                                        
                                        ```</ticktype></ticktype></ticktype>
                                        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

                                          private World par2World;
                                          Forcement il est null si tu fais ça …
                                          Vire se truc et remplace par2World par player.worldObj

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • isadorI Hors-ligne
                                            isador Moddeurs confirmés Modérateurs
                                            dernière édition par

                                            car crash plus mais target est toujours null

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB