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.");
}