0

I've been stuck on this error for about a half an hour now trying to figure out what's causing it, and what to do to fix it. If you could please give me an answer to both of those inquiries, it would be greatly appreciated.

Here's my main class.

package me.galaxywarrior6.minecraftgta;

import java.util.Arrays;

import me.galaxywarrior6.minecraftgta.commands.GangCreateCommand;
import me.galaxywarrior6.minecraftgta.events.AmmoBuyEvents;
import me.galaxywarrior6.minecraftgta.events.EntityEvents;
import me.galaxywarrior6.minecraftgta.events.PlayerEvents;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;

public class MinecraftGTA extends JavaPlugin{

    public static FileConfiguration config;

    public static MinecraftGTA plugin = null;

    @Override
    public void onEnable(){
        getServer().getPluginManager().registerEvents(new PlayerEvents(), this);
        getServer().getPluginManager().registerEvents(new EntityEvents(), this);
        getServer().getPluginManager().registerEvents(new AmmoBuyEvents(), this);

        getCommand("gangs").setExecutor(new GangCreateCommand(this));

        System.out.println("[Minecraft GTA] Made by galaxywarrior6");
        System.out.println("[Minecraft GTA] Re-wrote and improved by I_Stole_The_Sock");

        this.saveDefaultConfig();

        config = getConfig();
        plugin = this;

        config.set("gangs.list", Arrays.asList());

    }

    @Override
    public void onDisable(){
        System.out.println("[Minecraft GTA] Made by galaxywarrior6");
        System.out.println("[Minecraft GTA] Re-wrote and improved by I_Stole_The_Sock");
        this.saveConfig();

    }

    public static void saveFile(){
        plugin.saveConfig();
    }
}

Here is my GangCreateCommand class.

package me.galaxywarrior6.minecraftgta.commands;

import me.galaxywarrior6.minecraftgta.MinecraftGTA;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class GangCreateCommand implements CommandExecutor{

    public MinecraftGTA plugin;
    public GangCreateCommand(MinecraftGTA instance){
        plugin = instance;  
        }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("gangs")){

            String prefix = ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + "Gangs" + ChatColor.DARK_GRAY + "] ";

            if (MinecraftGTA.config.getList("gangs.list").contains(args[0])){
                p.sendMessage(prefix + ChatColor.RED + "That gang name is already taken!");
                return true;
            }

            String UUID = p.getUniqueId().toString();

            if (!(MinecraftGTA.config.getString(UUID + ".Gang") == "None")){
                p.sendMessage(prefix + ChatColor.RED + "You're already in a gang!");
                return true;
            }

            if (args[0].equalsIgnoreCase("create")){

                MinecraftGTA.config.set(UUID + ".Gang", args[0]);
                MinecraftGTA.config.set(UUID + ".GangOwnership", args[0]);
                MinecraftGTA.config.set(UUID + ".GangRank", "Owner");
                MinecraftGTA.config.getStringList("gangs").add(args[0]);

                p.sendMessage(prefix + ChatColor.GREEN + "You've successfully created a gang!");
                p.sendMessage(prefix + ChatColor.GREEN + "Type /gangs invite (username) to invite a player to join your gang!");
                Bukkit.getServer().broadcastMessage(prefix + ChatColor.LIGHT_PURPLE + p.getName() + ChatColor.GREEN + " has started up a gang!");
                return true;
            }
        }
        return true;
    }
}

Here is the error log

10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:175) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.a(MinecraftServer.java:275) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.g(MinecraftServer.java:319) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.m(MinecraftServer.java:342) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:282) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:300) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:384) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:350) [craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) ~[craftbukkit_beta.jar:git-Bukkit-1.7.2-R0.2-16-gb12f12f-b2996jnks]
10.04 01:27:35 [Server] INFO at me.galaxywarrior6.minecraftgta.MinecraftGTA.onEnable(MinecraftGTA.java:25) ~[?:?]
10.04 01:27:35 [Server] INFO java.lang.NullPointerException
10.04 01:27:35 [Server] ERROR Error occurred while enabling Minecraft GTA v0.3 (Is it up to date?)
Dev Sock
  • 171
  • 1
  • 2
  • 12

2 Answers2

0

Your error is here : getCommand("gangs").setExecutor(new GangCreateCommand(this));

If you see this code of this class : org.bukkit.plugin.java.JavaPlugin; ou will see :

public PluginCommand getCommand(String name) {
    String alias = name.toLowerCase();
    PluginCommand command = getServer().getPluginCommand(alias);

  if ((command != null) && (command.getPlugin() != this)) {
     command = getServer().getPluginCommand(description.getName().toLowerCase() + ":" +    alias);
  }

  if ((command != null) && (command.getPlugin() == this)) {
      return command;
  } else {
      return null;
  }
}

So this method can return null, you have to catch the exception.

mherbert
  • 515
  • 3
  • 12
  • The code source of JavaPlugin is here : http://jd.bukkit.org/rb/doxygen/d7/d48/JavaPlugin_8java_source.html – mherbert Apr 10 '14 at 07:40
  • 1
    Instead of catching a null pointer exception you should check for `null` before using the object. – das Keks Apr 10 '14 at 07:43
  • I agree : if( getCommand("gangs") != null){ getCommand("gangs").setExecutor(new GangCreateCommand(this)); } – mherbert Apr 10 '14 at 07:46
0

The problem is that you never specified the command in your plugin.yml, or you left out your plugin.yml altogether. This is the most vital file in your entire plugin jar.

For more information about the plugin.yml check here:

http://wiki.bukkit.org/Plugin_YAML

BillyGalbreath
  • 190
  • 1
  • 9