Spigot Plugin

DiscordLinkPlugin

Maak een plugin die via een discord bot werkt en je rollen checkt of je de rol ID 1501289745299538081, 1489887969149190144, 1400812940550213747, 1436262597669163069, 1432002320589131877 of 1521864487773405305. Hieronder staan de permissies die de plugin je moet geven op volgorde van de IDs: group.developer group.builder group.helper group.moderator group.admin group.beheer Je moet je account linken met /linkdiscord waarbij je een code krijgt die je met /link <code> in de discord moet uitvoeren. de bot moet invisible zijn

src/main/java/eu/codexe/discordlink/DiscordLinkPlugin.java
package eu.codexe.discordlink;

import eu.codexe.discordlink.commands.LinkCommand;
import eu.codexe.discordlink.commands.LinkDiscordCommand;
import eu.codexe.discordlink.listeners.PlayerJoinListener;
import eu.codexe.discordlink.managers.DiscordBotManager;
import eu.codexe.discordlink.managers.LinkManager;
import eu.codexe.discordlink.storage.StorageManager;
import eu.codexe.discordlink.storage.SQLiteStorage;
import eu.codexe.discordlink.config.PluginConfig;
import eu.codexe.discordlink.config.MessageUtil;
import org.bukkit.plugin.java.JavaPlugin;

public class DiscordLinkPlugin extends JavaPlugin {

    private static DiscordLinkPlugin instance;
    private PluginConfig config;
    private MessageUtil messages;
    private StorageManager storage;
    private LinkManager linkManager;
    private DiscordBotManager botManager;

    @Override
    public void onEnable() {
        instance = this;

        // Load configuration
        saveDefaultConfig();
        this.config = new PluginConfig(this);
        this.messages = new MessageUtil(this);

        // Initialize storage
        this.storage = new SQLiteStorage(this);
        storage.init();

        // Initialize managers
        this.linkManager = new LinkManager(this, storage);
        this.botManager = new DiscordBotManager(this, storage, linkManager);

        // Register commands
        getCommand("linkdiscord").setExecutor(new LinkDiscordCommand(this, linkManager, messages));
        getCommand("link").setExecutor(new LinkCommand(this, linkManager, messages));

        // Register listeners
        getServer().getPluginManager().registerEvents(new PlayerJoinListener(this, linkManager), this);

        // Start Discord bot
        botManager.start();

        getLogger().info("DiscordLinkPlugin enabled successfully!");
    }

    @Override
    public void onDisable() {
        if (botManager != null) {
            botManager.stop();
        }
        if (storage != null) {
            storage.close();
        }