1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Plugin already initialized!

Тема в разделе "Разработка плагинов для новичков", создана пользователем ILEZOV, 2 сен 2023.

  1. Автор темы
    ILEZOV

    ILEZOV Активный участник Пользователь

    Баллы:
    66
    Здравствуйте! При запуске плагина получаю такую ошибку:
    Error occurred while enabling CoalEssentials v1.0 (Is it up to date?)
    java.lang.IllegalArgumentException: Plugin already initialized!
    at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:233) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:52) ~[patched_1.16.5.jar:git-Purpur-1171]
    at mc.coalessentials.ru.coalessentials.CoalEssentials.<init>(CoalEssentials.java:18) ~[?:?]
    at mc.coalessentials.ru.coalessentials.commands.FlyCommand.<init>(FlyCommand.java:17) ~[?:?]
    at mc.coalessentials.ru.coalessentials.CoalEssentials.onEnable(CoalEssentials.java:40) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.16.5.jar:git-Purpur-1171]
    at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:596) ~[patched_1.16.5.jar:git-Purpur-1171]
    at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:309) ~[patched_1.16.5.jar:git-Purpur-1171]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1074) ~[patched_1.16.5.jar:git-Purpur-1171]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:293) ~[patched_1.16.5.jar:git-Purpur-1171]
    at java.lang.Thread.run(Thread.java:1623) [?:?]
    Caused by: java.lang.IllegalStateException: Initial initialization
    at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:236) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:52) ~[patched_1.16.5.jar:git-Purpur-1171]
    at mc.coalessentials.ru.coalessentials.CoalEssentials.<init>(CoalEssentials.java:18) ~[?:?]
    at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67) ~[?:?]
    at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?]
    at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) ~[?:?]
    at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:304) ~[?:?]
    at java.lang.Class.newInstance(Class.java:685) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:153) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:414) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:322) ~[patched_1.16.5.jar:git-Purpur-1171]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:393) ~[patched_1.16.5.jar:git-Purpur-1171]
    at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:279) ~[patched_1.16.5.jar:git-Purpur-1171]
    ... 3 more

    Главный класс:

    Код:
    package mc.coalessentials.ru.coalessentials;
    
    import mc.coalessentials.ru.coalessentials.commands.FlyCommand;
    import mc.coalessentials.ru.coalessentials.database.SQLConnection;
    import mc.coalessentials.ru.coalessentials.events.PlayerJoinEvent;
    import org.bukkit.ChatColor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Objects;
    import java.util.logging.Logger;
    
    public final class CoalEssentials extends JavaPlugin {
        private static CoalEssentials instance;
        public static CoalEssentials getInstance() {
            return instance;
        }
        private final PluginManager pluginManager = getServer().getPluginManager();
        private final Logger logger = getLogger();
        Connection database = null;
    
        @Override
        public void onEnable() {
            instance = this;
    
            this.saveDefaultConfig();
            final SQLConnection sql = new SQLConnection();
    
            logger.info("CoalEssentials запущен");
            logger.info("Разработчик ILeZzoV");
            logger.info("Идет подключение ку MySQL");
    
            database = sql.Connect();
    
            Objects.requireNonNull(getCommand("fly")).setExecutor(new FlyCommand());
    
            pluginManager.registerEvents(new PlayerJoinEvent(), this);
    
        }
    
        @Override
        public void onDisable() {
            logger.info("CoalEssentials выключен");
        }
    
        public void send_message(CommandSender player, String message){
            player.sendMessage(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(getInstance().getConfig().getString("prefix"))) + ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(getInstance().getConfig().getString(message))));
        }
        public Connection getDatabase(){
            return database;
        }
        public Statement getStatement() throws SQLException {
            return getDatabase().createStatement();
        }
        public void insertSQL (Player player) throws SQLException{
            getStatement().execute("INSERT INTO CoalEssentials VALUES (" + player.getName() + "," + player.getUniqueId().toString() + "," + player.getAllowFlight() + "," + false + ")");
            getDatabase().commit();
        }
    }
    
    Класс FlyCommand:
    Код:
    package mc.coalessentials.ru.coalessentials.commands;
    
    import mc.coalessentials.ru.coalessentials.CoalEssentials;
    import mc.coalessentials.ru.coalessentials.methods.FlyMethod;
    import org.bukkit.Bukkit;
    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.Player;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class FlyCommand implements CommandExecutor {
    
        CoalEssentials main = new CoalEssentials();
        FlyMethod flyMethod = new FlyMethod();
        FileConfiguration config = CoalEssentials.getInstance().getConfig();
        @Override
        public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) {
            if(command.getName().equalsIgnoreCase("fly")) {
                if (config.getBoolean("fly.enabled")) {
                    if(args.length == 0) {
                        if (commandSender.hasPermission("ces.fly")) {
                            if (commandSender instanceof Player) {
                                try {
                                    flyMethod.SetFlyMode(((Player) commandSender));
                                } catch (SQLException e) {
                                    throw new RuntimeException(e);
                                }
                            } else {
                                main.send_message(commandSender, "no_console");
                            }
                        } else {
                            main.send_message(commandSender, "no_perms");
                        }
                    }else{
                        if (commandSender.hasPermission("ces.flyother")) {
                            Player targer = Bukkit.getPlayerExact(args[0]);
                            ResultSet response;
                            try {
                                assert targer != null;
                                response = main.getStatement().executeQuery("SELECT * FROM CoalEssentials WHERE uuid =" + targer.getUniqueId().toString());
                            } catch (SQLException e) {
                                throw new RuntimeException(e);
                            }
                            try {
                                if (response.getString("name") != null) {
                                    flyMethod.SetFlyModeOther(commandSender, targer);
                                } else {
                                    main.send_message(commandSender, "msg_error");
                                }
                            } catch (SQLException e) {
                                throw new RuntimeException(e);
                            }
                        }else{
                            main.send_message(commandSender, "no_perms");
                        }
                    }
                }else{
                    commandSender.sendMessage("fly.msg_command_disabled");
                }
            }
            return false;
        }
    }
    
    Что делать?
     
  2. xflyiwnl

    xflyiwnl Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    xflyiwnl
    В классе FlyComand.java:
    CoalEssentials main = new CoalEssentials();

    Заменить на:
    CoalEssentials main = CoalEssentials.getInstance();
     
  3. Автор темы
    ILEZOV

    ILEZOV Активный участник Пользователь

    Баллы:
    66
    Код:
    Error occurred while enabling CoalEssentials v1.0 (Is it up to date?)
    java.lang.IllegalArgumentException: Plugin already initialized!
            at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:233) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:52) ~[patched_1.16.5.jar:git-Purpur-1171]
            at mc.coalessentials.ru.coalessentials.CoalEssentials.<init>(CoalEssentials.java:18) ~[?:?]
            at mc.coalessentials.ru.coalessentials.methods.FlyMethod.<init>(FlyMethod.java:12) ~[?:?]
            at mc.coalessentials.ru.coalessentials.commands.FlyCommand.<init>(FlyCommand.java:18) ~[?:?]
            at mc.coalessentials.ru.coalessentials.CoalEssentials.onEnable(CoalEssentials.java:40) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.16.5.jar:git-Purpur-1171]
            at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:596) ~[patched_1.16.5.jar:git-Purpur-1171]
            at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:309) ~[patched_1.16.5.jar:git-Purpur-1171]
            at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1074) ~[patched_1.16.5.jar:git-Purpur-1171]
            at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:293) ~[patched_1.16.5.jar:git-Purpur-1171]
            at java.lang.Thread.run(Thread.java:1623) [?:?]
    Caused by: java.lang.IllegalStateException: Initial initialization
            at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:236) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:52) ~[patched_1.16.5.jar:git-Purpur-1171]
            at mc.coalessentials.ru.coalessentials.CoalEssentials.<init>(CoalEssentials.java:18) ~[?:?]
            at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67) ~[?:?]
            at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?]
            at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) ~[?:?]
            at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:304) ~[?:?]
            at java.lang.Class.newInstance(Class.java:685) ~[?:?]
            at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:153) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:414) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:322) ~[patched_1.16.5.jar:git-Purpur-1171]
            at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:393) ~[patched_1.16.5.jar:git-Purpur-1171]
            at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:279) ~[patched_1.16.5.jar:git-Purpur-1171]
            ... 3 more
     
  4. xflyiwnl

    xflyiwnl Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    xflyiwnl
    Читай ошибку, проблемная строчка 18 в главном классе. Скинь фулл код ещё раз, хочу увидеть что ты сделал
     
    Последнее редактирование: 4 сен 2023
  5. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Нужен класс FlyMethod. Он в нём тоже создаёт экземпляр своего плагина. Ошибка теперь ссылается на инициализацию FlyMethod, из FlyCommand:18 (до этого было FlyCommand:17).
     
  6. xflyiwnl

    xflyiwnl Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    xflyiwnl
    Даа, не увидел его из-за маленького экрана телефона
     

Поделиться этой страницей