Minecraft Espita comando no Activación de la clase principal

Vamp:

Mi Comando (Específicamente solamente mi mando cmd2 ) no se registra, y las pantallas de la consola indica un error al iniciar el servidor. El otro comando, cmd1, obras, sino cmd2 no lo hace. Realmente no estoy seguro de por qué, así que vine aquí en busca de ayuda.

Algunos de mi clase principal:

package me.Vamp.Test;

import me.Vamp.Test.Events.EventsClass;
import org.bukkit.ChatColor;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    private Commands commands = new Commands();

    @Override
    public void onEnable() {
        /* Enabler */
        getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "\n\nTest Plugin has been enabled.\n\n");
        /* Events Register */
        getServer().getPluginManager().registerEvents(new EventsClass(), this);
        /* Commands Register */
        getCommand(commands.cmd1).setExecutor(commands);
        getCommand(commands.cmd2).setExecutor(commands);
    }
}

La siguiente clase (Comandos) sólo se muestran para el comando con errores (cmd2). Si se necesita el código para cmd1, voy a demostrarlo. Algunos de mi clase de comando:

package me.Vamp.Test;

import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;

public class Commands implements Listener, CommandExecutor {

    public String cmd2 = "getpickaxe";

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (sender instanceof Player) {

            /*
            /getPickaxe Command
            */

            if (cmd.getName().equalsIgnoreCase(cmd2)) {
                Player player = (Player) sender;
                if (args.length == 0) {
                    commandGetPickaxe(player);
                    return true;
                } else {
                    player.sendMessage(Colors.chat("&c&lERROR &cToo many arguments&8."));
                    return true;
                }
            }

        } else {

            sender.sendMessage(Colors.chat("&c&lERROR &cOnly players can use this command&8."));

            return true;
        }
        return false;
    }

    public void commandGetPickaxe(Player player){
        Inventory inv = player.getInventory();
        ItemStack item = new ItemStack(Material.WOOD_PICKAXE, 1);
        ItemMeta meta = item.getItemMeta();
        ArrayList<String> lore = new ArrayList<String>();

        meta.setDisplayName(Colors.chat("&3Wooden Pickaxe"));
        lore.add(Colors.chat("&7&oThe Starter Pickaxe&8&o."));
        meta.setLore(lore);
        item.setItemMeta(meta);

        inv.addItem(new ItemStack(item));
        player.sendMessage(Colors.chat("&8&l» &3You have received a Wooden Pickaxe&8."));
    }
}

Esto es sólo el error de visualización en mi consola.

Mi consola :

Consola

TCoded:

¿Puedo sugerir agrega una multitud de declaraciones de impresión para ver qué es nulo?

/* Commands Register */
System.out.println("cmd1 " + commands.cmd1);
System.out.println("cmd2 " + commands.cmd2);
System.out.println("cmdObj " + commands);
getCommand(commands.cmd1).setExecutor(commands);
getCommand(commands.cmd2).setExecutor(commands);

EDIT 1: Parece como si se echa en falta el comando en su plugin.yml? Es posible que se trata de un error tipográfico, mira con cuidado. Si usted piensa que todo está perfectamente bien, y el error persiste, por favor edición que post original e incluir el archivo plugin.yml. ¡Gracias!

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=296964&siteId=1
Recomendado
Clasificación