Использование нескольких классов для команд в Bukkit?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование нескольких классов для команд в Bukkit?

Сообщение Anonymous »

Недавно я запустил плагин Bukkit, и у меня возникли проблемы с использованием двух классов (main и CommandExecutor). Я перепробовал все, но когда я загружаю свой плагин, он выдает ошибку, которая находится в конце сообщения.
Основной (называемый ekits.java):

Код: Выделить всё

package me.mucapapipa.ekits;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class ekits extends JavaPlugin implements Listener {

@Override
public void onEnable() {
System.out.println("Main plugin enabled");
getCommand("pvp").setExecutor(new NormalPlayer(this));
getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable() {
System.out.println("Main plugin disabled");
}

}
CommandExecutor (называемый NormalPlayer):

Код: Выделить всё

package me.mucapapipa.ekits;

import org.bukkit.ChatColor;
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.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class NormalPlayer extends JavaPlugin implements CommandExecutor {

@SuppressWarnings("unused")
private ekits core;
public NormalPlayer(ekits core) {
this.core = core;
}

private String kit;

public boolean onCommand(CommandSender sender, Command cmd, String CommandLabel,  String[] args) {

if (sender instanceof Player) {
Player player = (Player) sender;
if (cmd.getName().equalsIgnoreCase("pvp")) {
kit = "PvP";
player.getInventory().clear();
player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
/* We then set the armor */
player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));

player.sendMessage(ChatColor.GRAY + "~ " + ChatColor.AQUA + "Kit: " + kit);
}
else {
sender.sendMessage("The console should not play.  It would be so OP.");
}
}

return true; }
}
plugin.yml:

Код: Выделить всё

name: EKits
author: Mucapapipa
main: me.mucapapipa.ekits.ekits
version: 1.0
description: The server's main plugin.

commands:
pvp:
usage: /
aliases: [kitpvp]
description: Uses the kit PvP.
Ошибка:

[ОШИБКА 19:19:01]: произошла ошибка при включении EKits v1.0 (это он обновлен?)
java.lang.IllegalArgumentException: плагин уже инициализирован!
at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:98) ~[craftbukkit.jar:git-Bukkit-7019900]
в org.bukkit.plugin.java.JavaPlugin.(JavaPlugin.java: 66) ~[craftbukkit.jar:git-Bukkit-7019900]
на меня.mucapapipa.ekits.NormalPlayer.(NormalPlayer.java:16) ~[?:?]
на меня.mucapapipa.ekits.ekits .onEnable(ekits.java:16) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java) :327) [craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:341) [craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:313) [craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java: 394) [craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:362) [craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:317) [craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java: 190) [craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:484) [craftbukkit.jar:git-Bukkit-7019900]
at java.lang.Thread.run (неизвестный источник) [?:1.8.0_101]
Вызвано: java.lang.IllegalStateException: начальная инициализация
в org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:101) ~[craftbukkit.jar :git-Bukkit-7019900]
в org.bukkit.plugin.java.JavaPlugin.(JavaPlugin.java:66) ~[craftbukkit.jar:git-Bukkit-7019900]
at me.mucapapipa.ekits.ekits.(ekits.java:10) ~ [?:?]
в sun.reflect.NativeConstructorAccessorImpl.newInstance0(собственный метод) ~[?:1.8.0_101]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_101]
at sun. отражения.DelegatingConstructorAccessorImpl.newInstance (неизвестный источник) ~[?:1.8.0_101]
в java.lang.reflect.Constructor.newInstance(неизвестный источник) ~[?:1.8.0_101]
в java.lang.Class.newInstance(неизвестный источник) ~[?:1.8.0_101]
в org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:52) ~[craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: 129) ~[craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:328) ~[craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[craftbukkit.jar:git-Bukkit-7019900]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:288 ) ~[craftbukkit.jar:git-Bukkit-7019900]
на org.bukkit.craftbukkit.v1_8_R1.CraftServer.(CraftServer.java:250) ~[craftbukkit.jar:git-Bukkit-7019900]
в net.minecraft.server.v1_8_R1.PlayerList.(PlayerList.java:69) ~[craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.DedicatedPlayerList.(SourceFile:14) ~[craftbukkit.jar:git-Bukkit-7019900]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:133) ~[craftbukkit.jar:git-Bukkit-7019900]
... еще 2


Подробнее здесь: https://stackoverflow.com/questions/405 ... -in-bukkit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Java (Spigot/Bukkit) несколько классов
    Гость » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Гость
  • Bukkit – невозможно использовать внешний JAR в плагинах
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Bukkit создает 2 экземпляра одного и того же предмета.
    Гость » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Гость
  • Невозможно импортировать библиотеки org.bukkit.
    Anonymous » » в форуме JAVA
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • Скрыть объект для некоторых игроков – Spigot/Bukkit – Java
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»