Solved getNearbyEntities();

Discussion in 'Plugin Development' started by etaxi341, Jul 7, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    etaxi341

    I want to make a Command that teleports a Player to all Entitys that are in a range of 4 Blocks to him.

    Then I want to Teleport the Player every 5 Seconds to the next of this Entitys. I am so far but he gets teleported to every entity at once:

    Code:java
    1. if (cmd.getName().equalsIgnoreCase("assasine")){
    2. if (sender instanceof Player){
    3. if(args.length == 0){
    4. final Player p = (Player) sender;
    5. if (p.isOp()){
    6.  
    7. List<Entity> ents = p.getNearbyEntities(4, 4, 4);
    8.  
    9. for (final Entity ent : ents){
    10. if (!(ent instanceof Item)){
    11. Bukkit.getScheduler().scheduleSyncDelayedTask(instanz, new Runnable() {
    12. @Override
    13. public void run() {
    14. p.teleport(ent);
    15. ent.setFireTicks(200);
    16. }
    17. },5L);
    18. }
    19. }
    20.  
    21. //RETURN TRUE IF COMMAND IS RIGHT
    22. return true;
    23. }
    24. }
    25. }
    26. }


    Thanks :)
     
  2. Offline

    finalblade1234

    etaxi341
    Hmm.. I used something like this in a private plugin. let me find it...
    Your new code: (untested...):
    Code:
      if (cmd.getName().equalsIgnoreCase("assasine")){
                if (sender instanceof Player){
                    if(args.length == 0){
    long count = 0;
                        final Player p = (Player) sender;
                        if (p.isOp()){
     
                            List<Entity> ents = p.getNearbyEntities(4, 4, 4);
     
                            for (final Entity ent : ents){
                                if (!(ent instanceof Item)){
    count = count + 5;
                                    Bukkit.getScheduler().scheduleSyncDelayedTask(instanz, new Runnable() {
                                        @Override
                                        public void run() {
                                            p.teleport(ent);
                                            ent.setFireTicks(200);
                                        }
                                    },5 + count);
                                }
                            }
     
                            //RETURN TRUE IF COMMAND IS RIGHT
                            return true;
                        }
                    }
                }
            }
     
    etaxi341 likes this.
  3. Offline

    etaxi341

  4. Offline

    finalblade1234

    Great =) glad i could help
    [EDIT Whoops tagged myself]
     
Thread Status:
Not open for further replies.

Share This Page