Can't seem to get the entity

Discussion in 'Plugin Development' started by Lyuas, Apr 13, 2017.

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

    Lyuas

    Code:
    package com.lyuas;
    
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    
    public class ArmorStand extends JavaPlugin implements Listener{
      
    
        public void onBreak (PlayerInteractEntityEvent event, Entity entity){
          
            Player player = event.getPlayer();
          
            if(entity instanceof ArmorStand){
              
              
                player.sendMessage("§cBeklager du kan ikke ødelægge armorstands i GM 1!");
                event.setCancelled(true);
              
                return;
              
            }
              
          
          
        }
    
    }
     
    Last edited by a moderator: Apr 14, 2017
  2. Offline

    yPedx

    @Lyuas
    You forgot the @EventHandler
     
  3. Online

    timtower Administrator Administrator Moderator

    @Lyuas You didn't register the event.
    And the events only take 1 argument, not 2.
     
  4. Offline

    Lyuas

    Alright ill try

    Soo now my code looks like this but can any of you please give me an example for this code in particular?

    Code:
    package com.lyuas;
    
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    
    public class ArmorStand extends JavaPlugin implements Listener{
       
    
        @EventHandler
        public void onBreak (PlayerInteractEntityEvent event, Entity entity){
           
            Player player = event.getPlayer();
           
            if(entity instanceof ArmorStand){
               
               
                player.sendMessage("§cYou Cant destory armor stands in GM 1!");
                event.setCancelled(true);
               
                return;
               
            }
               
           
           
        }
    
    }
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Apr 15, 2017
  5. Online

    timtower Administrator Administrator Moderator

    @Lyuas Again, remove the entity part in the onBreak, the events won't work that way.
    All events have 1 parameter, the event itself.
     
  6. Offline

    Lyuas

    And will that solve it?

    Code:
    package com.lyuas;
    
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.event.player.PlayerItemBreakEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    
    public class ArmorStand extends JavaPlugin implements Listener{
      
    
        @EventHandler
        public void onBreak (PlayerItemBreakEvent event){
          
            Player player = event.getPlayer();
          
            if(event.getBrokenItem() == Armorstand){ // Error here at armor stand
              
                //and than it will have to cancel it down here BUT HOW?
              
                player.sendMessage("§cYou Cant destory armor stands in GM 1!");
              
                return;
              
            }
              
          
          
        }
    
    }
     
    Last edited by a moderator: Apr 15, 2017
  7. @Lyuas You still have not registered events.

    event#setCanceled(true) will cancel an event.

    Armour Stands are entities so Entity.ARMOURSTAND

    Should be entity death event?

    It's spelt ARMOUR not armor

    Edit: Do you own lyuas.com?
     
    Last edited: Apr 15, 2017
Thread Status:
Not open for further replies.

Share This Page