Spigot Plugin

SocialRanksPlugin

i wanna make a ranking system from copper, iron, gold, diamond, emerland, amethyst, netherite, ruby, also add a /friend command to add friends, add a /settings command to turn off and on friend requests, duel requests, and party invites, also make a /duel command, and a party system, also make a /friend {playername} command to add people to your friends list, and you will get a notification when they get online

src/main/java/eu/codexe/socialranks/SocialRanksPlugin.java
package eu.codexe.socialranks;

import eu.codexe.socialranks.commands.DuelCommand;
import eu.codexe.socialranks.commands.FriendCommand;
import eu.codexe.socialranks.commands.PartyCommand;
import eu.codexe.socialranks.commands.ReloadCommand;
import eu.codexe.socialranks.commands.SettingsCommand;
import eu.codexe.socialranks.listeners.PlayerConnectionListener;
import eu.codexe.socialranks.listeners.PlayerQuitCleanupListener;
import eu.codexe.socialranks.managers.DuelManager;
import eu.codexe.socialranks.managers.FriendManager;
import eu.codexe.socialranks.managers.PartyManager;
import eu.codexe.socialranks.managers.RankManager;
import eu.codexe.socialranks.managers.SettingsManager;
import eu.codexe.socialranks.storage.StorageManager;
import eu.codexe.socialranks.storage.YamlStorageManager;
import eu.codexe.socialranks.utils.ConfigManager;
import eu.codexe.socialranks.utils.MessageService;
import org.bukkit.Bukkit;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.Objects;

public final class SocialRanksPlugin extends JavaPlugin {

    private ConfigManager configManager;
    private MessageService messageService;
    private StorageManager storageManager;
    private RankManager rankManager;
    private SettingsManager settingsManager;
    private FriendManager friendManager;
    private DuelManager duelManager;
    private PartyManager partyManager;

    @Override
    public void onEnable() {
        saveDefaultConfig();

        this.configManager = new ConfigManager(this);
        this.messageService = new MessageService(this, configManager);
        this.storageManager = new YamlStorageManager(this);
        this.rankManager = new RankManager(this, configManager, messageService, storageManager);
        this.settingsManager = new SettingsManager(this, configManager, messageService, storageManager);
        this.friendManager = new FriendManager(this, configManager, messageService, storageManager);
        this.duelManager = new DuelManager(this, configManager, messageService, storageManager);
        this.partyManager = new PartyManager(this, configManager, messageService, storageManager);

        storageManager.loadAll();

        registerCommands();
        registerListeners();

        if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
            new eu.codexe.socialranks.placeholders.SocialRanksExpansion(this).register();
        }

        getLogger().info("SocialRanksPlugin enabled.");
    }