Spigot Plugin

InventoryViewerPlugin

maak een plugin /invsee (speler) dat ik zijn inventory dan kan zien met een command, het command mag alleen ops kunnen

src/main/java/eu/codexe/inventoryviewer/InventoryViewerPlugin.java
package eu.codexe.inventoryviewer;

import eu.codexe.inventoryviewer.commands.InvseeCommand;
import eu.codexe.inventoryviewer.listeners.InventoryViewListener;
import eu.codexe.inventoryviewer.managers.InventoryViewManager;
import eu.codexe.inventoryviewer.utils.ConfigManager;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;

public final class InventoryViewerPlugin extends JavaPlugin {

    private ConfigManager configManager;
    private InventoryViewManager inventoryViewManager;

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

        this.configManager = new ConfigManager(this);
        this.inventoryViewManager = new InventoryViewManager(this, configManager);

        InvseeCommand invseeCommand = new InvseeCommand(this, inventoryViewManager, configManager);
        PluginCommand command = getCommand("invsee");

        if (command == null) {
            getLogger().severe("Command 'invsee' staat niet in plugin.yml.");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }

        command.setExecutor(invseeCommand);
        command.setTabCompleter(invseeCommand);

        getServer().getPluginManager().registerEvents(
                new InventoryViewListener(inventoryViewManager, configManager),
                this
        );

        getLogger().info("InventoryViewerPlugin is ingeschakeld.");
    }

    @Override
    public void onDisable() {
        if (inventoryViewManager != null) {
            inventoryViewManager.closeTrackedInventories();
        }

        getLogger().info("InventoryViewerPlugin is uitgeschakeld.");
    }

    public ConfigManager getConfigManager() {
        return configManager;
    }

    public InventoryViewManager getInventoryViewManager() {
        return inventoryViewManager;
    }
}