Minecraft Plugin

Asked 2 years ago, Updated 2 years ago, 28 views

I want you to read commands from another class, but it doesn't work.
Error Code:

 [16:10:46 INFO]: [test_plugin] Enabling test_plugin v0.0.1
16:10:46 ERROR—Error occurred while enabling test_plugin v0.0.1 (Is it up to date?)
java.lang.IllegalArgumentException: Plugin already initialized!
        at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:183)~[spigot-1.12.2.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:60) through [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        from at class.command.Grass_Command.<init>(Grass_Command.java:13) to [?:?]
        at class.plugin.Grass.onEnable(Grass.java:16)~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled (JavaPlugin.java:264) ~ [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [spigot-1.12.2.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins (CraftServer.java:330) [spigot-1.12.2.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l (MinecraftServer.java:383) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at java.lang.Thread.run (Unknown Source) [?: 1.8.0_191]
Caused by:java.lang.IllegalStateException:Initial initialization
        at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:186) to [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:60) through [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at class.plugin.Grass.<init> (Grass.java:12) to [?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)~[?:1.8.0_191]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)~[?:1.8.0_191]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)~[?:1.8.0_191]
        at java.lang.reflect.Constructor.newInstance(Unknown Source)~[?:1.8.0_191]
        at java.lang.Class.newInstance (Unknown Source) to [?:1.8.0_191]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) to [spigot-1.12.2.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~ [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~ [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins (SimplePluginManager.java:248) ~ [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins (CraftServer.java:305) ~ [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) to [spigot-1.12.2.jar: git-Spigot-79a30d7-acbc348]
        ... 2 more

Code [Main]:

package class.plugin;

import java.util.Collection;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

import class.command.Grass_Command;

  public class class extensions JavaPlugin {

      @ Override
      public void onEnable() {
          Class_Command commands = new Class_Command(this);
          getCommand("save").setExecutor(commands);
      }

    @ Override
      public boolean onCommand(CommandSender sender, Command command, String label, String[]args) {
            if(command.getName().equalsIgnoreCase("kickall")}
                Collection <?extends Player> players=getServer().getOnlinePlayers();
                  for (Player player: players) {
                   player.kickPlayer("Kicked");
                    }
              }
              return true;
           }

      @ Override
      public void onDisable() {
          System.out.println("plug-in disabled";
      }
  }

Code [Command Class]:

package class.command;

import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;

import class.plugin.Grass;

public class Class_Command extensions JavaPlugin{

    publicGrass_Command(Grass class){
        // AUTOMATIC TODO GENERATED CONSTRUCTOR STUB
    }

    @ Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[]args) {
            if(cmd.getName().equalsIgnoreCase("save")){
                sender.sendMessage("Save...");
                for (World worlds: Bukkit.getWorlds()) {
                    worlds.save();
                }
            }
            return false;

    }
  }

java

2022-09-29 22:35

1 Answers

The setExecutor argument is @NullableCommandExecutorexecutor.
If so,

public class_Command extensions JavaPlugin

extends JavaPlugin in is strange.

This level of content is also written in the official Creating a Simple Command, so please check it.
https://www.spigotmc.org/wiki/create-a-simple-command/

Check Javadoc, too.
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/command/PluginCommand.html#setExecutor-org.bukkit.command.CommandExecutor-


2022-09-29 22:35

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.