Solved Bukkit 1.7.8 broke my Command Executors

Discussion in 'Plugin Development' started by WiseHollow, Apr 13, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    WiseHollow

    Hey guys, on all my plugins I made, the plugin returns an error about the commands. Can I please have assistance? I have no idea what is wrong. Here is the error...

    Code:java
    1. [17:33:46] [Server thread/ERROR]: Error occurred while enabling CubeLegacy v1.3.3 (Is it up to date?)
    2. java.lang.NoSuchMethodError: com.WiseHollow.Commands.AdminCommandExecutor.<init>(Lcom/WiseHollow/CL/CubeLegacy;)V
    3. at com.WiseHollow.CL.CubeLegacy.onEnable(CubeLegacy.java:43) ~[?:?]
    4. at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) ~[craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    5. at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    6. at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    7. at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugin(CraftServer.java:441) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    8. at org.bukkit.craftbukkit.v1_7_R3.CraftServer.enablePlugins(CraftServer.java:375) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    9. at net.minecraft.server.v1_7_R3.MinecraftServer.n(MinecraftServer.java:352) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    10. at net.minecraft.server.v1_7_R3.MinecraftServer.g(MinecraftServer.java:326) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    11. at net.minecraft.server.v1_7_R3.MinecraftServer.a(MinecraftServer.java:282) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    12. at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.java:182) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    13. at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:436) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    14. at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit_dev.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]


    This is the line in question... ( Located in onEnable() )
    Code:java
    1. getPlugin().getCommand("CL").setExecutor(new AdminCommandExecutor(this));


    The Class called AdminCommandExecutor starts looking like this...
    Code:java
    1. public class AdminCommandExecutor extends Output implements CommandExecutor
    2. {
    3. private CubeLegacy plugin;
    4.  
    5. public AdminCommandExecutor(CubeLegacy plugin)
    6. {
    7. this.plugin = plugin;
    8. }
    9.  
    10. private CubeLegacy getPlugin()
    11. {
    12. return plugin;
    13. }
    14.  
    15. @Override
    16. public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
    17. {
    18. if (commandLabel.equalsIgnoreCase("CL"))
    19. {
     
  2. Offline

    Timbo_KZ

    WiseHollow
    Would you mind posting your actual code because, you know, stacktrace doesn't give us a slightest clue of what the code on line 43 in CubeLegacy.java is.
     
  3. Offline

    WiseHollow

  4. Offline

    Timbo_KZ

    WiseHollow
    In AdminCommandExecutor, try changing argument type (and variable type of plugin) from CubeLegacy to JavaPlugin or Plugin.
     
  5. Offline

    WiseHollow

    Timbo_KZ
    You mean like "getPlugin().getCommand("CL").setExecutor(new AdminCommandExecutor(plugin));"?

    Nvm I see what you mean. Just a moment.

    @Timbo_KZ I just changed it and still have the same error on the same line.

    This is what i changed it to.
    Code:java
    1. public class AdminCommandExecutor extends Output implements CommandExecutor
    2. {
    3. private JavaPlugin plugin;
    4.  
    5. public AdminCommandExecutor(JavaPlugin plugin)
    6. {
    7. this.plugin = plugin;
    8. }
    9.  
    10. private JavaPlugin getPlugin()
    11. {
    12. return plugin;
    13. }


    Anyone else have an idea?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  6. Offline

    Timbo_KZ

    WiseHollow
    I've just checked my plugins with the latest build of 1.7.8-R0.1 (#1921) and they work fine.

    In my main class, I have this strucutre:

    Code:java
    1. private static Plugin plugin;
    2.  
    3. @Override
    4. public void onEnable() {
    5. plugin = this;
    6. }
    7.  
    8. public static Plugin getPlugin() { return plugin; }


    Then, in any other class where I need the plugin, I just do

    Code:java
    1. Plugin plugin = Core.getPlugin(); // "Core" is the name of my main class
     
  7. Offline

    WiseHollow

    Timbo_KZ Maybe the way I assign commands is... not an appropriate way. Do you have a suggestion to give each command it's own class to keep it organized?
     
  8. Offline

    RawCode

    update your workspace and recompile.

    you still not posted valid code with linenumbers matching trace
     
  9. Offline

    Wolvereness Bukkit Team Member

     
  10. Offline

    WiseHollow

    You are quite the smarty! I didn't think about that and it was the exact problem. Thanks so much Wolvereness!!!!
     
Thread Status:
Not open for further replies.

Share This Page