如何指向插件(Bukkit)

问题描述 投票:0回答:1

我需要类似:

Plugin plugin = this plugin
但我找不到任何指向此插件的内容,所以我在这里询问。

我的代码:

`package cz.untitled.main;

import cz.untitled.Untitled;
import io.papermc.paper.plugin.configuration.PluginMeta;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.generator.BiomeProvider;
import org.bukkit.generator.ChunkGenerator;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.io.File;
import java.io.InputStream;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class serverselectcommand implements CommandExecutor {

    @Override
    public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
        if(commandSender instanceof Player)
        {
            Player p = (Player) commandSender;
            Inventory inventory = Bukkit.createInventory(p, 9 * 6, ChatColor.GRAY + "Výběr serveru");

            ItemStack nothing = new ItemStack(Material.GRAY_STAINED_GLASS_PANE);
            ItemMeta nothingmeta = nothing.getItemMeta();
            nothingmeta.setDisplayName(ChatColor.DARK_GRAY + " ");
            nothing.setItemMeta(nothingmeta);
            ItemStack isword = new ItemStack(Material.IRON_SWORD);
            ItemMeta iswordmeta = isword.getItemMeta();
            iswordmeta.setDisplayName(ChatColor.GOLD + "M" + ChatColor.YELLOW + "i" + ChatColor.GOLD + "n" + ChatColor.YELLOW + "i" + ChatColor.GOLD + "h" + ChatColor.YELLOW + "r" + ChatColor.GOLD + "y");
            isword.setItemMeta(iswordmeta);
            ItemStack grassblock = new ItemStack(Material.GRASS_BLOCK);
            ItemMeta grassblockmeta = grassblock.getItemMeta();
            grassblockmeta.setDisplayName(ChatColor.DARK_GREEN + "S" + ChatColor.GREEN + "u" + ChatColor.DARK_GREEN + "r" + ChatColor.GREEN + "v" + ChatColor.DARK_GREEN + "i" + ChatColor.GREEN + "v" + ChatColor.DARK_GREEN + "a" + ChatColor.GREEN + "l");
            grassblock.setItemMeta(grassblockmeta);
            ItemStack ob = new ItemStack(Material.STONE);
            ItemMeta obmeta = ob.getItemMeta();
            obmeta.setDisplayName(ChatColor.DARK_BLUE + "O" + ChatColor.BLUE + "n" + ChatColor.DARK_BLUE + "e" + ChatColor.BLUE + "b" + ChatColor.DARK_BLUE + "l" + ChatColor.BLUE + "o" + ChatColor.DARK_BLUE + "c" + ChatColor.BLUE + "k");
            ob.setItemMeta(obmeta);

            inventory.setItem(0, nothing);
            inventory.setItem(1, nothing);
            inventory.setItem(2, nothing);
            inventory.setItem(3, nothing);
            inventory.setItem(4, nothing);
            inventory.setItem(5, nothing);
            inventory.setItem(6, nothing);
            inventory.setItem(7, nothing);
            inventory.setItem(8, nothing);
            inventory.setItem(9, nothing);
            inventory.setItem(10, nothing);
            inventory.setItem(11, nothing);
            inventory.setItem(12, nothing);
            inventory.setItem(13, nothing);
            inventory.setItem(14, nothing);
            inventory.setItem(15, nothing);
            inventory.setItem(16, nothing);
            inventory.setItem(17, nothing);
            inventory.setItem(18, nothing);
            inventory.setItem(19, nothing);
            inventory.setItem(20, isword);
            inventory.setItem(21, nothing);
            inventory.setItem(22, grassblock);
            inventory.setItem(23, nothing);
            inventory.setItem(24, ob);
            inventory.setItem(25, nothing);
            inventory.setItem(26, nothing);
            p.openInventory(inventory);
            
            //p.setMetadata("OpenedMenu", new FixedMetadataValue(plugin, "main"));
        }
        else
        {
            Bukkit.getServer().getLogger().log(Level.INFO, ChatColor.RED + "Oh, You must be player to execute this!");
            return false;
        }
        return false;
    }
}

这只是因为字符限制。这只是因为字符限制。这只是因为字符限制。这只是因为字符限制。这只是因为字符限制。这只是因为字符限制。

java plugins minecraft bukkit
1个回答
0
投票
MyPluginClass myPlugin = MyPluginClass.getPlugin(MyPluginClass.java); // returns instance of MyPluginClass

MyPluginClass
替换为扩展
JavaPlugin
的类的类名,它将返回它的实例。

请记住,类名应该是 PascalCase - 在你的情况下

serverselectcommand
应该是
ServerSelectCommand
。遵守该命名约定,将来就不会有问题。

© www.soinside.com 2019 - 2024. All rights reserved.