Solved Cant check players item in hand '-'

Discussion in 'Plugin Development' started by kaif21, Mar 5, 2015.

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

    kaif21

    SO Basically i wanna slow the player if the shooter has a bow with a lore "Ice Archer "

    Any help is much appreciated !!!

    Code:java
    1.  
    2. @EventHandler
    3. public void Trololololol(EntityDamageByEntityEvent event){
    4. Bukkit.broadcastMessage("Works 1");
    5. if(event.getDamager() instanceof Arrow && event.getEntity() instanceof Player){
    6. Bukkit.broadcastMessage("Works 4");
    7. Arrow arrow = (Arrow) event.getDamager();
    8. if(arrow.getShooter() instanceof Player) {
    9. Bukkit.broadcastMessage("Works 5");
    10. Player player = (Player) event.getDamager();
    11. LivingEntity entity = (LivingEntity) event.getEntity();
    12.  
    13. Player p = (Player) arrow.getShooter();
    14.  
    15. if(p.getItemInHand().getItemMeta().getLore().contains("Ice Archer") ){
    16. entity.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 5, 3));
    17. Bukkit.broadcastMessage("Works 3");
    18.  
    19. }
    20.  
    21. }
    22.  
    23. }
    24. }
    25.  
    26. }
    27.  

    i get"Works 1 " "Works 4" " Works 5"

    -kaif21
     
    Last edited: Mar 5, 2015
  2. Offline

    kaif21

    My problem is it wont give the player damaged slowness
    @dunklesToast

    @dunklesToast
    Dude work 3 are not broadcasting so yeeeaaa.....
    Everything works except giving the slowness effect to damaged

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  3. So, there are no errors or so?
    @kaif21
     
  4. Offline

    kaif21

  5. Offline

    stormneo7

    Code:
    Arrow arrow = (Arrow) event.getDamager();
    if(arrow.getShooter() instanceof Player) {
        Player player = (Player) event.getDamager();
    Do you see it?
     
  6. Offline

    kaif21

    @dunklesToast cant find any :..

    @stormneo7
    what u mean???

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  7. @kaif21 Put a "Works x" Message to the Check of an Item (Line 15)

    @kaif21 has teh Item Color Codes? Maybe try it with only Ice or Archer so one Word. Maybe thats the error

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  8. Offline

    kaif21

  9. Offline

    stormneo7

    Code:
        @EventHandler
        public void onDamage(EntityDamageByEntityEvent evt){
            if(evt.getDamager() instanceof Arrow && evt.getEntity() instanceof Player){
                final Arrow arrow = (Arrow) evt.getDamager();
                final Player p = (Player) evt.getEntity();
                if(arrow.getShooter() instanceof Player){
                    final Player shooter = (Player) arrow.getShooter();
                    if(shooter.getItemInHand() != null && shooter.getItemInHand().getType() == Material.BOW){
                        ItemStack item = shooter.getItemInHand();
                        if(item.hasItemMeta() && item.getItemMeta().hasLore() && item.getItemMeta().getLore().contains("Ice Archer"))
                            p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 5 * 20, 3));
                    }
                }
            }
        }
     
    kaif21 likes this.
  10. Offline

    kaif21

    @dunklesToast
    Code:java
    1.  
    2. @EventHandler
    3. public void Poopcatcher(EntityDamageByEntityEvent event){
    4. Bukkit.broadcastMessage("Works 1");
    5. if(event.getDamager() instanceof Arrow && event.getEntity() instanceof Cow){
    6. Bukkit.broadcastMessage("Works 4");
    7. Arrow arrow = (Arrow) event.getDamager();
    8. if(arrow.getShooter() instanceof Player) {
    9. Bukkit.broadcastMessage("Works 5");
    10. Player player = (Player) event.getDamager();
    11. LivingEntity entity = (LivingEntity) event.getEntity();
    12.  
    13. Player p = (Player) arrow.getShooter();
    14. Bukkit.broadcastMessage("Works Y");
    15. if(p.getItemInHand().getItemMeta().getLore().contains("Ice Archer")){
    16. Bukkit.broadcastMessage("Works X");
    17. entity.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 5, 3));
    18. Bukkit.broadcastMessage("Works 3");
    19.  
    20. }
    21.  
    22. }
    23.  
    24. }
    25. }
    26. [syntax]
    27. not x nor y
    28.  
    29. [USER=90826134]@stormneo7[/USER]
    30. Trying...
    31.  
    32. EDIT by Moderator: merged posts, please use the edit button instead of double posting.[/syntax]
     
    Last edited by a moderator: Jun 13, 2016
  11. Offline

    kaif21

  12. Offline

    kaif21

  13. Offline

    Code0

    All you did wrong was cast the damager to an arrow and then later cast it to a player anyways...
     
    kaif21 likes this.
  14. Offline

    kaif21

    @Code0
    right...............................(voice fades)
     
    Code0 likes this.
Thread Status:
Not open for further replies.

Share This Page