Big Problem

Discussion in 'Plugin Development' started by TehVoyager, Nov 12, 2013.

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

    TehVoyager

    Other plugins have done it but I haven't gotten an answer how.
    Thanks

    EDIT:

    I have kind of got the other stuff working.

    I am working on a huge multi class plugin but I will only post 1. Basically onEnable() The countdown works but When I Call the EndGame it doesn't work.


    CountDown Class :
    Code:java
    1. package com.mcadventure.cod;
    2. import java.util.ArrayList;
    3. import java.util.Random;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.plugin.Plugin;
    7.  
    8. import com.mcadventure.cod.GameArena.GameMode;
    9.  
    10.  
    11.  
    12. public class CountDown {
    13.  
    14. int task = 0;
    15. public void newGame(Plugin plugin){
    16. task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
    17.  
    18. int currentcount = 90;
    19. public ArrayList<Integer> SayNumber = new ArrayList<Integer>();
    20. ChatColors cc = new ChatColors();
    21. GameMode gm = null;
    22. String Mapname = null;
    23.  
    24. @Override
    25. public void run() {
    26.  
    27. if(currentcount <= 0)
    28. {
    29. Bukkit.broadcastMessage(cc.prefix + cc.maincolor + "The Game Has Begun!");
    30. GameManager.getManager().getArena().startGame(gm, Mapname);
    31. Bukkit.getScheduler().cancelTask(task);
    32. }
    33. if(currentcount == 90){
    34. for(Integer i : Ranks.getInstance().getConfig().getIntegerList("numbers")){
    35. SayNumber.add(i);
    36. }
    37. Random gametypechooser = new Random();
    38. int mode = gametypechooser.nextInt(3);
    39. if(mode == 0){
    40. gm = GameMode.OITC;
    41. }else if(mode == 1){
    42. gm = GameMode.FFA;
    43. }else{
    44. gm = GameMode.TDM;
    45. }
    46. int maps = Map.getInstance().getMap().getInt("mapid");
    47. int mapid = gametypechooser.nextInt(maps);
    48. for(String mn : Map.getInstance().getMap().getStringList("mapnames")){
    49. if(Map.getInstance().getMap().getInt("maps." + mn + ".id") == mapid){
    50. Mapname = mn;
    51. }
    52. }
    53. }
    54. if(SayNumber.contains(currentcount)){
    55. int x = currentcount / 60;
    56. int y = currentcount % 60;
    57. Bukkit.broadcastMessage(cc.prefix + cc.maincolor + " The Game Will Begin In " + cc.secondcolor + cc.bold + x + cc.maincolor + " Minutes and " + cc.secondcolor + cc.bold + y + cc.maincolor + " Seconds!");
    58. Bukkit.broadcastMessage(cc.prefix + cc.maincolor + " GameMode: " + cc.secondcolor + cc.bold + gm + cc.maincolor + " Map: " + cc.secondcolor + cc.bold + Mapname);
    59. }
    60. currentcount --;
    61. }
    62.  
    63. }, 0, 20);
    64. }
    65.  
    66. }
    67.  


    Main:
    Code:java
    1. package com.mcadventure.cod;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. import com.mcadventure.cod.cmds.createMapExecutor;
    10. import com.mcadventure.cod.cmds.mapEditExecutor;
    11. import com.mcadventure.cod.cmds.setLobbyExecutor;
    12. import com.mcadventure.cod.listeners.DeathListener;
    13. import com.mcadventure.cod.listeners.InteractListener;
    14. import com.mcadventure.cod.listeners.InvClickListener;
    15. import com.mcadventure.cod.listeners.JoinListener;
    16. import com.mcadventure.cod.listeners.KillListener;
    17. import com.mcadventure.cod.listeners.LeaveListener;
    18. import com.mcadventure.cod.listeners.RespawnListener;
    19.  
    20. public class Main extends JavaPlugin{
    21. public ArrayList<Integer> SayNumber = new ArrayList<Integer>();
    22. ChatColors cc = new ChatColors();
    23. CountDown cd = new CountDown();
    24. public static Main plugin;
    25.  
    26. public void onEnable(){
    27. Ranks.getInstance().setup(this);
    28. Data.getInstance().setup(this);
    29. Map.getInstance().setup(this);
    30. getServer().getPluginManager().registerEvents(new JoinListener(), this);
    31. getServer().getPluginManager().registerEvents(new RespawnListener(), this);
    32. getServer().getPluginManager().registerEvents(new LeaveListener(), this);
    33. getServer().getPluginManager().registerEvents(new DeathListener(), this);
    34. getServer().getPluginManager().registerEvents(new InteractListener(), this);
    35. getServer().getPluginManager().registerEvents(new InvClickListener(), this);
    36. getServer().getPluginManager().registerEvents(new KillListener(), this);
    37. getCommand("setlobby").setExecutor(new setLobbyExecutor());
    38. getCommand("createmap").setExecutor(new createMapExecutor());
    39. getCommand("mapedit").setExecutor(new mapEditExecutor());
    40. new GameManager(this);
    41. for(Player p : getServer().getOnlinePlayers()){
    42. p.kickPlayer(ChatColor.GREEN + "Due to a Server reload you were forced to log-out. Just rejoin to continue playing.");
    43. }
    44. for(Integer i : Ranks.getInstance().getConfig().getIntegerList("numbers")){
    45. SayNumber.add(i);
    46. }
    47. if(Map.getInstance().getMap().getStringList("mapnames").isEmpty() == false || Ranks.getInstance().getConfig().getBoolean("enabled") == true){
    48. cd.newGame(this);
    49. }
    50. }
    51.  
    52. public void onDisable(){
    53.  
    54. }
    55.  
    56. public void makenewGame(){
    57. cd.newGame(this);
    58. }
    59. }


    endGame Method:
    Code:java
    1. public void endGame(){
    2. start = Started.NotStarted;
    3. for(String plr : players.keySet()){
    4. Player p = Bukkit.getServer().getPlayer(plr);
    5. players.remove(p);
    6. World world = (World) Bukkit.getWorld(Ranks.getInstance().getConfig().getString("Lobby." + "world"));
    7. int x = Ranks.getInstance().getConfig().getInt("Lobby." + "x");
    8. int y = Ranks.getInstance().getConfig().getInt("Lobby." + "y");
    9. int z = Ranks.getInstance().getConfig().getInt("Lobby." + "z");
    10. addPlaying(p);
    11. p.getInventory().clear();
    12. p.teleport(new Location(world, x, y, z));
    13. ItemStack lobbyitem = new ItemStack(Material.NETHER_STAR);
    14. ItemMeta lobbymeta = lobbyitem.getItemMeta();
    15. String im = ChatColor.BOLD + "Options";
    16. lobbymeta.setDisplayName(im);
    17. lobbyitem.setItemMeta(lobbymeta);
    18. p.getInventory().addItem(lobbyitem);
    19. }
    20. plugin.makenewGame();
    21. }

    Error When Nobody Plays:
    Code:
    16:42:34 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    >
    Error When Their is a Winner:
    Code:
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:18 [INFO] Cod:The Game Has Begun!
    16:44:18 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:19 [INFO] Cod:The Game Has Begun!
    16:44:19 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:20 [INFO] Cod:The Game Has Begun!
    16:44:20 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:21 [INFO] Cod:The Game Has Begun!
    16:44:21 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:22 [INFO] Cod:The Game Has Begun!
    16:44:22 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:23 [INFO] Cod:The Game Has Begun!
    16:44:23 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:24 [INFO] Cod:The Game Has Begun!
    16:44:24 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:25 [INFO] Cod:The Game Has Begun!
    16:44:25 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    16:44:26 [INFO] Cod:The Game Has Begun!
    16:44:26 [WARNING] [MineCod] Task #2 for MineCod v1.0 generated an exception
    java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.GameArena.startGame(GameArena.java:116)
            at com.mcadventure.cod.CountDown$1.run(CountDown.java:30)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    24)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    >reload
    16:44:26 [INFO] [MineCod] Disabling MineCod v1.0
    16:44:26 [INFO] [MineCod] Loading MineCod v1.0
    16:44:26 [INFO] [MineCod] Enabling MineCod v1.0
    16:44:26 [INFO] Server permissions file permissions.yml is empty, ignoring it
    16:44:26 [INFO] CONSOLE: Reload complete.
    16:44:26 [INFO] Cod: The Game Will Begin In 1 Minutes and 30 Seconds!
    16:44:26 [INFO] Cod: GameMode: TDM    Map: Bob
    >reload
    16:44:27 [INFO] [MineCod] Disabling MineCod v1.0
    16:44:27 [INFO] [MineCod] Loading MineCod v1.0
    16:44:27 [INFO] [MineCod] Enabling MineCod v1.0
    16:44:27 [INFO] Server permissions file permissions.yml is empty, ignoring it
    16:44:27 [INFO] CONSOLE: Reload complete.
    16:44:27 [INFO] Cod: The Game Will Begin In 1 Minutes and 30 Seconds!
    16:44:27 [INFO] Cod: GameMode: FFA    Map: Bobby
    >reload
    16:44:28 [INFO] [MineCod] Disabling MineCod v1.0
    16:44:28 [INFO] [MineCod] Loading MineCod v1.0
    16:44:28 [INFO] [MineCod] Enabling MineCod v1.0
    16:44:28 [INFO] Server permissions file permissions.yml is empty, ignoring it
    16:44:28 [INFO] CONSOLE: Reload complete.
    16:44:28 [INFO] Cod: The Game Will Begin In 1 Minutes and 30 Seconds!
    16:44:28 [INFO] Cod: GameMode: FFA    Map: Bob
    >reload
    16:44:29 [INFO] [MineCod] Disabling MineCod v1.0
    16:44:29 [INFO] [MineCod] Loading MineCod v1.0
    16:44:29 [INFO] [MineCod] Enabling MineCod v1.0
    16:44:29 [INFO] Server permissions file permissions.yml is empty, ignoring it
    16:44:29 [INFO] CONSOLE: Reload complete.
    16:44:29 [INFO] Cod: The Game Will Begin In 1 Minutes and 30 Seconds!
    16:44:29 [INFO] Cod: GameMode: TDM    Map: Bob
    16:44:59 [INFO] Cod: The Game Will Begin In 1 Minutes and 0 Seconds!
    16:44:59 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:07 [INFO] Garbage23[/127.0.0.1:52774] logged in with entity id 252 at ([wo
    rld] -60.98198199615117, 76.0, 268.5677783648035)
    16:45:29 [INFO] Cod: The Game Will Begin In 0 Minutes and 30 Seconds!
    16:45:29 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:36 [INFO] nickg2001[/127.0.0.1:52806] logged in with entity id 1015 at ([w
    orld] -217.9881037162187, 64.0, 241.96372292166478)
    16:45:38 [INFO] nickg2001 issued server command: /ip
    16:45:44 [INFO] Cod: The Game Will Begin In 0 Minutes and 15 Seconds!
    16:45:44 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:49 [INFO] Cod: The Game Will Begin In 0 Minutes and 10 Seconds!
    16:45:49 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:54 [INFO] Cod: The Game Will Begin In 0 Minutes and 5 Seconds!
    16:45:54 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:55 [INFO] Cod: The Game Will Begin In 0 Minutes and 4 Seconds!
    16:45:55 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:56 [INFO] Cod: The Game Will Begin In 0 Minutes and 3 Seconds!
    16:45:56 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:57 [INFO] Cod: The Game Will Begin In 0 Minutes and 2 Seconds!
    16:45:57 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:58 [INFO] Cod: The Game Will Begin In 0 Minutes and 1 Seconds!
    16:45:58 [INFO] Cod: GameMode: TDM    Map: Bob
    16:45:59 [INFO] Cod:The Game Has Begun!
    16:46:10 [INFO] WINNER IS RED!
    16:46:10 [SEVERE] Could not pass event PlayerDeathEvent to MineCod v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:477)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:462)
            at org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory.callPlayerDeat
    hEvent(CraftEventFactory.java:344)
            at net.minecraft.server.v1_6_R3.EntityPlayer.die(EntityPlayer.java:312)
            at net.minecraft.server.v1_6_R3.EntityLiving.damageEntity(EntityLiving.j
    ava:710)
            at net.minecraft.server.v1_6_R3.EntityHuman.damageEntity(EntityHuman.jav
    a:714)
            at net.minecraft.server.v1_6_R3.EntityPlayer.damageEntity(EntityPlayer.j
    ava:383)
            at net.minecraft.server.v1_6_R3.EntityHuman.attack(EntityHuman.java:884)
     
            at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java
    :1121)
            at net.minecraft.server.v1_6_R3.Packet7UseEntity.handle(SourceFile:36)
            at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296
    )
            at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java
    :116)
            at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
            at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:3
    0)
            at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    92)
            at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
            at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
            at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
            at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    Caused by: java.lang.NullPointerException
            at com.mcadventure.cod.GameArena.endGame(GameArena.java:141)
            at com.mcadventure.cod.listeners.KillListener.onKill(KillListener.java:2
    6)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425)
            ... 20 more
    16:46:10 [INFO] nickg2001 was slain by Garbage23
    >reload
    Tell me if you need anything else. The error is when I do
    plugin.makenewgame
    from the GameArena class on endGame();
     
  2. Offline

    clienthax

  3. Offline

    TehVoyager

  4. Offline

    The_Doctor_123

    Can you give us the whole GameArena class?
     
  5. Offline

    TehVoyager

    The_Doctor_123
    K 1 sec
    HERE:
    Code:java
    1. package com.mcadventure.cod;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Location;
    9. import org.bukkit.Material;
    10. import org.bukkit.World;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.inventory.ItemStack;
    13. import org.bukkit.inventory.meta.ItemMeta;
    14.  
    15. public class GameArena {
    16.  
    17. ChatColors colors = new ChatColors();
    18.  
    19. public static Main plugin;
    20. public ArrayList<String> playingnextgame = new ArrayList<String>();
    21.  
    22.  
    23. public int bluekills;
    24. public int redkills;
    25.  
    26. public enum GameMode{
    27. TDM, FFA, OITC
    28. }
    29.  
    30. public enum Team{
    31. RED, BLUE, FFA
    32. }
    33.  
    34. public enum Started{
    35. Started, NotStarted
    36. }
    37.  
    38. public String map;
    39.  
    40. public HashMap<String, Team> players = new HashMap<String, Team>();
    41.  
    42. public GameMode gamemode = null;
    43. public Started start = Started.NotStarted;
    44. int Reds = 0;
    45. int Blues = 0;
    46.  
    47. @SuppressWarnings("deprecation")
    48. public void startGame(GameMode gm, String Mapname){
    49. if(start == Started.NotStarted){
    50. if(playingnextgame.size() >= 2){
    51. start = Started.Started;
    52. map = Mapname;
    53. gamemode = gm;
    54. if(gm == GameMode.TDM){
    55. redkills = 0;
    56. bluekills = 0;
    57. int reds = 0;
    58. int blues = 0;
    59. World rworld = Bukkit.getWorld(Map.getInstance().getMap().getString("maps." + Mapname + ".tdm.redspawn.spawn0.world"));
    60. int rx = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.x");
    61. int ry = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.y");
    62. int rz = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.z");
    63. Location mainredspawn = new Location(rworld, rx, ry, rz);
    64. World bworld = Bukkit.getWorld(Map.getInstance().getMap().getString("maps." + Mapname + ".tdm.redspawn.spawn0.world"));
    65. int bx = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.x");
    66. int by = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.y");
    67. int bz = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.z");
    68. Location mainbluespawn = new Location(bworld, bx, by, bz);
    69. for(String plrname : playingnextgame){
    70. Player p = Bukkit.getPlayer(plrname);
    71. if(blues >= reds){
    72. reds ++;
    73. players.put(plrname, Team.RED);
    74. p.sendMessage("Your on on the Team: " + ChatColor.RED + "RED");
    75. p.teleport(mainredspawn);
    76. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary")));
    77. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary")));
    78. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay")));
    79. p.sendMessage(colors.prefix + colors.maincolor + " Here is your " + colors.secondcolor + colors.bold + "LoadOut" + colors.maincolor + ":");
    80. String primarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"), 1).getType().toString();
    81. String primary = Ranks.getInstance().getConfig().getString("itemnames." + primarytype);
    82. String secondarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"), 1).getType().toString();
    83. String secondary = Ranks.getInstance().getConfig().getString("itemnames." + secondarytype);
    84. String malaytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"), 1).getType().toString();
    85. String malay = Ranks.getInstance().getConfig().getString("itemnames." + malaytype);
    86. String perk = Data.getInstance().getData().get("loadout." + p.getName() + ".perk").toString();
    87. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + primary);
    88. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + secondary);
    89. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + malay);
    90. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + perk);
    91. }else{
    92. blues++;
    93. players.put(plrname, Team.BLUE);
    94. p.sendMessage("Your on on the Team: " + ChatColor.BLUE + "BLUE");
    95. p.teleport(mainbluespawn);
    96. p.getInventory().clear();
    97. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary")));
    98. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary")));
    99. p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay")));
    100. p.sendMessage(colors.prefix + colors.maincolor + " Here is your " + colors.secondcolor + colors.bold + "LoadOut" + colors.maincolor + ":");
    101. String primarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"), 1).getType().toString();
    102. String primary = Ranks.getInstance().getConfig().getString("itemnames." + primarytype);
    103. String secondarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"), 1).getType().toString();
    104. String secondary = Ranks.getInstance().getConfig().getString("itemnames." + secondarytype);
    105. String malaytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"), 1).getType().toString();
    106. String malay = Ranks.getInstance().getConfig().getString("itemnames." + malaytype);
    107. String perk = Data.getInstance().getData().get("loadout." + p.getName() + ".perk").toString();
    108. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + primary);
    109. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + secondary);
    110. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + malay);
    111. p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + perk);
    112. }
    113. }
    114. }
    115. }else{
    116. endGame();
    117. Bukkit.broadcastMessage("Error: Not Enough Players");
    118. }
    119. }
    120. }
    121.  
    122. public void endGame(){
    123. start = Started.NotStarted;
    124. for(String plr : players.keySet()){
    125. Player p = Bukkit.getServer().getPlayer(plr);
    126. players.remove(p);
    127. World world = (World) Bukkit.getWorld(Ranks.getInstance().getConfig().getString("Lobby." + "world"));
    128. int x = Ranks.getInstance().getConfig().getInt("Lobby." + "x");
    129. int y = Ranks.getInstance().getConfig().getInt("Lobby." + "y");
    130. int z = Ranks.getInstance().getConfig().getInt("Lobby." + "z");
    131. addPlaying(p);
    132. p.getInventory().clear();
    133. p.teleport(new Location(world, x, y, z));
    134. ItemStack lobbyitem = new ItemStack(Material.NETHER_STAR);
    135. ItemMeta lobbymeta = lobbyitem.getItemMeta();
    136. String im = ChatColor.BOLD + "Options";
    137. lobbymeta.setDisplayName(im);
    138. lobbyitem.setItemMeta(lobbymeta);
    139. p.getInventory().addItem(lobbyitem);
    140. }
    141. plugin.makenewGame();
    142. }
    143.  
    144. public String getMap(){
    145. return map;
    146. }
    147.  
    148. public void addPlaying(Player p){
    149. playingnextgame.add(p.getName());
    150. }
    151.  
    152. public GameMode getGameMode(){
    153. return gamemode;
    154. }
    155.  
    156. public void addKill(Team t){
    157. if(t==Team.RED){
    158. redkills++;
    159. }else{
    160. bluekills++;
    161. }
    162. }
    163.  
    164. public int getKills(Team t){
    165. if(t==Team.RED){
    166. return redkills;
    167. }else{
    168. return bluekills;
    169. }
    170. }
    171.  
    172. }
    173.  
     
  6. Offline

    The_Doctor_123

    TehVoyager
    plugin is null. You need to initialize it. You should probably add a Main argument in the constructor and assign plugin with that value.
     
Thread Status:
Not open for further replies.

Share This Page