[ADMN]VIP [1240] Requesting Help!

Discussion in 'Plugin Development' started by Ruler, Oct 5, 2011.

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

    Ruler

    Hey.... Im working on a plugin called VIP
    What have i messed up on here?
    Download VIP here (if you can help me fix it)
    This is suppose to make a VIP list that reserves slots!

    161 recipes
    17 achievements
    20:44:35 [INFO] Starting minecraft server version Beta 1.8.1
    20:44:35 [INFO] Loading properties
    20:44:35 [INFO] Starting Minecraft server on *:25565
    20:44:35 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1044
    -g49330f7-b1150jnks (MC: 1.8.1)
    20:44:35 [SEVERE] Could not load 'plugins\VIP.jar' in folder 'plugins':
    java.lang.UnsupportedClassVersionError: com/ruler/bukkit/VIP/VIP : Unsupported m
    ajor.minor version 8241.8224
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:168)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:213)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:136)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:138)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:103)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    ationManager.java:52)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:136)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    20:44:35 [INFO] Preparing level "world"
    20:44:35 [INFO] Default game type: 0
    20:44:35 [INFO] Preparing start region for level 0 (Seed: -8714266985696088753)
    20:44:36 [INFO] Preparing start region for level 1 (Seed: -8714266985696088753)
    20:44:36 [INFO] Preparing spawn area: 12%
    20:44:37 [INFO] Server permissions file permissions.yml is empty, ignoring it
    20:44:37 [INFO] Done (0.178s)! For help, type "help" or "?"
    20:44:37 [INFO] New max size: 484
    20:44:37 [INFO] New max size: 784

    Source!
    com/ruler/bukkit/VIP/Listener
    Code:
    package com.ruler.bukkit.VIP;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerListener;
    import org.bukkit.event.player.PlayerLoginEvent;
    
    public class Listener extends PlayerListener {
        private VIP plugin;
    
        public Listener(VIP plugin) {
    	this.plugin = plugin;
        }
    
        public void onPlayerLogin(PlayerLoginEvent event) {
    	if (plugin.getServer().getOnlinePlayers().length == plugin.limit) {
    	    if (!plugin.reserved.contains(event.getPlayer().getName())) {
    		event.disallow(PlayerLoginEvent.Result.KICK_OTHER, plugin.message);
    	    }
    	}
        }
    
        public void onPlayerCommand(PlayerChatEvent event) {
    	String[] split = event.getMessage().split(" ");
    	Player player = event.getPlayer();
    
    	if (!player.isOp()) {
    	    return;
    	}
    
    	if (split[0].equalsIgnoreCase("/reload")) {
    	    plugin.load();
    	}
        }
    }
    
    Code:
    package com.ruler.bukkit.VIP;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Properties;
    import java.util.logging.Logger;
    
    import org.bukkit.Server;
    import org.bukkit.event.Event;
    import org.bukkit.event.Event.Priority;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginLoader;
    import org.bukkit.plugin.java.JavaPlugin;
    
    /**
     *
     * VIP.
     * Allows players who are special to get on the server if it is full.
     *
     * @author Ruler
     */
    public class Reserves extends JavaPlugin {
        // Listener
        private Listener Listener = new Listener(this);
        // Logger
        public static final Logger log = Logger.getLogger("Minecraft");
    
        // Server Size & Reserve list
        public int limit;
        public String message = "Server is currently full. You are not on the VIP list.";
        public ArrayList<String> reserved = new ArrayList<String>();
    
        // Data
        PluginDescriptionFile pluginData = this.getDescription();
    
        public Reserves(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) {
    	super(pluginLoader, instance, desc, folder, plugin, cLoader);
    
    	registerEvents();
    
    	// Enabled
    	log.info("[" + pluginData.getName() + "] version [" + pluginData.getVersion() + "] (" + pluginData.getAuthors() + ") loaded");
        }
    
        public void onDisable() {
    	log.info("[" + pluginData.getName() + "] version [" + pluginData.getVersion() + "] (" + pluginData.getAuthors() + ") un-loaded");
        }
    
        public void onEnable() {
    	try {
    	    Properties props = new Properties();
    	    props.load(new FileReader("server.properties"));
    	    limit = Integer.parseInt(props.getProperty("max-players").trim());
    	    message = props.getProperty("reserve-message", message).trim();
    	} catch (IOException ex) {
    	    System.out.println("Unable to set max server size");
    	}
    
    	load();
        }
    
        private void registerEvents() {
    	this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, Listener, Priority.High, this);
    	this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, Listener, Priority.High, this);
        }
    
        public void load() {
    	try {
    	    File list = new File("reserved.txt");
    
    	    if (!list.exists()) {
    		list.createNewFile();
    	    }
    
    	    BufferedReader br = new BufferedReader(new FileReader(list));
    	    String in;
    	    reserved.clear();
    
    	    while ((in = br.readLine()) != null) {
    		reserved.add(in);
    	    }
    
    	    br.close();
    	    System.out.println("Loaded " + reserved.size() + " VIP players");
    	} catch (Exception e) {
    	    System.out.println("Unable to load VIP list.");
    	}
        }
    }
    
     
  2. Source please
     
  3. Offline

    Ruler

    Its in the JAR
     
  4. Offline

    Lookatmego

    ddo u have a plugin.yml in the jar
     
  5. Offline

    Ruler

    Ya, Why?
     
  6. Offline

    AinSophAur

    I'm having trouble extracting the source...I can't help without being able to look at it.
     
  7. Offline

    Ruler

    Ill Post it,
     
  8. Yea, unless you have a good reason just post it here :)
     
  9. Offline

    Ruler

    Posted

    Posted

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  10. Offline

    AinSophAur

    Thats not the source....you need to post the .java files you used to make it before you exported into a .jar
     
  11. Offline

    Ruler

    Oh! Ok!

    POSTED!!!!!!!!

    Its up!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  12. Offline

    Pasukaru

    and where is the plugin's main class? something like VIP.java or whatever you call it.

    [Edit]
    Oh found it, its a spoiler in a spoiler :eek:
    Dunno where the problem is, its a pain in the a** to read code without ['code'] tags
     
  13. The error seems to be something with your version formatting, however i dont see whats wrong with it.

    Error:
    UnsupportedClassVersionError: com/ruler/bukkit/VIP/VIP : Unsupported major.minor version 8241.8224
     
  14. Offline

    Ruler

    Try Now!

    Try now

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  15. Uhm, try what ?
     
  16. I kinda have the impression that this isn't your code anyway, since you do not even know what source code is...
    Post your plugin.yml

    [edit]
    There already is a plugin called VIP...

    [edit2]
    Looking at your code a bit more carefully, you just seem to have renamed stuff. Your PlayerListener's constructor still requires a VIP object, while you renamed your main class to Reserves.
     
  17. Offline

    AinSophAur

    You can't rename stuff without being consistent everywhere.
     
  18. Offline

    Ruler

    If your a VIP you get a reserved slot
    and i was not reading what you wanted correctly yesterday

    What is wrong here?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  19. Offline

    Lolmewn

    I'd get rid of the constructor in the main class, just enable anything you need in the onEnable function.
     
  20. Offline

    Kez1337

    20:44:35 [SEVERE] Could not load 'plugins\VIP.jar' in folder 'plugins':
    java.lang.UnsupportedClassVersionError: com/ruler/bukkit/VIP/VIP : Unsupported m
    ajor.minor version 8241.8224

    Something is outdated
     
  21. Offline

    Icelaunche

    is this the plugin from Dinnerbones tuts? i think he makes a VIP plugin
     
  22. Offline

    Ruler

    No? This plugin does not even work yet
     
  23. Offline

    Icelaunche

    kk well He makes a VIP plugin... and what build are you using? And can you post the plugin.yml?
     
  24. Offline

    Ruler

    I want to use 1240,
    But right now 1060 seems to be only working one....
     
  25. Offline

    Icelaunche

    1240 works for me... can i see the plugin.yml?
     
  26. Offline

    Kez1337

    Update the bukkit API
     
Thread Status:
Not open for further replies.

Share This Page