public Particles(Main plugin) {
   super("particles.yml", plugin);
   this.plugin = plugin;
   Config pluginConfig = plugin.getBabies();
   this.enabled = this.config.getBoolean("Enabled");
   this.worldsBlacklist = this.config.getStringList("WorldsBlacklist");
   this.command = this.config.getString("Command");
   this.noPermissionMessage = this.config.getString("NoPermissionMessage");
   this.giveSound = Sound.valueOf(this.config.getString("GiveSound"));
   this.removeSound = Sound.valueOf(this.config.getString("RemoveSound"));
   this.updateInterval = this.config.getDouble("UpdateInterval");
   this.viewDistance = this.config.getInt("ViewDistance");
   this.guiName = this.config.getString("GUIName");
   this.guiSize = Parsing.parseInt(this.config.getString("GUISize"));
   this.noPermissionItem = Methods.getNoPermissionItem(this.config);
   this.noPermissionItem_Enabled = this.config.getBoolean("NoPermissionItem.Enabled");
   this.removeItem = Methods.getGuiItem(this.config, "RemoveItem");
   this.homeItem = Methods.getGuiItem(this.config, "HomeItem");
   this.previousItem = Methods.getGuiItem(this.config, "PreviousItem");
   this.nextItem = Methods.getGuiItem(this.config, "NextItem");
   this.particles = getParticlesInternal();
   this.maxPage = getMaxPageInternal();
   if (pluginConfig.getLoggingLevel() >= 2)
     General.sendColoredMessage(plugin, "Particles config successfully loaded!", ChatColor.GREEN);
 }
 @Override
 protected boolean giveInternal(Main plugin) {
   Location l = this.player.getLocation();
   l.setY(l.getY() + 3.0);
   this.bat = this.player.getWorld().spawn(l, Bat.class);
   this.bat.addPotionEffect(
       new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 100));
   this.block =
       this.player
           .getWorld()
           .spawnFallingBlock(
               l,
               this.cosmeticStorage.getjLibItem().getItemStack().getType(),
               (byte) this.cosmeticStorage.getjLibItem().getItemStack().getDurability());
   this.block.setDropItem(false);
   this.bat.setLeashHolder(this.player);
   Methods.setPassenger(this.bat, this.block);
   this.bat.setRemoveWhenFarAway(false);
   this.bat.setNoDamageTicks(Integer.MAX_VALUE);
   this.bat.setMetadata("Balloon", new FixedMetadataValue(plugin, this.player.getName()));
   plugin.queueEntity(this.bat);
   plugin.queueEntity(this.block);
   return true;
 }
 public MusicListener(Main plugin) {
   this.plugin = plugin;
   plugin.getServer().getPluginManager().registerEvents(this, plugin);
 }