Buggy code:
public class PlayerListener implements Listener { private static final List < Material > blockedBlocks = Lists . newArrayList ( ENCHANTMENT_TABLE , ANVIL , BED , MINECART , STORAGE_MINECART ) ; private static final int bleedChance = 12 ; private static final int diseaseChance = 3 ; private static final List < String > allowedCMDS = Lists . newArrayList ( "//credits" , "//pop" , "//break" , "//hub" , "//pause" , "//logout" , "//log-out" , "//leave" , "//abort" , "//exit" , "//msg" , "//r" , "//pm" , "//message" , "//me" ) ; private static final List < Material > food = Lists . newArrayList ( MELON , RAW_FISH , RAW_CHICKEN , RAW_BEEF , BREAD , COOKIE , POTATO_ITEM , CARROT_ITEM , APPLE , MUSHROOM_SOUP , PORK , GRILLED_PORK , COOKED_FISH , BAKED_POTATO , COOKED_CHICKEN ) ; @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerItemConsumeEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerInteractEntityEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerInteractEvent e ) { if ( ! ( WorldCheck . is ( e . getPlayer ( ) . getWorld ( ) ) ) ) return ; Player p = e . getPlayer ( ) ; Material hand = e . getPlayer ( ) . getItemInHand ( ) . getType ( ) ; <START_BUG> if ( ( e . getAction ( ) . equals ( RIGHT_CLICK_AIR ) ) || ( ( e . getAction ( ) ) == ( Action . RIGHT_CLICK_BLOCK ) ) ) { <END_BUG> if ( hand . equals ( PAPER ) ) { p . sendMessage ( ( ( ChatColor . GREEN ) + "You<seq2seq4repair_space>bandaged<seq2seq4repair_space>your<seq2seq4repair_space>wounds." ) ) ; ItemUtil . removeOne ( p , PAPER ) ; BleedingManager . bandage ( p , true ) ; } } if ( ( e . hasBlock ( ) ) && ( e . getClickedBlock ( ) . getType ( ) . equals ( STONE_BUTTON ) ) ) { ButtonManager . despawnButon ( e . getClickedBlock ( ) . getLocation ( ) ) ; } if ( ( hand == ( Material . BUCKET ) ) || ( hand == ( Material . WATER_BUCKET ) ) ) { e . setCancelled ( true ) ; } if ( ( e . hasBlock ( ) ) && ( hand == ( Material . SLIME_BALL ) ) ) { new SmokeGrenade ( e . getClickedBlock ( ) . getLocation ( ) ) ; ItemUtil . removeOne ( p , SLIME_BALL ) ; } if ( ( ( ( e . hasBlock ( ) ) && ( ( e . getAction ( ) ) == ( Action . RIGHT_CLICK_BLOCK ) ) ) && ( ( e . getClickedBlock ( ) . getRelative ( e . getBlockFace ( ) ) . getType ( ) ) == ( Material . STATIONARY_WATER ) ) ) && ( hand == ( Material . GLASS_BOTTLE ) ) ) { e . setCancelled ( true ) ; ItemUtil . removeOne ( p , GLASS_BOTTLE ) ; p . getInventory ( ) . addItem ( WATERBOTTLE . build ( ) ) ; p . updateInventory ( ) ; } if ( ( e . getAction ( ) ) == ( Action . RIGHT_CLICK_BLOCK ) ) { if ( PlayerListener . blockedBlocks . contains ( e . getClickedBlock ( ) . getType ( ) ) ) { e . setCancelled ( true ) ; } } if ( ( ( ( e . hasBlock ( ) ) && ( ( e . getClickedBlock ( ) . getType ( ) ) == ( Material . GRASS ) ) ) && ( hand == ( Material . INK_SACK ) ) ) && ( ! ( p . hasPermission ( "minegusta.builder" ) ) ) ) { e . setCancelled ( true ) ; } } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( BlockPlaceEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( BlockBreakEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( EntityDamageByEntityEvent e ) { } private void healPlayer ( Player p , Player healer ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerDeathEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerRespawnEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerCommandPreprocessEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onEvent ( PlayerToggleSprintEvent e ) { } @ EventHandler ( priority = EventPriority . LOWEST ) public void onHeal ( EntityRegainHealthEvent e ) { } }

Fix:
if ( ( e . getAction ( ) ) == ( Action . RIGHT_CLICK_BLOCK ) ) {