Program: 12680
Project: 12680
Buggy source:
@Override public IMessage handleServerMessage(EntityPlayer player,InputEventPacket message,MessageContext ctx){
  if (message.action == null)   return null;
  IFactionPlayer factionPlayer=FactionPlayerHandler.get(player).getCurrentFactionPlayer();
  if (message.action.equals(SUCKBLOOD)) {
    int id=0;
    try {
      id=Integer.parseInt(message.param);
    }
 catch (    NumberFormatException e) {
      VampirismMod.log.e(TAG,e,"String_Node_Str",message.action);
    }
    if (id != 0) {
      VampirePlayer.get(player).biteEntity(id);
    }
  }
 else   if (message.action.equals(TOGGLEACTION)) {
    int id=-1;
    try {
      id=Integer.parseInt(message.param);
    }
 catch (    NumberFormatException e) {
      VampirismMod.log.e(TAG,e,"String_Node_Str",message.action);
    }
    if (id != -1) {
      if (factionPlayer != null) {
        IActionHandler actionHandler=VampirismAPI.getFactionPlayerHandler(player).getCurrentFactionPlayer().getActionHandler();
        IAction action=((ActionHandler)actionHandler).getActionFromId(id);
        if (action != null) {
          IAction.PERM r=VampirePlayer.get(player).getActionHandler().toggleAction(action);
switch (r) {
case NOT_UNLOCKED:
            player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
          break;
case DISABLED:
        player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
      break;
case COOLDOWN:
    player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
  break;
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str",id);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str",player,id);
}
}
}
 else if (message.action.equals(UNLOCKSKILL)) {
if (factionPlayer != null) {
ISkill skill=VampirismAPI.skillRegistry().getSkill(factionPlayer.getFaction(),message.param);
if (skill != null) {
ISkillHandler skillHandler=factionPlayer.getSkillHandler();
ISkillHandler.Result result=skillHandler.canSkillBeEnabled(skill);
if (result == ISkillHandler.Result.OK) {
skillHandler.enableSkill(skill);
if (factionPlayer instanceof ISyncable.ISyncableEntityCapabilityInst && skillHandler instanceof SkillHandler) {
NBTTagCompound sync=new NBTTagCompound();
((SkillHandler)skillHandler).writeUpdateForClient(sync);
HelperLib.sync((ISyncable.ISyncableEntityCapabilityInst)factionPlayer,sync,factionPlayer.getRepresentingPlayer(),false);
}
}
 else {
VampirismMod.log.w(TAG,"String_Node_Str",skill,player,result);
}
}
 else {
VampirismMod.log.w(TAG,"String_Node_Str",message.param,player);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str");
}
}
 else if (message.action.equals(RESETSKILL)) {
if (factionPlayer != null) {
ISkillHandler skillHandler=factionPlayer.getSkillHandler();
skillHandler.resetSkills();
if (factionPlayer instanceof ISyncable.ISyncableEntityCapabilityInst && skillHandler instanceof SkillHandler) {
NBTTagCompound sync=new NBTTagCompound();
((SkillHandler)skillHandler).writeUpdateForClient(sync);
HelperLib.sync((ISyncable.ISyncableEntityCapabilityInst)factionPlayer,sync,factionPlayer.getRepresentingPlayer(),false);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str");
}
}
 else if (message.action.equals(TRAINERLEVELUP)) {
if (player.openContainer instanceof HunterTrainerContainer) {
((HunterTrainerContainer)player.openContainer).onLevelupClicked();
}
}
 else if (message.action.equals(REVERTBACK)) {
FactionPlayerHandler.get(player).setFactionAndLevel(null,0);
VampirismMod.log.d(TAG,"String_Node_Str",player);
player.attackEntityFrom(DamageSource.magic,1000);
}
 else if (message.action.equals(WAKEUP)) {
VampirePlayer.get(player).wakeUpPlayer(false,true,true);
}
 else if (message.action.equals(VAMPIRE_VISION_TOGGLE)) {
VampirePlayer.get(player).switchVision();
}
 else if (message.action.equals(CRAFT_BLOOD_POTION)) {
if (player.openContainer != null && player.openContainer instanceof BloodPotionTableContainer) {
((BloodPotionTableContainer)player.openContainer).onCraftingClicked();
}
}
 else if (message.action.equals(OPEN_BLOOD_POTION)) {
IHunterPlayer hunter=HunterPlayer.get(player);
if (hunter.getLevel() > 0) {
if (hunter.getSkillHandler().isSkillEnabled(HunterSkills.bloodPotion_portableCrafting)) {
player.openGui(VampirismMod.instance,ModGuiHandler.ID_BLOOD_POTION_TABLE,player.worldObj,player.getPosition().getX(),player.getPosition().getY(),player.getPosition().getZ());
}
 else {
player.addChatComponentMessage(new TextComponentTranslation("String_Node_Str",new TextComponentTranslation(HunterSkills.bloodPotion_portableCrafting.getUnlocalizedName())));
}
}
 else {
player.addChatComponentMessage(new TextComponentTranslation("String_Node_Str",new TextComponentTranslation(VReference.HUNTER_FACTION.getUnlocalizedName())));
}
}
return null;
}

Fixed version (ground truth):
@Override public IMessage handleServerMessage(EntityPlayer player,InputEventPacket message,MessageContext ctx){
  if (message.action == null)   return null;
  IFactionPlayer factionPlayer=FactionPlayerHandler.get(player).getCurrentFactionPlayer();
  if (message.action.equals(SUCKBLOOD)) {
    int id=0;
    try {
      id=Integer.parseInt(message.param);
    }
 catch (    NumberFormatException e) {
      VampirismMod.log.e(TAG,e,"String_Node_Str",message.action);
    }
    if (id != 0) {
      VampirePlayer.get(player).biteEntity(id);
    }
  }
 else   if (message.action.equals(TOGGLEACTION)) {
    int id=-1;
    try {
      id=Integer.parseInt(message.param);
    }
 catch (    NumberFormatException e) {
      VampirismMod.log.e(TAG,e,"String_Node_Str",message.action);
    }
    if (id != -1) {
      if (factionPlayer != null) {
        IActionHandler actionHandler=VampirismAPI.getFactionPlayerHandler(player).getCurrentFactionPlayer().getActionHandler();
        IAction action=((ActionHandler)actionHandler).getActionFromId(id);
        if (action != null) {
          IAction.PERM r=VampirePlayer.get(player).getActionHandler().toggleAction(action);
switch (r) {
case NOT_UNLOCKED:
            player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
          break;
case DISABLED:
        player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
      break;
case COOLDOWN:
    player.addChatMessage(new TextComponentTranslation("String_Node_Str"));
  break;
default :
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str",id);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str",player,id);
}
}
}
 else if (message.action.equals(UNLOCKSKILL)) {
if (factionPlayer != null) {
ISkill skill=VampirismAPI.skillRegistry().getSkill(factionPlayer.getFaction(),message.param);
if (skill != null) {
ISkillHandler skillHandler=factionPlayer.getSkillHandler();
ISkillHandler.Result result=skillHandler.canSkillBeEnabled(skill);
if (result == ISkillHandler.Result.OK) {
skillHandler.enableSkill(skill);
if (factionPlayer instanceof ISyncable.ISyncableEntityCapabilityInst && skillHandler instanceof SkillHandler) {
NBTTagCompound sync=new NBTTagCompound();
((SkillHandler)skillHandler).writeUpdateForClient(sync);
HelperLib.sync((ISyncable.ISyncableEntityCapabilityInst)factionPlayer,sync,factionPlayer.getRepresentingPlayer(),false);
}
}
 else {
VampirismMod.log.w(TAG,"String_Node_Str",skill,player,result);
}
}
 else {
VampirismMod.log.w(TAG,"String_Node_Str",message.param,player);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str");
}
}
 else if (message.action.equals(RESETSKILL)) {
if (factionPlayer != null) {
ISkillHandler skillHandler=factionPlayer.getSkillHandler();
skillHandler.resetSkills();
if (factionPlayer instanceof ISyncable.ISyncableEntityCapabilityInst && skillHandler instanceof SkillHandler) {
NBTTagCompound sync=new NBTTagCompound();
((SkillHandler)skillHandler).writeUpdateForClient(sync);
HelperLib.sync((ISyncable.ISyncableEntityCapabilityInst)factionPlayer,sync,factionPlayer.getRepresentingPlayer(),false);
}
}
 else {
VampirismMod.log.e(TAG,"String_Node_Str");
}
}
 else if (message.action.equals(TRAINERLEVELUP)) {
if (player.openContainer instanceof HunterTrainerContainer) {
((HunterTrainerContainer)player.openContainer).onLevelupClicked();
}
}
 else if (message.action.equals(REVERTBACK)) {
FactionPlayerHandler.get(player).setFactionAndLevel(null,0);
VampirismMod.log.d(TAG,"String_Node_Str",player);
player.attackEntityFrom(DamageSource.magic,1000);
}
 else if (message.action.equals(WAKEUP)) {
VampirePlayer.get(player).wakeUpPlayer(false,true,true);
}
 else if (message.action.equals(VAMPIRE_VISION_TOGGLE)) {
VampirePlayer.get(player).switchVision();
}
 else if (message.action.equals(CRAFT_BLOOD_POTION)) {
if (player.openContainer != null && player.openContainer instanceof BloodPotionTableContainer) {
((BloodPotionTableContainer)player.openContainer).onCraftingClicked();
}
}
 else if (message.action.equals(OPEN_BLOOD_POTION)) {
IHunterPlayer hunter=HunterPlayer.get(player);
if (hunter.getLevel() > 0) {
if (hunter.getSkillHandler().isSkillEnabled(HunterSkills.bloodPotion_portableCrafting)) {
player.openGui(VampirismMod.instance,ModGuiHandler.ID_BLOOD_POTION_TABLE,player.worldObj,player.getPosition().getX(),player.getPosition().getY(),player.getPosition().getZ());
}
 else {
player.addChatComponentMessage(new TextComponentTranslation("String_Node_Str",new TextComponentTranslation(HunterSkills.bloodPotion_portableCrafting.getUnlocalizedName())));
}
}
 else {
player.addChatComponentMessage(new TextComponentTranslation("String_Node_Str",new TextComponentTranslation(VReference.HUNTER_FACTION.getUnlocalizedName())));
}
}
return null;
}