Program: 43098
Project: 43098
Buggy source:
/** 
 * Registers event listeners
 * @param pm PluginManager
 */
private void registerListeners(PluginManager pm){
  if (Config.isLogged(DataType.BLOCK_BREAK))   pm.registerEvent(Type.BLOCK_BREAK,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_PLACE))   pm.registerEvent(Type.BLOCK_PLACE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_BURN))   pm.registerEvent(Type.BLOCK_BURN,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.LEAF_DECAY))   pm.registerEvent(Type.LEAVES_DECAY,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_FORM))   pm.registerEvent(Type.BLOCK_FORM,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.LAVA_FLOW) || Config.isLogged(DataType.WATER_FLOW))   pm.registerEvent(Type.BLOCK_FROMTO,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.SIGN_PLACE))   pm.registerEvent(Type.SIGN_CHANGE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_FADE))   pm.registerEvent(Type.BLOCK_FADE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.COMMAND))   pm.registerEvent(Type.PLAYER_COMMAND_PREPROCESS,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.CHAT))   pm.registerEvent(Type.PLAYER_CHAT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.JOIN))   pm.registerEvent(Type.PLAYER_JOIN,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.QUIT))   pm.registerEvent(Type.PLAYER_QUIT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.TELEPORT))   pm.registerEvent(Type.PLAYER_TELEPORT,monitorPlayerListener,Event.Priority.Monitor,this);
  pm.registerEvent(Type.PLAYER_INTERACT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.ITEM_DROP))   pm.registerEvent(Type.PLAYER_DROP_ITEM,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.ITEM_PICKUP))   pm.registerEvent(Type.PLAYER_PICKUP_ITEM,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PVP_DEATH) || Config.isLogged(DataType.MOB_DEATH) || Config.isLogged(DataType.OTHER_DEATH))   pm.registerEvent(Type.ENTITY_DEATH,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.EXPLOSION))   pm.registerEvent(Type.ENTITY_EXPLODE,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PAINTING_BREAK))   pm.registerEvent(Type.PAINTING_BREAK,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PAINTING_BREAK))   pm.registerEvent(Type.PAINTING_PLACE,monitorEntityListener,Event.Priority.Monitor,this);
  pm.registerEvent(Type.BLOCK_PLACE,toolBlockListener,Event.Priority.Highest,this);
  pm.registerEvent(Type.PLAYER_INTERACT,toolPlayerListener,Event.Priority.Highest,this);
}

Fixed version (ground truth):
/** 
 * Registers event listeners
 * @param pm PluginManager
 */
private void registerListeners(PluginManager pm){
  if (Config.isLogged(DataType.BLOCK_BREAK))   pm.registerEvent(Type.BLOCK_BREAK,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_PLACE))   pm.registerEvent(Type.BLOCK_PLACE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_BURN))   pm.registerEvent(Type.BLOCK_BURN,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.LEAF_DECAY))   pm.registerEvent(Type.LEAVES_DECAY,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_FORM))   pm.registerEvent(Type.BLOCK_FORM,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.LAVA_FLOW) || Config.isLogged(DataType.WATER_FLOW))   pm.registerEvent(Type.BLOCK_FROMTO,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.SIGN_PLACE))   pm.registerEvent(Type.SIGN_CHANGE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.BLOCK_FADE))   pm.registerEvent(Type.BLOCK_FADE,monitorBlockListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.COMMAND))   pm.registerEvent(Type.PLAYER_COMMAND_PREPROCESS,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.CHAT))   pm.registerEvent(Type.PLAYER_CHAT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.JOIN))   pm.registerEvent(Type.PLAYER_JOIN,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.QUIT))   pm.registerEvent(Type.PLAYER_QUIT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.TELEPORT))   pm.registerEvent(Type.PLAYER_TELEPORT,monitorPlayerListener,Event.Priority.Monitor,this);
  pm.registerEvent(Type.PLAYER_INTERACT,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.ITEM_DROP))   pm.registerEvent(Type.PLAYER_DROP_ITEM,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.ITEM_PICKUP))   pm.registerEvent(Type.PLAYER_PICKUP_ITEM,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.CONTAINER_TRANSACTION))   pm.registerEvent(Type.PLAYER_MOVE,monitorPlayerListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PVP_DEATH) || Config.isLogged(DataType.MOB_DEATH) || Config.isLogged(DataType.OTHER_DEATH))   pm.registerEvent(Type.ENTITY_DEATH,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.EXPLOSION))   pm.registerEvent(Type.ENTITY_EXPLODE,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PAINTING_BREAK))   pm.registerEvent(Type.PAINTING_BREAK,monitorEntityListener,Event.Priority.Monitor,this);
  if (Config.isLogged(DataType.PAINTING_BREAK))   pm.registerEvent(Type.PAINTING_PLACE,monitorEntityListener,Event.Priority.Monitor,this);
  pm.registerEvent(Type.BLOCK_PLACE,toolBlockListener,Event.Priority.Highest,this);
  pm.registerEvent(Type.PLAYER_INTERACT,toolPlayerListener,Event.Priority.Highest,this);
}