Development Assistance My plugin never works after I code it.

Discussion in 'Plugin Help/Development/Requests' started by Chris-Is-Awesome, Feb 17, 2015.

Thread Status:
Not open for further replies.
  1. Whenever I try to run my plugin on a server, it does not work. The source code is correct (Im pretty sure) \, so I dont know what is happening to it... I am on a mac running Eclipse with the java version 1.8. For external jar I use the latest Craft bukkit snapshot 1.8. Here is my code:

    package me.Chris.staff;

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

    public class Main extends JavaPlugin {
    public void onEnable() {
    File file = new File(getDataFolder() + File.separator + "config.yml");

    if (!file.exists()) {
    getLogger().info("Generating config.yml...");

    getConfig().addDefault("Example", "qwerty, joe, jack43");
    getConfig().addDefault("Owner", "Owner Goes Here");
    getConfig().addDefault("Manager", "Manager Goes Here");
    getConfig().addDefault("Admin", "Admin Goes Here");
    getConfig().addDefault("Mod", "Mod Goes Here");
    getConfig().options().copyDefaults(true);
    saveConfig();
    }
    }


    public void onDisable() {
    saveConfig();
    }

    public boolean onCommand(CommandSender sender, Command cmd,
    String commandLabel, String[] args) {
    Player player = (Player) sender;
    if (commandLabel.equalsIgnoreCase("staff")) {
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    player.sendMessage(ChatColor.DARK_RED + "Owner" + ChatColor.GRAY
    + ": " + ChatColor.WHITE + getConfig().getString("Owner"));
    player.sendMessage(ChatColor.GREEN + "Manager" + ChatColor.GRAY
    + ": " + ChatColor.WHITE + getConfig().getString("Manager"));
    player.sendMessage(ChatColor.RED + "Admin" + ChatColor.GRAY + ": "
    + ChatColor.WHITE + getConfig().getString("Admin"));
    player.sendMessage(ChatColor.AQUA + "Mod" + ChatColor.GRAY + ": "
    + ChatColor.WHITE + getConfig().getString("Mod"));
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    } else if (commandLabel.equalsIgnoreCase("staff reload")) {
    if (!sender.hasPermission("staff.reload")) {
    sender.sendMessage(ChatColor.DARK_RED + "You need "
    + ChatColor.WHITE + "staff.reload "
    + ChatColor.DARK_RED + "to use this command.");
    return true;
    }
    reloadConfig();
    sender.sendMessage(ChatColor.GRAY + "Config successfuly reloaded.");
    } else if (commandLabel.equalsIgnoreCase("owner")) {
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    player.sendMessage(ChatColor.DARK_RED + "Owner" + ChatColor.GRAY
    + ": " + ChatColor.WHITE + getConfig().getString("Owner"));
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    } else if (commandLabel.equalsIgnoreCase("admin")) {
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    player.sendMessage(ChatColor.RED + "Admin" + ChatColor.GRAY + ": "
    + ChatColor.WHITE + getConfig().getString("Admin"));
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    } else if (commandLabel.equalsIgnoreCase("manager")) {
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    player.sendMessage(ChatColor.GREEN + "Manager" + ChatColor.GRAY
    + ": " + ChatColor.WHITE + getConfig().getString("Manager"));
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    } else if (commandLabel.equalsIgnoreCase("mod")) {
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    player.sendMessage(ChatColor.AQUA + "Mod" + ChatColor.GRAY + ": "
    + ChatColor.WHITE + getConfig().getString("Mod"));
    player.sendMessage(ChatColor.GRAY + "------------------"
    + ChatColor.AQUA + " Staff " + ChatColor.GRAY
    + "------------------");
    }

    return false;
    }
    }

    My plugin.yml:

    name: Staff

    main: me.Chris.staff

    description: >

    Shows a list of staff for the server

    version: 1.0

    author: HazardousHook



    commands:

    staff:

    description: Shows the server’s staff.

    staff reload:

    description: Reloads the config.

    owner:

    description: Says the Owner.

    admin:

    description: Says the Admin.

    manager:

    description: Says the Manager.

    mod:

    description: Says the Mod.



    permissions:

    staff.reload:

    description: Permission to reload the plugin.

    default: op

    Anyone see anything thats wrong ?
     
  2. Offline

    AmbroAnalog

    please upload your datas as fieles
     
  3. Offline

    SuperOriginal

    Put your code in code tags (Insert > Code)

    And give any console errors.
     
    bwfcwalshy likes this.
  4. Code:
    package me.Chris.staff;
    
    import java.io.File;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
        public void onEnable() {
            File file = new File(getDataFolder() + File.separator + "config.yml");
    
            if (!file.exists()) {
                getLogger().info("Generating config.yml...");
    
                getConfig().addDefault("Example", "qwerty, joe, jack43");
                getConfig().addDefault("Owner", "Owner Goes Here");
                getConfig().addDefault("Manager", "Manager Goes Here");
                getConfig().addDefault("Admin", "Admin Goes Here");
                getConfig().addDefault("Mod", "Mod Goes Here");
                getConfig().options().copyDefaults(true);
                saveConfig();
            }
        }
    
      
        public void onDisable() {
            saveConfig();
        }
    
        public boolean onCommand(CommandSender sender, Command cmd,
                String commandLabel, String[] args) {
            Player player = (Player) sender;
            if (commandLabel.equalsIgnoreCase("staff")) {
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
                player.sendMessage(ChatColor.DARK_RED + "Owner" + ChatColor.GRAY
                        + ": " + ChatColor.WHITE + getConfig().getString("Owner"));
                player.sendMessage(ChatColor.GREEN + "Manager" + ChatColor.GRAY
                        + ": " + ChatColor.WHITE + getConfig().getString("Manager"));
                player.sendMessage(ChatColor.RED + "Admin" + ChatColor.GRAY + ": "
                        + ChatColor.WHITE + getConfig().getString("Admin"));
                player.sendMessage(ChatColor.AQUA + "Mod" + ChatColor.GRAY + ": "
                        + ChatColor.WHITE + getConfig().getString("Mod"));
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
            } else if (commandLabel.equalsIgnoreCase("staff reload")) {
                if (!sender.hasPermission("staff.reload")) {
                    sender.sendMessage(ChatColor.DARK_RED + "You need "
                            + ChatColor.WHITE + "staff.reload "
                            + ChatColor.DARK_RED + "to use this command.");
                    return true;
                }
                reloadConfig();
                sender.sendMessage(ChatColor.GRAY + "Config successfuly reloaded.");
            } else if (commandLabel.equalsIgnoreCase("owner")) {
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
                player.sendMessage(ChatColor.DARK_RED + "Owner" + ChatColor.GRAY
                        + ": " + ChatColor.WHITE + getConfig().getString("Owner"));
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
            } else if (commandLabel.equalsIgnoreCase("admin")) {
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
                player.sendMessage(ChatColor.RED + "Admin" + ChatColor.GRAY + ": "
                        + ChatColor.WHITE + getConfig().getString("Admin"));
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
            } else if (commandLabel.equalsIgnoreCase("manager")) {
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
                player.sendMessage(ChatColor.GREEN + "Manager" + ChatColor.GRAY
                        + ": " + ChatColor.WHITE + getConfig().getString("Manager"));
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
            } else if (commandLabel.equalsIgnoreCase("mod")) {
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
                player.sendMessage(ChatColor.AQUA + "Mod" + ChatColor.GRAY + ": "
                        + ChatColor.WHITE + getConfig().getString("Mod"));
                player.sendMessage(ChatColor.GRAY + "------------------"
                        + ChatColor.AQUA + " Staff " + ChatColor.GRAY
                        + "------------------");
            }
    
            return false;
        }
    }
    HTML:
    name: Staff
    main: me.Chris.staff
    description: >
                 Shows a list of staff for the server
    version: 1.0
    author: HazardousHook
    
    commands:
       staff:
          description: Shows the server’s staff.
       staff reload:
          description: Reloads the config.
       owner:
          description: Says the Owner.
       admin:
          description: Says the Admin.
       manager:
          description: Says the Manager.
       mod:
          description: Says the Mod.
         
    permissions:
        staff.reload:
            description: Permission to reload the plugin.
            default: op
    r

    And no console errors, because console can not read the plugin. Its like the plugin is invisible...

    <Edited by bwfcwalshy: Merged posts, please use the edit button rather than double posting.>
     
  5. Offline

    SuperOriginal

    Your main in plugin.yml needs to point to your main class, you're just naming the package.
     
  6. So would it be Main.java or just Main
     
  7. Offline

    uksspy

    Given "Main" as your main class it would be: me.Chris.staff.Main
     
  8. It didnt work...

    HTML:
    [16:52:16] [Server thread/ERROR]: Could not load 'plugins/Staff.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/Chris/staff/Main : Unsupported major.minor version 52.0
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[spigot_1649.jar:git-Spigot-1649]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:341) ~[spigot_1649.jar:git-Spigot-1649]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:263) [spigot_1649.jar:git-Spigot-1649]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [spigot_1649.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [spigot_1649.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot_1649.jar:git-Spigot-1649]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot_1649.jar:git-Spigot-1649]
    Caused by: java.lang.UnsupportedClassVersionError: me/Chris/staff/Main : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.7.0_67]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[?:1.7.0_67]
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.7.0_67]
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[?:1.7.0_67]
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[?:1.7.0_67]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[?:1.7.0_67]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[?:1.7.0_67]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0_67]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[?:1.7.0_67]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot_1649.jar:git-Spigot-1649]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot_1649.jar:git-Spigot-1649]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[?:1.7.0_67]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[?:1.7.0_67]
        at java.lang.Class.forName0(Native Method) ~[?:1.7.0_67]
        at java.lang.Class.forName(Class.java:270) ~[?:1.7.0_67]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot_1649.jar:git-Spigot-1649]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot_1649.jar:git-Spigot-1649]
        ... 6 more
    Thats the error im now getting

    EDIT by Timtower: merged posts
     
    Last edited by a moderator: Feb 17, 2015
  9. Offline

    Laxer21117

    Another way of implementing permissions in the plugin.yml is inserting them under the command description. Such as:
    HTML:
    name: Staff
    main: me.Chris.staff
    description: >
                 Shows a list of staff for the server
    version: 1.0
    author: HazardousHook
    commands:
       staff:
          description: Shows the server’s staff.
       staff reload:
          description: Reloads the config.
          permission: staff.reload
       owner:
          description: Says the Owner.
       admin:
          description: Says the Admin.
       manager:
          description: Says the Manager.
       mod:
          description: Says the Mod.
     
  10. Offline

    timtower Administrator Administrator Moderator

    Moved to Bukkit alternatives.
    @Chris-Is-Awesome You are compiling with java 8 but running with a lower version.
     
    TheEntropy likes this.
Thread Status:
Not open for further replies.

Share This Page