onEnable error

Discussion in 'Plugin Development' started by pc_h8r, Feb 22, 2013.

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

    pc_h8r

    I get this when I start my server...

    Code:
    23:24:40 [INFO] [WarFighter] Loading WarFighter v1.1
    23:24:40 [INFO] [WarFighter] Enabling WarFighter v1.1
    23:24:40 [INFO] [WarFighter] Enabling WarFighter plugin...
    23:24:40 [INFO] [WarFighter] Loading config...
    23:24:40 [INFO] [WarFighter] Config successfully loaded! Setting respawn time...
    23:24:40 [INFO] [WarFighter] Setting Time Limit...
    23:24:40 [INFO] [WarFighter] Registering events...
    23:24:40 [INFO] [WarFighter] KD...
    23:24:40 [INFO] [WarFighter] ratio...
    23:24:40 [SEVERE] Error occurred while enabling WarFighter v1.1 (Is it up to date?)
    java.lang.NullPointerException
    at de.mrpixeldream.bukkit.tdm.WarFighter.onEnable(WarFighter.java:84)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.java:282)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:264)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.reload(CraftServer.java:596)
    at org.bukkit.Bukkit.reload(Bukkit.java:184)
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchServerCommand(CraftServer.java:506)
    at net.minecraft.server.v1_4_R1.DedicatedServer.al(DedicatedServer.java:260)
    at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:225)
    at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494)
    at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427)
    at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
    23:24:40 [INFO] Server permissions file permissions.yml is empty, ignoring it
    23:24:40 [INFO] CONSOLE: Reload complete.
    Here is the troubled onEnable

    Code:
    System.out.println("[WarFighter] Config successfully loaded! Setting respawn time...");
     
    respawn_time = getConfig().getInt("Respawn.time");
     
    System.out.println("[WarFighter] Setting Time Limit...");
     
    time = getConfig().getInt("General.time limit");
     
    System.out.println("[WarFighter] Registering events...");
     
    getCommand("kd").setExecutor(new CommandKD(this));
    System.out.println("[WarFighter] KD...");
    getCommand("ratio").setExecutor(new CommandKD(this));
    System.out.println("[WarFighter] ratio...");
    getCommand("startmatch").setExecutor(new CommandStartMatch(this));
    System.out.println("[WarFighter] startmatch...");
    getCommand("stopmatch").setExecutor(new CommandStopMatch(this));
    System.out.println("[WarFighter] stopmatch...");
    getCommand("stats").setExecutor(new CommandStats(this));
    System.out.println("[WarFighter] stats...");
    getCommand("team").setExecutor(new CommandTeam(this));
    System.out.println("[WarFighter] team...");
    getServer().getPluginManager().registerEvents(this, this);
    getServer().getPluginManager().registerEvents(deadmv_handler, this);
     
  2. Offline

    NinjaWAffles

    Something is null on line 84 of your main class, WarFighter.java. It would help you copied the whole class down and put it in syntax tags and the error in code tags.
     
  3. Offline

    pc_h8r

    Main class

    Code:Java
    1. package de.mrpixeldream.bukkit.tdm;
    2.  
    3. import de.mrpixeldream.bukkit.tdm.cmd.CommandKD;
    4. import de.mrpixeldream.bukkit.tdm.cmd.CommandStartMatch;
    5. import de.mrpixeldream.bukkit.tdm.cmd.CommandStats;
    6. import de.mrpixeldream.bukkit.tdm.cmd.CommandStopMatch;
    7. import de.mrpixeldream.bukkit.tdm.cmd.CommandTeam;
    8.  
    9. import java.io.File;
    10. import java.util.ArrayList;
    11. import java.util.HashMap;
    12. import java.util.LinkedList;
    13.  
    14. import org.bukkit.ChatColor;
    15. import org.bukkit.entity.Entity;
    16. import org.bukkit.entity.Player;
    17. import org.bukkit.event.EventHandler;
    18. import org.bukkit.event.Listener;
    19. import org.bukkit.event.entity.PlayerDeathEvent;
    20. import org.bukkit.event.player.PlayerJoinEvent;
    21. import org.bukkit.event.player.PlayerQuitEvent;
    22. import org.bukkit.event.player.PlayerRespawnEvent;
    23. import org.bukkit.inventory.ItemStack;
    24. import org.bukkit.plugin.java.JavaPlugin;
    25.  
    26. public class WarFighter extends JavaPlugin implements Listener {
    27.  
    28. private final String PREFIX = ChatColor.DARK_PURPLE + "[WarFighter] ";
    29. public static LinkedList<Entity> red;
    30. public static LinkedList<Entity> blue;
    31. public static ArrayList<Entity> dead;
    32. public static ArrayList<Integer> respawn_left;
    33. public static HashMap<Player, Integer> scores;
    34. public static HashMap<Player, Integer> deaths;
    35. public static int respawn_time;
    36. public static int red_score = 0;
    37. public static int blue_score = 0;
    38. public static int time;
    39. public static boolean isDeatmatch;
    40. public static final FriendlyFireHandler ff_handler = new FriendlyFireHandler();
    41. public static final DeadPlayerRespawnHandler deadrs_handler = new DeadPlayerRespawnHandler();
    42. public static final DeadPlayerMoveHandler deadmv_handler = new DeadPlayerMoveHandler();
    43. public static final DeathmatchHandler dm_handler = new DeathmatchHandler();
    44.  
    45. /*
    46. * private final CommandKD CMD_KD = new CommandKD(this); private final
    47. * CommandRestart CMD_RESTART = new CommandRestart(this); private final
    48. * CommandStats CMD_STATS = new CommandStats(); private final CommandTeam
    49. * CMD_TEAM = new CommandTeam();
    50. */
    51.  
    52. public void onEnable() {
    53. System.out.println("[WarFighter] Enabling WarFighter plugin...");
    54.  
    55. red = new LinkedList<Entity>();
    56. blue = new LinkedList<Entity>();
    57.  
    58. dead = new ArrayList<Entity>();
    59. respawn_left = new ArrayList<Integer>();
    60.  
    61. scores = new HashMap<Player, Integer>();
    62. deaths = new HashMap<Player, Integer>();
    63.  
    64. isDeatmatch = false;
    65.  
    66. System.out.println("[WarFighter] Loading config...");
    67.  
    68. loadConfig();
    69.  
    70. System.out.println("[WarFighter] Config successfully loaded! Setting respawn time...");
    71.  
    72. respawn_time = getConfig().getInt("Respawn.time");
    73.  
    74. System.out.println("[WarFighter] Setting Time Limit...");
    75.  
    76. time = getConfig().getInt("General.time limit");
    77.  
    78. System.out.println("[WarFighter] Registering events...");
    79.  
    80. getCommand("kd").setExecutor(new CommandKD(this));
    81. System.out.println("[WarFighter] KD...");
    82. getCommand("ratio").setExecutor(new CommandKD(this));
    83. System.out.println("[WarFighter] ratio...");
    84. getCommand("startmatch").setExecutor(new CommandStartMatch(this));
    85. System.out.println("[WarFighter] startmatch...");
    86. getCommand("stopmatch").setExecutor(new CommandStopMatch(this));
    87. System.out.println("[WarFighter] stopmatch...");
    88. getCommand("stats").setExecutor(new CommandStats(this));
    89. System.out.println("[WarFighter] stats...");
    90. getCommand("team").setExecutor(new CommandTeam(this));
    91. System.out.println("[WarFighter] team...");
    92. getServer().getPluginManager().registerEvents(this, this);
    93. getServer().getPluginManager().registerEvents(deadmv_handler, this);
    94.  
    95. if (!getConfig().getBoolean("General.friendly_fire")) {
    96. getServer().getPluginManager().registerEvents(ff_handler, this);
    97. }
    98.  
    99. getServer().getScheduler().scheduleSyncRepeatingTask(this,
    100. deadrs_handler, 0L, 20L);
    101.  
    102. System.out.println("[WarFighter] Events successfully registered!");
    103. System.out.println("[WarFighter] Thanks for using WarFighter!");
    104. }
    105.  
    106. public void onDisable() {
    107. System.out.println("[WarFighter] Disabling WarFighter...");
    108. System.out.println("[WarFighter] Kicking all players...");
    109.  
    110. for (Player now : getServer().getOnlinePlayers()) {
    111. now.kickPlayer(this.PREFIX + ChatColor.RED
    112. + "Server reload/restart!" + ChatColor.AQUA
    113. + " Please rejoin soon!");
    114. }
    115.  
    116. System.out.println("[WarFighter] All players kicked! Ending match...");
    117.  
    118. dead = null;
    119. red = null;
    120. blue = null;
    121.  
    122. System.out.println("[WarFighter] WarFighter succesfully disabled!");
    123. System.out.println("[WarFighter] Thanks for using!");
    124. }
    125.  
    126. public void loadConfig() {
    127. boolean configFileExistant = false;
    128.  
    129. if (new File("plugins/WarFighter/").exists()) {
    130. configFileExistant = true;
    131. }
    132.  
    133. getConfig().options().copyDefaults(true);
    134.  
    135. if (!configFileExistant) {
    136. getConfig().addDefault("General.friendly_fire", Boolean.valueOf(false));
    137. getConfig().addDefault("General.score limit", Integer.valueOf(10));
    138. getConfig().addDefault("Respawn.time", Integer.valueOf(7));
    139. getConfig().addDefault("General.time limit", Integer.valueOf(600));
    140. }
    141.  
    142. saveConfig();
    143. reloadConfig();
    144. }
    145.  
    146. @EventHandler
    147. public void onPlayerJoin(PlayerJoinEvent e) {
    148. String player_display_name = e.getPlayer().getDisplayName();
    149.  
    150. if (red.size() > blue.size()) {
    151. e.setJoinMessage(this.PREFIX + ChatColor.BLUE
    152. + e.getPlayer().getName() + ChatColor.GOLD
    153. + " joined the game!");
    154.  
    155. blue.add(e.getPlayer());
    156. e.getPlayer().sendMessage(
    157. this.PREFIX + ChatColor.BLUE + "You joined team blue!");
    158. e.getPlayer().getInventory()
    159. .setHelmet(new ItemStack(35, 1, (short) 11));
    160.  
    161. e.getPlayer().setDisplayName(ChatColor.BLUE + player_display_name);
    162. } else {
    163. e.setJoinMessage(this.PREFIX + ChatColor.RED
    164. + e.getPlayer().getName() + ChatColor.GOLD
    165. + " joined the game!");
    166.  
    167. red.add(e.getPlayer());
    168. e.getPlayer().sendMessage(
    169. this.PREFIX + ChatColor.RED + "You joined team red!");
    170. e.getPlayer().getInventory()
    171. .setHelmet(new ItemStack(35, 1, (short) 14));
    172.  
    173. e.getPlayer().setDisplayName(ChatColor.RED + player_display_name);
    174. }
    175.  
    176. scores.put(e.getPlayer(), Integer.valueOf(0));
    177. deaths.put(e.getPlayer(), Integer.valueOf(0));
    178.  
    179. e.getPlayer().sendMessage(
    180. this.PREFIX + ChatColor.AQUA
    181. + "This server is running WarFighter!");
    182. e.getPlayer().sendMessage(
    183. this.PREFIX + ChatColor.AQUA + "Have fun and good luck!");
    184. }
    185.  
    186. @EventHandler
    187. public void onPlayerQuit(PlayerQuitEvent e) {
    188. if (red.contains(e.getPlayer())) {
    189. e.setQuitMessage(this.PREFIX + ChatColor.RED
    190. + e.getPlayer().getName() + ChatColor.GOLD
    191. + " left the game!");
    192. } else {
    193. e.setQuitMessage(this.PREFIX + ChatColor.BLUE
    194. + e.getPlayer().getName() + ChatColor.GOLD
    195. + " left the game!");
    196. }
    197.  
    198. if (blue.contains(e.getPlayer())) {
    199. blue.remove(e.getPlayer());
    200. } else {
    201. red.remove(e.getPlayer());
    202. }
    203.  
    204. scores.remove(e.getPlayer());
    205. deaths.remove(e.getPlayer());
    206. }
    207.  
    208. @EventHandler
    209. public void onPlayerKilled(PlayerDeathEvent e) {
    210. Player killed = e.getEntity();
    211. String killed_name = killed.getName();
    212.  
    213. dead.add(killed);
    214. respawn_left.add(Integer.valueOf(0));
    215.  
    216. int player_score = ((Integer) scores.get(killed.getKiller()))
    217. .intValue();
    218. player_score++;
    219. scores.remove(killed.getKiller());
    220. scores.put(killed.getKiller(), Integer.valueOf(player_score));
    221.  
    222. int player_deaths = ((Integer) deaths.get(killed)).intValue();
    223. player_deaths++;
    224. deaths.remove(killed);
    225. deaths.put(killed, Integer.valueOf(player_deaths));
    226.  
    227. if (red.contains(killed.getKiller())) {
    228. red_score += 1;
    229. e.setDeathMessage(this.PREFIX + ChatColor.RED
    230. + "Red team scored one point!");
    231. getServer().broadcastMessage(
    232. this.PREFIX + ChatColor.RED
    233. + e.getEntity().getKiller().getName() + " killed "
    234. + killed_name + " with "
    235. + killed.getKiller().getItemInHand().getType());
    236. } else {
    237. blue_score += 1;
    238. e.setDeathMessage(this.PREFIX + ChatColor.BLUE
    239. + "Blue team scored one point!");
    240. getServer().broadcastMessage(
    241. this.PREFIX + ChatColor.BLUE
    242. + e.getEntity().getKiller().getName() + " killed "
    243. + killed_name + " with "
    244. + killed.getKiller().getItemInHand().getType());
    245. }
    246.  
    247. e.getDrops().clear();
    248.  
    249. if (time == getConfig().getInt("General.time limit")) {
    250. if (red_score > blue_score) {
    251. blue_score = 0;
    252. red_score = 0;
    253.  
    254. getServer().broadcastMessage(
    255. this.PREFIX + ChatColor.DARK_RED + "Match over!");
    256. getServer().broadcastMessage(
    257. this.PREFIX + ChatColor.RED + "Red team won! ("
    258. + getConfig().getInt("General.duration")
    259. + " points)");
    260. getServer().broadcastMessage(
    261. this.PREFIX + ChatColor.BLUE + "Blue team got "
    262. + blue_score + " points!");
    263.  
    264. for (Player now : getServer().getOnlinePlayers()) {
    265. now.setHealth(20);
    266. now.sendMessage(this.PREFIX + ChatColor.AQUA
    267. + "You have been healed to be prepared for next match!");
    268. }
    269. }
    270.  
    271. if (blue_score > red_score) {
    272. blue_score = 0;
    273. red_score = 0;
    274.  
    275. getServer().broadcastMessage(
    276. this.PREFIX + ChatColor.DARK_RED + "Match over!");
    277. getServer().broadcastMessage(
    278. this.PREFIX + ChatColor.BLUE + "Blue team won! ("
    279. + getConfig().getInt("General.duration")
    280. + " points)");
    281. getServer().broadcastMessage(
    282. this.PREFIX + ChatColor.RED + "Red team got " + blue_score
    283. + " points!");
    284.  
    285. for (Player now : getServer().getOnlinePlayers()) {
    286. now.setHealth(20);
    287. now.sendMessage(this.PREFIX + ChatColor.AQUA
    288. + "You have been healed to be prepared for next match!");
    289. }
    290. }
    291. }
    292.  
    293. if (red_score == getConfig().getInt("General.score limit")) {
    294. blue_score = 0;
    295. red_score = 0;
    296.  
    297. getServer().broadcastMessage(
    298. this.PREFIX + ChatColor.DARK_RED + "Match over!");
    299. getServer().broadcastMessage(
    300. this.PREFIX + ChatColor.RED + "Red team won! ("
    301. + getConfig().getInt("General.duration")
    302. + " points)");
    303. getServer().broadcastMessage(
    304. this.PREFIX + ChatColor.BLUE + "Blue team got "
    305. + blue_score + " points!");
    306.  
    307. for (Player now : getServer().getOnlinePlayers()) {
    308. now.setHealth(20);
    309. now.sendMessage(this.PREFIX + ChatColor.AQUA
    310. + "You have been healed to be prepared for next match!");
    311. }
    312. }
    313.  
    314. if (blue_score == getConfig().getInt("General.score limit")) {
    315. blue_score = 0;
    316. red_score = 0;
    317.  
    318. getServer().broadcastMessage(
    319. this.PREFIX + ChatColor.DARK_RED + "Match over!");
    320. getServer().broadcastMessage(
    321. this.PREFIX + ChatColor.BLUE + "Blue team won! ("
    322. + getConfig().getInt("General.duration")
    323. + " points)");
    324. getServer().broadcastMessage(
    325. this.PREFIX + ChatColor.RED + "Red team got " + blue_score
    326. + " points!");
    327.  
    328. for (Player now : getServer().getOnlinePlayers()) {
    329. now.setHealth(20);
    330. now.sendMessage(this.PREFIX + ChatColor.AQUA
    331. + "You have been healed to be prepared for next match!");
    332. }
    333. }
    334. }
    335.  
    336. @EventHandler
    337. public void onPlayerRespawn(PlayerRespawnEvent e) {
    338. if (red.contains(e.getPlayer())) {
    339. e.getPlayer().getInventory()
    340. .setHelmet(new ItemStack(35, 1, (short) 14));
    341. } else {
    342. e.getPlayer().getInventory()
    343. .setHelmet(new ItemStack(35, 1, (short) 11));
    344. }
    345. }
    346. }


    class that line 84 is accessing the command from

    Code:Java
    1.  
    2. package de.mrpixeldream.bukkit.tdm.cmd;
    3.  
    4. import de.mrpixeldream.bukkit.tdm.WarFighter;
    5. import java.util.ArrayList;
    6. import java.util.HashMap;
    7.  
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandExecutor;
    11. import org.bukkit.command.CommandSender;
    12. import org.bukkit.entity.Entity;
    13. import org.bukkit.entity.Player;
    14. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    15.  
    16. public class CommandStartMatch implements CommandExecutor {
    17. private WarFighter plugin;
    18. private final String PREFIX = ChatColor.DARK_PURPLE + "[WarFighter] ";
    19. public int time;
    20.  
    21. public CommandStartMatch(WarFighter plugin) {
    22. this.plugin = plugin;
    23. }
    24.  
    25. public boolean onCommand(CommandSender sender, Command cmd, String label,
    26. String[] args) {
    27. if (label.equalsIgnoreCase("startmatch")) {
    28. if (args.length == 1) {
    29. if (args[0].equalsIgnoreCase("tdm")) {
    30. if (sender.hasPermission("wf.start.tdm")) {
    31. this.plugin.getServer().broadcastMessage(this.PREFIX + "Starting new match of type \"Team-Deathmatch\"!");
    32. EntityDamageByEntityEvent.getHandlerList().unregister(WarFighter.ff_handler);
    33. this.plugin.getServer().getPluginManager().registerEvents(WarFighter.ff_handler, this.plugin);
    34.  
    35. WarFighter.dead = new ArrayList<Entity>();
    36. WarFighter.deaths = new HashMap<Player, Integer>();
    37. WarFighter.respawn_left = new ArrayList<Integer>();
    38. WarFighter.scores = new HashMap<Player, Integer>();
    39.  
    40. WarFighter.isDeatmatch = false;
    41.  
    42. this.plugin.getServer().broadcastMessage(
    43. this.PREFIX + ChatColor.DARK_GREEN
    44. + "New match started!");
    45. } else {
    46. sender.sendMessage(this.PREFIX
    47. + "You don't have permission!");
    48. }
    49. } else if (args[0].equalsIgnoreCase("dm")) {
    50. if (sender.hasPermission("wf.start.dm")) {
    51. this.plugin
    52. .getServer()
    53. .broadcastMessage(
    54. this.PREFIX
    55. + "Starting new match of type \"Deatmatch\"!");
    56. EntityDamageByEntityEvent.getHandlerList().unregister(
    57. WarFighter.ff_handler);
    58.  
    59. this.plugin
    60. .getServer()
    61. .getPluginManager()
    62. .registerEvents(WarFighter.dm_handler,
    63. this.plugin);
    64.  
    65. WarFighter.dead = new ArrayList<Entity>();
    66. WarFighter.deaths = new HashMap<Player, Integer>();
    67. WarFighter.respawn_left = new ArrayList<Integer>();
    68. WarFighter.scores = new HashMap<Player, Integer>();
    69.  
    70. WarFighter.isDeatmatch = true;
    71.  
    72. this.plugin.getServer().broadcastMessage(
    73. this.PREFIX + ChatColor.DARK_GREEN
    74. + "New match started!");
    75. }
    76. } else {
    77. sender.sendMessage(this.PREFIX + ChatColor.RED
    78. + "Known match types: dm, tdm");
    79. }
    80. }
    81. }
    82. return true;
    83. }
    84. }
    85.  


    Code:
    23:24:40 [INFO] [WarFighter] Loading WarFighter v1.1
    23:24:40 [INFO] [WarFighter] Enabling WarFighter v1.1
    23:24:40 [INFO] [WarFighter] Enabling WarFighter plugin...
    23:24:40 [INFO] [WarFighter] Loading config...
    23:24:40 [INFO] [WarFighter] Config successfully loaded! Setting respawn time...
    23:24:40 [INFO] [WarFighter] Setting Time Limit...
    23:24:40 [INFO] [WarFighter] Registering events...
    23:24:40 [INFO] [WarFighter] KD...
    23:24:40 [INFO] [WarFighter] ratio...
    23:24:40 [SEVERE] Error occurred while enabling WarFighter v1.1 (Is it up to date?)
    java.lang.NullPointerException
        at de.mrpixeldream.bukkit.tdm.WarFighter.onEnable(WarFighter.java:84)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
        at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.java:282)
        at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:264)
        at org.bukkit.craftbukkit.v1_4_R1.CraftServer.reload(CraftServer.java:596)
        at org.bukkit.Bukkit.reload(Bukkit.java:184)
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
        at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514)
        at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchServerCommand(CraftServer.java:506)
        at net.minecraft.server.v1_4_R1.DedicatedServer.al(DedicatedServer.java:260)
        at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:225)
        at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494)
        at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427)
        at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
    23:24:40 [INFO] Server permissions file permissions.yml is empty, ignoring it
    23:24:40 [INFO] CONSOLE: Reload complete.
    
    Well i am stumped...

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

    ZeusAllMighty11

    What is on line 84?
     
  5. Offline

    pc_h8r

    getCommand("startmatch").setExecutor(new CommandStartMatch(this));
    that is the third part of the command getter. It gets the other commands from the other classes. The first two work fine, but it puts out an error at this line.

    Does anyone know why it gets an error on this getCommand?

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

    JayzaSapphire

    To use the getCommand(""); method you need to have your commands registered in your plugin.yml, make sure they are registered.
     
  7. Perhaps you made a mistake in your plugin.yml like a typo in the command name or the command is missing completely? Add your plugin.yml here to check if you can't find any mistake in it.
     
  8. Offline

    pc_h8r

    Believe me, I have checked everything... here is the plugin.yml

    I just don't understand why it fails at that one getCommand. It used to fail at both the start and stop commands, but I fixed the stop command by changing it to /stopmatch because I don't think the server liked having two /stop commands.

    Code:
    name: WarFighter
    author: MrPixelDream
    version: 1.2
    main: de.mrpixeldream.bukkit.tdm.WarFighter
    commands:
        kd:
            usage: /kd [player]
            description: Shows the kill-death ratio of [player]
        ratio:
            usage: /ratio [player]
            description: Shows the kill-death ratio of [player]
        startmatch:
            usage: /startmatch [game type]
            description: Starts a new match of [game type]
        stopmatch:
            usage: /stopmatch [game type]
            description: Starts a new match of [game type]
        team:
            usage: /team [color]
            description: Shows all members of team [color]
        stats:
            usage: /stats
            description: Shows the stats of both teams
    I am about to give up...

    I spent the whole day trying to learn constructors so that I can get variables between classes...google wasnt very good to me today though...

    is there any video tutorial or example that you guys and give me?

    BTW: Somehow I fixed the onEnable error...don't ask how:confused:

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
Thread Status:
Not open for further replies.

Share This Page