Stopping SnowBalls and Arrows Destroying ItemFrames

Discussion in 'Plugin Development' started by OppositeGamer, Jan 2, 2013.

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

    OppositeGamer

    I figured this would have worked. But nope! lol Any help?

    Code:
        public void onBlockHangingBreak(HangingBreakEvent event) {
           
            if(event.getCause() == RemoveCause.EXPLOSION) {
                event.setCancelled(true);
            }
              if (event instanceof HangingBreakByEntityEvent) {
                    HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
                    Entity removerEntity = entityEvent.getRemover();
                   
                    if(removerEntity instanceof Snowball || removerEntity instanceof Projectile) return;
                   
                    if (removerEntity instanceof Player) {
                        Player player = (Player) removerEntity;
                       
                        if(player.isOp()) {
                            event.setCancelled(false);
                       
                        } else if(!player.isOp()) {
                            event.setCancelled(true);
                        }
                    }
            }
        }
    }
    
     
  2. Offline

    fireblast709

    Have you tried debugging it
    Code:
    public void onBlockHangingBreak(HangingBreakEvent event) 
    {       
        System.out.println(event.getCause().name());
        if(event.getCause() == RemoveCause.EXPLOSION) 
        {
            event.setCancelled(true);
        }
        if (event instanceof HangingBreakByEntityEvent) 
        {
            HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
            Entity removerEntity = entityEvent.getRemover();
            System.out.println(removerEntity.getType().name());
           
            if(removerEntity instanceof Projectile) return;
           
            if (removerEntity instanceof Player)
            {
                Player player = (Player) removerEntity;
                System.out.println("name: "+player.getName());
               
                if(player.isOp()) 
                {
                    event.setCancelled(false);
               
                }
                else 
                {
                    event.setCancelled(true);
                }
            }
        }
    }
     
  3. Offline

    OppositeGamer

    Many times lol
     
  4. Offline

    fireblast709

    what does my snippet tell you
     
Thread Status:
Not open for further replies.

Share This Page