Program: 187489
Project: 187489
Buggy source:
public void onEnable(){
  plugin=this;
  this.isReady=false;
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  MyPetVersion.reset();
  MyPetLogger.setConsole(getServer().getConsoleSender());
  if (!Bukkit.getServer().getClass().getName().contains(MyPetVersion.getBukkitPacket())) {
    MyPetLogger.write(ChatColor.RED + "String_Node_Str" + MyPetVersion.getMinecraftVersion()+ "String_Node_Str"+ MyPetVersion.getBukkitPacket()+ "String_Node_Str");
    Bukkit.getPluginManager().disablePlugin(this);
    return;
  }
  PvPChecker.reset();
  PluginHookManager.reset();
  Economy.reset();
  JavaScript.reset();
  Configuration.config=this.getConfig();
  Configuration.setDefault();
  Configuration.loadConfiguration();
  DebugLogger.setup();
  DebugLogger.info("String_Node_Str");
  DebugLogger.info("String_Node_Str" + MyPetVersion.getVersion() + "String_Node_Str"+ MyPetVersion.getBuild());
  DebugLogger.info("String_Node_Str" + getServer().getVersion());
  DebugLogger.info("String_Node_Str" + getServer().getOnlineMode());
  DebugLogger.info("String_Node_Str" + System.getProperty("String_Node_Str") + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str"+ System.getProperty("String_Node_Str"));
  DebugLogger.info("String_Node_Str" + System.getProperty("String_Node_Str") + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str"+ System.getProperty("String_Node_Str"));
  DebugLogger.info("String_Node_Str" + Arrays.toString(getServer().getPluginManager().getPlugins()));
  PlayerListener playerListener=new PlayerListener();
  getServer().getPluginManager().registerEvents(playerListener,this);
  VehicleListener vehicleListener=new VehicleListener();
  getServer().getPluginManager().registerEvents(vehicleListener,this);
  EntityListener entityListener=new EntityListener();
  getServer().getPluginManager().registerEvents(entityListener,this);
  LevelUpListener levelupListener=new LevelUpListener();
  getServer().getPluginManager().registerEvents(levelupListener,this);
  WorldListener worldListener=new WorldListener();
  getServer().getPluginManager().registerEvents(worldListener,this);
  PluginHookManager pluginSupportListener=new PluginHookManager();
  getServer().getPluginManager().registerEvents(pluginSupportListener,this);
  getCommand("String_Node_Str").setExecutor(new CommandName());
  getCommand("String_Node_Str").setExecutor(new CommandCall());
  getCommand("String_Node_Str").setExecutor(new CommandSendAway());
  getCommand("String_Node_Str").setExecutor(new CommandStop());
  getCommand("String_Node_Str").setExecutor(new CommandRelease());
  getCommand("String_Node_Str").setExecutor(new CommandHelp());
  getCommand("String_Node_Str").setExecutor(new CommandInventory());
  getCommand("String_Node_Str").setExecutor(new CommandPickup());
  getCommand("String_Node_Str").setExecutor(new CommandBehavior());
  getCommand("String_Node_Str").setExecutor(new CommandInfo());
  getCommand("String_Node_Str").setExecutor(new CommandAdmin());
  getCommand("String_Node_Str").setExecutor(new CommandSkill());
  getCommand("String_Node_Str").setExecutor(new CommandShowSkillTree());
  getCommand("String_Node_Str").setExecutor(new CommandChooseSkilltree());
  getCommand("String_Node_Str").setExecutor(new CommandBeacon());
  getCommand("String_Node_Str").setExecutor(new CommandRespawn());
  getCommand("String_Node_Str").setExecutor(new CommandPetType());
  getCommand("String_Node_Str").setExecutor(new CommandCaptureHelper());
  getCommand("String_Node_Str").setExecutor(new CommandOptions());
  registerSkillsInfo();
  registerSkills();
  File defaultSkillConfigNBT=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  File defaultSkillConfigYAML=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  File defaultSkillConfigJSON=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  if (!defaultSkillConfigNBT.exists() && !defaultSkillConfigYAML.exists() && !defaultSkillConfigJSON.exists()) {
    try {
      InputStream template=getPlugin().getResource("String_Node_Str");
      OutputStream out=new FileOutputStream(defaultSkillConfigNBT);
      byte[] buf=new byte[1024];
      int len;
      while ((len=template.read(buf)) > 0) {
        out.write(buf,0,len);
      }
      template.close();
      out.close();
      MyPetLogger.write("String_Node_Str");
      DebugLogger.info("String_Node_Str");
    }
 catch (    IOException ex) {
      MyPetLogger.write(ChatColor.RED + "String_Node_Str" + ChatColor.RESET+ "String_Node_Str");
      DebugLogger.info("String_Node_Str");
    }
  }
  String[] petTypes=new String[MyPetType.values().length + 1];
  petTypes[0]="String_Node_Str";
  for (int i=1; i <= MyPetType.values().length; i++) {
    petTypes[i]=MyPetType.values()[i - 1].getTypeName();
  }
  SkillTreeMobType.clearMobTypes();
  SkillTreeLoaderNBT.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  SkillTreeLoaderYAML.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  SkillTreeLoaderJSON.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  Set<String> skilltreeNames=new LinkedHashSet<>();
  for (  MyPetType mobType : MyPetType.values()) {
    SkillTreeMobType skillTreeMobType=SkillTreeMobType.getMobTypeByName(mobType.getTypeName());
    SkillTreeLoader.addDefault(skillTreeMobType);
    SkillTreeLoader.manageInheritance(skillTreeMobType);
    skilltreeNames.addAll(skillTreeMobType.getSkillTreeNames());
  }
  for (  String skilltreeName : skilltreeNames) {
    try {
      Bukkit.getPluginManager().addPermission(new Permission("String_Node_Str" + skilltreeName));
    }
 catch (    Exception ignored) {
      DebugLogger.warning("String_Node_Str" + "String_Node_Str" + skilltreeName + "String_Node_Str");
    }
  }
  BukkitUtil.registerMyPetEntity(EntityMyCreeper.class,"String_Node_Str",50);
  BukkitUtil.registerMyPetEntity(EntityMySkeleton.class,"String_Node_Str",51);
  BukkitUtil.registerMyPetEntity(EntityMySpider.class,"String_Node_Str",52);
  BukkitUtil.registerMyPetEntity(EntityMyGiant.class,"String_Node_Str",53);
  BukkitUtil.registerMyPetEntity(EntityMyZombie.class,"String_Node_Str",54);
  BukkitUtil.registerMyPetEntity(EntityMySlime.class,"String_Node_Str",55);
  BukkitUtil.registerMyPetEntity(EntityMyGhast.class,"String_Node_Str",56);
  BukkitUtil.registerMyPetEntity(EntityMyPigZombie.class,"String_Node_Str",57);
  BukkitUtil.registerMyPetEntity(EntityMyEnderman.class,"String_Node_Str",58);
  BukkitUtil.registerMyPetEntity(EntityMyCaveSpider.class,"String_Node_Str",59);
  BukkitUtil.registerMyPetEntity(EntityMySilverfish.class,"String_Node_Str",60);
  BukkitUtil.registerMyPetEntity(EntityMyBlaze.class,"String_Node_Str",61);
  BukkitUtil.registerMyPetEntity(EntityMyMagmaCube.class,"String_Node_Str",62);
  BukkitUtil.registerMyPetEntity(EntityMyWither.class,"String_Node_Str",64);
  BukkitUtil.registerMyPetEntity(EntityMyBat.class,"String_Node_Str",65);
  BukkitUtil.registerMyPetEntity(EntityMyWitch.class,"String_Node_Str",66);
  BukkitUtil.registerMyPetEntity(EntityMyEndermite.class,"String_Node_Str",67);
  BukkitUtil.registerMyPetEntity(EntityMyGuardian.class,"String_Node_Str",68);
  BukkitUtil.registerMyPetEntity(EntityMyPig.class,"String_Node_Str",90);
  BukkitUtil.registerMyPetEntity(EntityMySheep.class,"String_Node_Str",91);
  BukkitUtil.registerMyPetEntity(EntityMyCow.class,"String_Node_Str",92);
  BukkitUtil.registerMyPetEntity(EntityMyChicken.class,"String_Node_Str",93);
  BukkitUtil.registerMyPetEntity(EntityMySquid.class,"String_Node_Str",94);
  BukkitUtil.registerMyPetEntity(EntityMyWolf.class,"String_Node_Str",95);
  BukkitUtil.registerMyPetEntity(EntityMyMooshroom.class,"String_Node_Str",96);
  BukkitUtil.registerMyPetEntity(EntityMySnowman.class,"String_Node_Str",97);
  BukkitUtil.registerMyPetEntity(EntityMyOcelot.class,"String_Node_Str",98);
  BukkitUtil.registerMyPetEntity(EntityMyIronGolem.class,"String_Node_Str",99);
  BukkitUtil.registerMyPetEntity(EntityMyHorse.class,"String_Node_Str",100);
  BukkitUtil.registerMyPetEntity(EntityMyRabbit.class,"String_Node_Str",101);
  BukkitUtil.registerMyPetEntity(EntityMyVillager.class,"String_Node_Str",120);
  new Locales();
  Bungee.reset();
  File groupsFile=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str");
  pluginStorage=new PluginStorage();
  repo=new NbtRepository();
  repo.init();
  if (repo instanceof IScheduler) {
    Timer.addTask((IScheduler)repo);
  }
  loadGroups(groupsFile);
  Timer.startTimer();
  MobArena.findPlugin();
  Minigames.findPlugin();
  PvPArena.findPlugin();
  BattleArena.findPlugin();
  SurvivalGames.findPlugin();
  UltimateSurvivalGames.findPlugin();
  MyHungerGames.findPlugin();
  try {
    Metrics metrics=new Metrics(this);
    boolean metricsActive=false;
    if (!metrics.isOptOut()) {
      Graph graphTotalCount=metrics.createGraph("String_Node_Str");
      Plotter plotter=new Metrics.Plotter("String_Node_Str"){
        @Override public int getValue(){
          return MyPetList.countActiveMyPets();
        }
      }
;
      graphTotalCount.addPlotter(plotter);
      metricsActive=metrics.start();
    }
    DebugLogger.info("String_Node_Str" + (metricsActive ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
  }
 catch (  IOException e) {
    MyPetLogger.write(e.getMessage());
  }
  MyPetLogger.write("String_Node_Str" + MyPetVersion.getVersion() + "String_Node_Str"+ MyPetVersion.getBuild()+ ChatColor.GREEN+ "String_Node_Str");
  this.isReady=true;
  for (  final Player player : getServer().getOnlinePlayers()) {
    PlayerList.onlinePlayerUUIDList.add(player.getUniqueId());
    MyPetPlugin.getPlugin().getRepository().getMyPetPlayer(player,new RepositoryCallback<MyPetPlayer>(){
      @Override public void callback(      final MyPetPlayer joinedPlayer){
        if (joinedPlayer != null) {
          PlayerList.setOnline(joinedPlayer);
          if (BukkitUtil.isInOnlineMode()) {
            if (joinedPlayer instanceof OnlineMyPetPlayer) {
              ((OnlineMyPetPlayer)joinedPlayer).setLastKnownName(player.getName());
            }
          }
          final WorldGroup joinGroup=WorldGroup.getGroupByWorld(player.getWorld().getName());
          if (joinedPlayer.hasMyPet()) {
            MyPet myPet=joinedPlayer.getMyPet();
            if (!myPet.getWorldGroup().equals(joinGroup.getName())) {
              MyPetList.deactivateMyPet(joinedPlayer);
            }
          }
          if (joinGroup != null && !joinedPlayer.hasMyPet() && joinedPlayer.hasMyPetInWorldGroup(joinGroup.getName())) {
            final UUID groupMyPetUUID=joinedPlayer.getMyPetForWorldGroup(joinGroup.getName());
            joinedPlayer.getInactiveMyPets(new RepositoryCallback<List<InactiveMyPet>>(){
              @Override public void callback(              List<InactiveMyPet> value){
                for (                InactiveMyPet inactiveMyPet : value) {
                  if (inactiveMyPet.getUUID().equals(groupMyPetUUID)) {
                    MyPetList.activateMyPet(inactiveMyPet);
                    MyPet activeMyPet=joinedPlayer.getMyPet();
                    activeMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",joinedPlayer),activeMyPet.getPetName()));
                    break;
                  }
                }
                if (!joinedPlayer.hasMyPet() && value.size() > 0) {
                  joinedPlayer.getPlayer().sendMessage(Locales.getString("String_Node_Str",joinedPlayer));
                  joinedPlayer.setMyPetForWorldGroup(joinGroup.getName(),null);
                }
              }
            }
);
          }
          if (joinedPlayer.hasMyPet()) {
            final MyPet myPet=joinedPlayer.getMyPet();
            final MyPetPlayer myPetPlayer=myPet.getOwner();
            if (myPet.wantToRespawn()) {
              if (myPetPlayer.hasMyPet()) {
                MyPet runMyPet=myPetPlayer.getMyPet();
switch (runMyPet.createPet()) {
case Canceled:
                  runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
                break;
case NoSpace:
              runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
            break;
case NotAllowed:
          runMyPet.sendMessageToOwner(Locales.getString("String_Node_Str",myPet.getOwner()).replace("String_Node_Str",myPet.getPetName()));
        break;
case Dead:
      runMyPet.sendMessageToOwner(Locales.getString("String_Node_Str",myPet.getOwner()).replace("String_Node_Str",myPet.getPetName()).replace("String_Node_Str","String_Node_Str" + myPet.getRespawnTime()));
    break;
case Flying:
  runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),myPet.getPetName()));
break;
case Success:
runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
break;
}
}
}
 else {
myPet.setStatus(MyPet.PetState.Despawned);
}
}
joinedPlayer.checkForDonation();
}
}
}
);
}
DebugLogger.info("String_Node_Str");
}

Fixed version (ground truth):
public void onEnable(){
  plugin=this;
  this.isReady=false;
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  new File(getPlugin().getDataFolder().getAbsolutePath() + File.separator + "String_Node_Str"+ File.separator).mkdirs();
  MyPetVersion.reset();
  MyPetLogger.setConsole(getServer().getConsoleSender());
  if (!Bukkit.getServer().getClass().getName().contains(MyPetVersion.getBukkitPacket())) {
    MyPetLogger.write(ChatColor.RED + "String_Node_Str" + MyPetVersion.getMinecraftVersion()+ "String_Node_Str"+ MyPetVersion.getBukkitPacket()+ "String_Node_Str");
    Bukkit.getPluginManager().disablePlugin(this);
    return;
  }
  PvPChecker.reset();
  PluginHookManager.reset();
  Economy.reset();
  JavaScript.reset();
  Configuration.config=this.getConfig();
  Configuration.setDefault();
  Configuration.loadConfiguration();
  DebugLogger.setup();
  DebugLogger.info("String_Node_Str");
  DebugLogger.info("String_Node_Str" + MyPetVersion.getVersion() + "String_Node_Str"+ MyPetVersion.getBuild());
  DebugLogger.info("String_Node_Str" + getServer().getVersion());
  DebugLogger.info("String_Node_Str" + getServer().getOnlineMode());
  DebugLogger.info("String_Node_Str" + System.getProperty("String_Node_Str") + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str"+ System.getProperty("String_Node_Str"));
  DebugLogger.info("String_Node_Str" + System.getProperty("String_Node_Str") + "String_Node_Str"+ System.getProperty("String_Node_Str")+ "String_Node_Str"+ System.getProperty("String_Node_Str"));
  DebugLogger.info("String_Node_Str" + Arrays.toString(getServer().getPluginManager().getPlugins()));
  PlayerListener playerListener=new PlayerListener();
  getServer().getPluginManager().registerEvents(playerListener,this);
  VehicleListener vehicleListener=new VehicleListener();
  getServer().getPluginManager().registerEvents(vehicleListener,this);
  EntityListener entityListener=new EntityListener();
  getServer().getPluginManager().registerEvents(entityListener,this);
  LevelUpListener levelupListener=new LevelUpListener();
  getServer().getPluginManager().registerEvents(levelupListener,this);
  WorldListener worldListener=new WorldListener();
  getServer().getPluginManager().registerEvents(worldListener,this);
  PluginHookManager pluginSupportListener=new PluginHookManager();
  getServer().getPluginManager().registerEvents(pluginSupportListener,this);
  getCommand("String_Node_Str").setExecutor(new CommandName());
  getCommand("String_Node_Str").setExecutor(new CommandCall());
  getCommand("String_Node_Str").setExecutor(new CommandSendAway());
  getCommand("String_Node_Str").setExecutor(new CommandStop());
  getCommand("String_Node_Str").setExecutor(new CommandRelease());
  getCommand("String_Node_Str").setExecutor(new CommandHelp());
  getCommand("String_Node_Str").setExecutor(new CommandInventory());
  getCommand("String_Node_Str").setExecutor(new CommandPickup());
  getCommand("String_Node_Str").setExecutor(new CommandBehavior());
  getCommand("String_Node_Str").setExecutor(new CommandInfo());
  getCommand("String_Node_Str").setExecutor(new CommandAdmin());
  getCommand("String_Node_Str").setExecutor(new CommandSkill());
  getCommand("String_Node_Str").setExecutor(new CommandShowSkillTree());
  getCommand("String_Node_Str").setExecutor(new CommandChooseSkilltree());
  getCommand("String_Node_Str").setExecutor(new CommandBeacon());
  getCommand("String_Node_Str").setExecutor(new CommandRespawn());
  getCommand("String_Node_Str").setExecutor(new CommandPetType());
  getCommand("String_Node_Str").setExecutor(new CommandCaptureHelper());
  getCommand("String_Node_Str").setExecutor(new CommandOptions());
  registerSkillsInfo();
  registerSkills();
  File defaultSkillConfigNBT=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  File defaultSkillConfigYAML=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  File defaultSkillConfigJSON=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
  if (!defaultSkillConfigNBT.exists() && !defaultSkillConfigYAML.exists() && !defaultSkillConfigJSON.exists()) {
    try {
      InputStream template=getPlugin().getResource("String_Node_Str");
      OutputStream out=new FileOutputStream(defaultSkillConfigNBT);
      byte[] buf=new byte[1024];
      int len;
      while ((len=template.read(buf)) > 0) {
        out.write(buf,0,len);
      }
      template.close();
      out.close();
      MyPetLogger.write("String_Node_Str");
      DebugLogger.info("String_Node_Str");
    }
 catch (    IOException ex) {
      MyPetLogger.write(ChatColor.RED + "String_Node_Str" + ChatColor.RESET+ "String_Node_Str");
      DebugLogger.info("String_Node_Str");
    }
  }
  String[] petTypes=new String[MyPetType.values().length + 1];
  petTypes[0]="String_Node_Str";
  for (int i=1; i <= MyPetType.values().length; i++) {
    petTypes[i]=MyPetType.values()[i - 1].getTypeName();
  }
  SkillTreeMobType.clearMobTypes();
  SkillTreeLoaderNBT.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  SkillTreeLoaderYAML.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  SkillTreeLoaderJSON.getSkilltreeLoader().loadSkillTrees(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str",petTypes);
  Set<String> skilltreeNames=new LinkedHashSet<>();
  for (  MyPetType mobType : MyPetType.values()) {
    SkillTreeMobType skillTreeMobType=SkillTreeMobType.getMobTypeByName(mobType.getTypeName());
    SkillTreeLoader.addDefault(skillTreeMobType);
    SkillTreeLoader.manageInheritance(skillTreeMobType);
    skilltreeNames.addAll(skillTreeMobType.getSkillTreeNames());
  }
  for (  String skilltreeName : skilltreeNames) {
    try {
      Bukkit.getPluginManager().addPermission(new Permission("String_Node_Str" + skilltreeName));
    }
 catch (    Exception ignored) {
      DebugLogger.warning("String_Node_Str" + "String_Node_Str" + skilltreeName + "String_Node_Str");
    }
  }
  BukkitUtil.registerMyPetEntity(EntityMyCreeper.class,"String_Node_Str",50);
  BukkitUtil.registerMyPetEntity(EntityMySkeleton.class,"String_Node_Str",51);
  BukkitUtil.registerMyPetEntity(EntityMySpider.class,"String_Node_Str",52);
  BukkitUtil.registerMyPetEntity(EntityMyGiant.class,"String_Node_Str",53);
  BukkitUtil.registerMyPetEntity(EntityMyZombie.class,"String_Node_Str",54);
  BukkitUtil.registerMyPetEntity(EntityMySlime.class,"String_Node_Str",55);
  BukkitUtil.registerMyPetEntity(EntityMyGhast.class,"String_Node_Str",56);
  BukkitUtil.registerMyPetEntity(EntityMyPigZombie.class,"String_Node_Str",57);
  BukkitUtil.registerMyPetEntity(EntityMyEnderman.class,"String_Node_Str",58);
  BukkitUtil.registerMyPetEntity(EntityMyCaveSpider.class,"String_Node_Str",59);
  BukkitUtil.registerMyPetEntity(EntityMySilverfish.class,"String_Node_Str",60);
  BukkitUtil.registerMyPetEntity(EntityMyBlaze.class,"String_Node_Str",61);
  BukkitUtil.registerMyPetEntity(EntityMyMagmaCube.class,"String_Node_Str",62);
  BukkitUtil.registerMyPetEntity(EntityMyWither.class,"String_Node_Str",64);
  BukkitUtil.registerMyPetEntity(EntityMyBat.class,"String_Node_Str",65);
  BukkitUtil.registerMyPetEntity(EntityMyWitch.class,"String_Node_Str",66);
  BukkitUtil.registerMyPetEntity(EntityMyEndermite.class,"String_Node_Str",67);
  BukkitUtil.registerMyPetEntity(EntityMyGuardian.class,"String_Node_Str",68);
  BukkitUtil.registerMyPetEntity(EntityMyPig.class,"String_Node_Str",90);
  BukkitUtil.registerMyPetEntity(EntityMySheep.class,"String_Node_Str",91);
  BukkitUtil.registerMyPetEntity(EntityMyCow.class,"String_Node_Str",92);
  BukkitUtil.registerMyPetEntity(EntityMyChicken.class,"String_Node_Str",93);
  BukkitUtil.registerMyPetEntity(EntityMySquid.class,"String_Node_Str",94);
  BukkitUtil.registerMyPetEntity(EntityMyWolf.class,"String_Node_Str",95);
  BukkitUtil.registerMyPetEntity(EntityMyMooshroom.class,"String_Node_Str",96);
  BukkitUtil.registerMyPetEntity(EntityMySnowman.class,"String_Node_Str",97);
  BukkitUtil.registerMyPetEntity(EntityMyOcelot.class,"String_Node_Str",98);
  BukkitUtil.registerMyPetEntity(EntityMyIronGolem.class,"String_Node_Str",99);
  BukkitUtil.registerMyPetEntity(EntityMyHorse.class,"String_Node_Str",100);
  BukkitUtil.registerMyPetEntity(EntityMyRabbit.class,"String_Node_Str",101);
  BukkitUtil.registerMyPetEntity(EntityMyVillager.class,"String_Node_Str",120);
  new Locales();
  Bungee.reset();
  File groupsFile=new File(getPlugin().getDataFolder().getPath() + File.separator + "String_Node_Str");
  pluginStorage=new PluginStorage();
  if (repo == null) {
    repo=new NbtRepository();
    try {
      repo.init();
    }
 catch (    RepositoryInitException ignored) {
    }
  }
  if (repo instanceof IScheduler) {
    Timer.addTask((IScheduler)repo);
  }
  loadGroups(groupsFile);
  Timer.startTimer();
  MobArena.findPlugin();
  Minigames.findPlugin();
  PvPArena.findPlugin();
  BattleArena.findPlugin();
  SurvivalGames.findPlugin();
  UltimateSurvivalGames.findPlugin();
  MyHungerGames.findPlugin();
  try {
    Metrics metrics=new Metrics(this);
    boolean metricsActive=false;
    if (!metrics.isOptOut()) {
      Graph graphTotalCount=metrics.createGraph("String_Node_Str");
      Plotter plotter=new Metrics.Plotter("String_Node_Str"){
        @Override public int getValue(){
          return MyPetList.countActiveMyPets();
        }
      }
;
      graphTotalCount.addPlotter(plotter);
      metricsActive=metrics.start();
    }
    DebugLogger.info("String_Node_Str" + (metricsActive ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
  }
 catch (  IOException e) {
    MyPetLogger.write(e.getMessage());
  }
  MyPetLogger.write("String_Node_Str" + MyPetVersion.getVersion() + "String_Node_Str"+ MyPetVersion.getBuild()+ ChatColor.GREEN+ "String_Node_Str");
  this.isReady=true;
  for (  final Player player : getServer().getOnlinePlayers()) {
    PlayerList.onlinePlayerUUIDList.add(player.getUniqueId());
    MyPetPlugin.getPlugin().getRepository().getMyPetPlayer(player,new RepositoryCallback<MyPetPlayer>(){
      @Override public void callback(      final MyPetPlayer joinedPlayer){
        if (joinedPlayer != null) {
          PlayerList.setOnline(joinedPlayer);
          if (BukkitUtil.isInOnlineMode()) {
            if (joinedPlayer instanceof OnlineMyPetPlayer) {
              ((OnlineMyPetPlayer)joinedPlayer).setLastKnownName(player.getName());
            }
          }
          final WorldGroup joinGroup=WorldGroup.getGroupByWorld(player.getWorld().getName());
          if (joinedPlayer.hasMyPet()) {
            MyPet myPet=joinedPlayer.getMyPet();
            if (!myPet.getWorldGroup().equals(joinGroup.getName())) {
              MyPetList.deactivateMyPet(joinedPlayer);
            }
          }
          if (joinGroup != null && !joinedPlayer.hasMyPet() && joinedPlayer.hasMyPetInWorldGroup(joinGroup.getName())) {
            final UUID groupMyPetUUID=joinedPlayer.getMyPetForWorldGroup(joinGroup.getName());
            joinedPlayer.getInactiveMyPet(groupMyPetUUID,new RepositoryCallback<InactiveMyPet>(){
              @Override public void callback(              InactiveMyPet inactiveMyPet){
                MyPetList.activateMyPet(inactiveMyPet);
                if (joinedPlayer.hasMyPet()) {
                  final MyPet myPet=joinedPlayer.getMyPet();
                  final MyPetPlayer myPetPlayer=myPet.getOwner();
                  if (myPet.wantToRespawn()) {
                    if (myPetPlayer.hasMyPet()) {
                      MyPet runMyPet=myPetPlayer.getMyPet();
switch (runMyPet.createPet()) {
case Canceled:
                        runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
                      break;
case NoSpace:
                    runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
                  break;
case NotAllowed:
                runMyPet.sendMessageToOwner(Locales.getString("String_Node_Str",myPet.getOwner()).replace("String_Node_Str",myPet.getPetName()));
              break;
case Dead:
            runMyPet.sendMessageToOwner(Locales.getString("String_Node_Str",myPet.getOwner()).replace("String_Node_Str",myPet.getPetName()).replace("String_Node_Str","String_Node_Str" + myPet.getRespawnTime()));
          break;
case Flying:
        runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),myPet.getPetName()));
      break;
case Success:
    runMyPet.sendMessageToOwner(Util.formatText(Locales.getString("String_Node_Str",myPet.getOwner()),runMyPet.getPetName()));
  break;
}
}
}
 else {
myPet.setStatus(MyPet.PetState.Despawned);
}
}
}
}
);
}
joinedPlayer.checkForDonation();
}
}
}
);
}
DebugLogger.info("String_Node_Str");
}