Solved (Is it up to date?) Error

Discussion in 'Plugin Development' started by OpperElfje, Jan 2, 2018.

Thread Status:
Not open for further replies.
  1. Hello everybody,

    I was just creating a plugin for a Bukkit-Server.
    But when I tested the plugin on my server, the error came up.
    How can i fixt this.

    Code:
    [17:46:24 ERROR]: Error occurred while enabling MiniGames v1.0 (Is it up to date?)
    java.lang.IllegalArgumentException: Name cannot be null
            at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.getWorld(CraftServer.java:1023) ~[spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.Bukkit.getWorld(Bukkit.java:501) ~[spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at me.opperelfje.Minigames.Main.loadLocation(Main.java:40) ~[?:?]
            at me.opperelfje.Minigames.Main.onEnable(Main.java:96) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:376) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:326) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:750) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.Bukkit.reload(Bukkit.java:540) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.PlayerConnection.handleCommand(PlayerConnection.java:1354) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1189) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_151]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_151]
            at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-3fb9445-6e3cec8]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
     
  2. Offline

    RunsWithShovels

    @OpperElfje Post your plugin.yml and main class.

    What location are you trying to load in the loadLocation method. If it's a players location, then it will return null when a server starts up because there aren't any player on the server.
     
  3. This in my plugin.yml
    Code:
    name: MiniGames
    main: me.opperelfje.Minigames.Main
    version: 1.0
    author: OpperElfje
    description: Minigames
    commands:
    minigames:
       description: Main command
       usage: /<command>
       aliases: [mg]
    join:
       description: Main command
       usage: /<command>      
    leave:
       description: Main command
       usage: /<command>
    createarena:
       description: Main command
       usage: /<command>
    removearena:
       description: Main command
       usage: /<command>
    setcube:
       description: Main command
       usage: /<command>
       
    mainClass
    Code:
    package me.opperelfje.Minigames;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.block.BlockFace;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.command.ConsoleCommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.potion.PotionEffect;
    import org.bukkit.potion.PotionEffectType;
    
    import me.opperelfje.Arena.ArenaManager;
    import me.opperelfje.Arena.Cuboide;
    import me.opperelfje.Kast.HooftKast;
    import me.opperelfje.commands.CreateCommand;
    import me.opperelfje.commands.RemoveCommand;
    import me.opperelfje.commands.helpCommand;
    import me.opperelfje.commands.joinCommand;
    import me.opperelfje.commands.leaveCommand;
    import me.opperelfje.spleef.Spleef;
    import me.opperelfje.tntrun.Tntrun;
    import me.opperelfje.tntrun.walkontnt;
    
    
    public class Main extends JavaPlugin implements Listener  {
        private static Cuboide Zone1;
        private static Cuboide Zone2;
        private Location loadLocation(String chemin){
                double x = getConfig().getDouble(chemin + ".x");
                double y = getConfig().getDouble(chemin + ".y");
                double z = getConfig().getDouble(chemin + ".z");
                World w = Bukkit.getWorld(getConfig().getString(chemin+".w"));
                return new Location(w,x,y,z);
        }
        private void saveLocation(String chemin, Location l){
                getConfig().set(chemin + ".x", l.getX());
                getConfig().set(chemin + ".y", l.getY());
                getConfig().set(chemin + ".z", l.getZ());
                getConfig().set(chemin + ".w", l.getWorld().getName());
                saveConfig();
        }
        @EventHandler
        public void inaMove(PlayerMoveEvent e){
                Player p = e.getPlayer();
                try{
                    if(Zone1.isInCube(p)) {
                        p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 999999, 1));
                        if(p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.TNT) {
                            p.getLocation().getBlock().getRelative(BlockFace.DOWN).setType(Material.AIR);
                    }
                    }
                }catch(Exception event){
                    for (PotionEffect effect : p.getActivePotionEffects())
                        p.removePotionEffect(effect.getType());
                }
                try{
                    Zone2.isInCube(p);
                    p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 999999, 1));
                    if(p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.TNT) {
                        p.getLocation().getBlock().getRelative(BlockFace.DOWN).setType(Material.AIR);
                    }
                }catch(Exception event){
                    for (PotionEffect effect : p.getActivePotionEffects())
                        p.removePotionEffect(effect.getType());
                }
                }
        @Override
        public void onEnable(){
            ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
            console.sendMessage(ChatColor.DARK_RED + "[MiniGames] enable!");
            getServer().getPluginManager().registerEvents(new Inventory(), this);
             getServer().getPluginManager().registerEvents(new Selector(), this);
             getServer().getPluginManager().registerEvents(new Spleef(), this);
             getServer().getPluginManager().registerEvents(new Tntrun(), this);
             getServer().getPluginManager().registerEvents(new Playerv(), this);
             getServer().getPluginManager().registerEvents(new HooftKast(), this);
             getServer().getPluginManager().registerEvents(new walkontnt(), this);
             getCommand("minigames").setExecutor(new helpCommand());
             getCommand("join").setExecutor(new joinCommand());
             getCommand("leave").setExecutor(new leaveCommand());
             getCommand("createarena").setExecutor(new CreateCommand());
             getCommand("removearena").setExecutor(new RemoveCommand());
             saveConfig();
             getServer().getPluginManager().registerEvents(this, this);
             if(getConfig().getBoolean("location")){
                     Zone1 = new Cuboide(loadLocation("zone1.l1"), loadLocation("zone1.l2"));
                     Zone2 = new Cuboide(loadLocation("zone2.l1"), loadLocation("zone2.l2"));
             }
             if (!getDataFolder().exists())
                 getDataFolder().mkdirs();
             if (getConfig() == null)
                 saveDefaultConfig();
             new ArenaManager(this);
             ArenaManager.getManager().loadGames();
        }
       
        @Override
        public boolean onCommand(CommandSender sender, Command cmd,     String label, String[] args) { 
            Player p = (Player) sender;
            if(cmd.getName().equalsIgnoreCase("setcube")){
                    if(args.length == 2){
                                    if((args[1].equalsIgnoreCase("1") || args[1].equalsIgnoreCase("2"))){
                                            saveLocation(args[0]+".l"+args[1], p.getLocation());
                                            getConfig().set("location", true);
                                            saveConfig();
                                            p.sendMessage("§2La position §c"+args[1]+"§2 pour la zone §c"+args[0]+"§2 a été définis !");
                                    }
                                  
                    }
            }
            return true;
          }
    
        public void onDisable() {
            saveConfig();
        }
    
    }
    and its a player location
     
  4. Offline

    timtower Administrator Administrator Moderator

    @OpperElfje The config sections that you are trying to load don't exist, it is complaining about a world that is null.
     
  5. How can i fix it than.

    This is the Config file.

    Code:
    zone1:
      l1:
        x: 327.6872564514314
        y: 88.0
        z: 29.41950172195556
        w: world
     
  6. Offline

    Tabuu_

    Please mark this thread as solved.
     
Thread Status:
Not open for further replies.

Share This Page