First plugin doesn't work at other pc

Discussion in 'Plugin Development' started by Postbag, May 4, 2012.

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

    Postbag

    I just finished my first plugin (PbMineExp), it works fine on my pc but it gives an error on my friends pc who runs everything on the same version of as I do.
    This is his error:
    Code:
    182 recipes
    27 achievements
    14:28:09 [INFO] Starting minecraft server version 1.2.5
    14:28:09 [INFO] Loading properties
    14:28:09 [INFO] Starting Minecraft server on 192.168.2.5:25565
    14:28:09 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
    14:28:09 [WARNING] The server will make no attempt to authenticate usernames. Be
    ware.
    14:28:09 [WARNING] While this makes the game possible to play without internet a
    ccess, it also opens up the ability for hackers to connect with any username the
    y choose.
    14:28:09 [WARNING] To change this, set "online-mode" to "true" in the server.pro
    perties file.
    14:28:09 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R1.0
    -b2149jnks (MC: 1.2.5) (Implementing API version 1.2.5-R1.0)
    14:28:09 [SEVERE] Could not load 'plugins\PbMineExp.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError
    : me/postbag/pbmineexp/PbMineExp : Unsupported major.minor version 51.0
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:150)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:305)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:230)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:207)
            at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:183)
            at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    ationManager.java:53)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.UnsupportedClassVersionError: me/postbag/pbmineexp/PbMineEx
    p : Unsupported major.minor version 51.0
            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:41)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:29)
            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:139)
            ... 8 more
    what happend? because everything works fine on my pc :\

    plugin.yml
    Code:
    name: PbEssential
    main: me.postbag.pbmineexp.PbMineExp
    version: 1.6
    authors:
      - Postbag
    
    PbMineExp.java
    Code:
    package me.postbag.pbmineexp;
     
    import java.util.logging.Logger;
     
    import org.bukkit.plugin.java.JavaPlugin;
     
     
     
     
    public class PbMineExp extends JavaPlugin{
       
        public static final Logger log = Logger.getLogger("Minecraft"); //Hiermee kunnen we berichten versturen naar de console.
       
            public void onEnable(){ //Deze code word uitgevoerd als de plugin word aangezet.
                log.info("PbMineExp is enabled.");
                new PbMineExpBlockListener(this);
            }
       
     
        public void onDisable(){ //Deze code word uitgevoerd als de plugin word afgesloten.
        log.info("Thanks for using PbMineExp.");        //We hoeven de events niet te deregistreren, dit gebeurt automatisch.
        }
       
        /*public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args){
            //////////////////////////////////////////////////////////////////////
                 
            ////////////////////////////////////////////////////////////////////////       
           
            return false;
        }*/
       
    }
    PbMineExpBlockListener.java
    Code:
    package me.postbag.pbmineexp;
     
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.ExperienceOrb;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.event.block.BlockPlaceEvent;
     
     
     
    public class PbMineExpBlockListener implements Listener{
       
        public static PbMineExp plugin;
     
        public PbMineExpBlockListener(PbMineExp instance)
        {
            plugin = instance;
            plugin.getServer().getPluginManager().registerEvents(this, plugin);
        }
     
        @EventHandler
        public void onBlockPlace(BlockPlaceEvent event){
           
            Player player = event.getPlayer();
            Block block = event.getBlock();
            Material mat = block.getType();
           
        }
       
        @EventHandler
        public void onBlockBreak(BlockBreakEvent event){
            Player player = event.getPlayer();
            Block block = event.getBlock();
            Material mat = block.getType();
            ExperienceOrb orb = block.getWorld().spawn(block.getLocation().add(0.5, 0.5, 0.5), ExperienceOrb.class);
           
            ////////////////// shovel/hand
           
            if(event.getBlock().getType().equals(Material.SAND)){
                orb.setExperience(3);
              /*float explosionPower = 50F;
                block.getWorld().createExplosion(block.getLocation(), explosionPower);*/
            } 
           
            if(event.getBlock().getType().equals(Material.GRAVEL)){
                orb.setExperience(3);
            }
           
            if(event.getBlock().getType().equals(Material.DIRT)){
                orb.setExperience(3);
            }
           
            if(event.getBlock().getType().equals(Material.GRASS)){
                orb.setExperience(3);
                /*if(event.getPlayer().getName().equals("Postbag")){
                    block.getWorld().spawnCreature(block.getLocation(), EntityType.CREEPER);
                }*/
            }       
           
            if(event.getBlock().getType().equals(Material.SOUL_SAND)){
                orb.setExperience(3);
            }
           
            ////////////////////////// hand/other tools
           
            if(event.getBlock().getType().equals(Material.GLOWSTONE)){
                orb.setExperience(12);
            }   
           
            ////////////////////////// hatchet
           
            if(event.getBlock().getType().equals(Material.WOOD)){
                orb.setExperience(6);
            }
           
            ///////////////////////// pickaxe
           
            if(event.getBlock().getType().equals(Material.SANDSTONE)){
                orb.setExperience(7);
            }
           
            if(event.getBlock().getType().equals(Material.STONE)){
                orb.setExperience(5);
            }
           
            if(event.getBlock().getType().equals(Material.NETHERRACK)){
                orb.setExperience(4);
            }
           
            if(event.getBlock().getType().equals(Material.COAL_ORE)){
                orb.setExperience(8);
            }
           
            if(event.getBlock().getType().equals(Material.IRON_ORE)){
                orb.setExperience(10);
            }
           
            if(event.getBlock().getType().equals(Material.LAPIS_ORE)){
                orb.setExperience(20);
            }
           
            if(event.getBlock().getType().equals(Material.GOLD_ORE)){
                orb.setExperience(25);
            }
           
            if(event.getBlock().getType().equals(Material.DIAMOND_ORE)){
                orb.setExperience(40);
            }
           
            if(event.getBlock().getType().equals(Material.REDSTONE_ORE)){
                orb.setExperience(20);
            }
           
            //////////////Fun block
           
            if(event.getBlock().getType().equals(Material.SPONGE)){
                orb.setExperience(5000);
                player.sendMessage("Because I love you.");
                player.getWorld().spawnCreature(player.getLocation(), EntityType.LIGHTNING);
            }
           
            //////////////////////////
           
           
        }
    }
    
     
  2. Offline

    SirTyler

    You compiled with a higher version then your server is running, Also offline mode is never a good idea.
     
  3. Offline

    Postbag

    So how do i fix it? :\
     
  4. Offline

    SirTyler

    recompile with the version your server is using or change the version the server is using. Most plugins are compiled with Java 6.
     
  5. Offline

    Postbag

    i think i compiled everythig using Java 7, how do i compile it using java 6?(i use ecplise)
     
  6. Offline

    Komak57

    The problem might be simpler than that. I believe the craftbukkit server he is running vs the client he is running do not match the compiled craftbukkit version. ensure all 3 are matching versions (Craftbukkit 1.2.5-R1.0.jar matches the plugin included craftbukkit far, and the client is running 1.2.5) Worst case scenario, re-download the latest craftbukkit release, and install both Java releases (1.6 and 1.7) as well as 32 bit and 64 bit (depending on the OS)
     
  7. Offline

    maxp0wer789

    ProjectExplorer->Right click on your Project->Build Path->Configure Build Path...->double-click JRE System Library->chose the 1.6 jdk

    EDIT: your friend could also change the batch which is starting the server if he has 1.7 installed to
    [...]jre7\bin\java.exe[...]
     
  8. Offline

    Postbag

    Thanks guys!
    you're awesome, all of you :)
    <Edit by Moderator: Redacted mediafire url>
     
    Last edited by a moderator: Nov 10, 2016
Thread Status:
Not open for further replies.

Share This Page