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 package com.mcadventure.cod;import java.util.ArrayList;import java.util.Random; import org.bukkit.Bukkit;import org.bukkit.plugin.Plugin; import com.mcadventure.cod.GameArena.GameMode; public class CountDown { int task = 0; public void newGame(Plugin plugin){ task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){ int currentcount = 90; public ArrayList<Integer> SayNumber = new ArrayList<Integer>(); ChatColors cc = new ChatColors(); GameMode gm = null; String Mapname = null; @Override public void run() { if(currentcount <= 0) { Bukkit.broadcastMessage(cc.prefix + cc.maincolor + "The Game Has Begun!"); GameManager.getManager().getArena().startGame(gm, Mapname); Bukkit.getScheduler().cancelTask(task); } if(currentcount == 90){ for(Integer i : Ranks.getInstance().getConfig().getIntegerList("numbers")){ SayNumber.add(i); } Random gametypechooser = new Random(); int mode = gametypechooser.nextInt(3); if(mode == 0){ gm = GameMode.OITC; }else if(mode == 1){ gm = GameMode.FFA; }else{ gm = GameMode.TDM; } int maps = Map.getInstance().getMap().getInt("mapid"); int mapid = gametypechooser.nextInt(maps); for(String mn : Map.getInstance().getMap().getStringList("mapnames")){ if(Map.getInstance().getMap().getInt("maps." + mn + ".id") == mapid){ Mapname = mn; } } } if(SayNumber.contains(currentcount)){ int x = currentcount / 60; int y = currentcount % 60; 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!"); Bukkit.broadcastMessage(cc.prefix + cc.maincolor + " GameMode: " + cc.secondcolor + cc.bold + gm + cc.maincolor + " Map: " + cc.secondcolor + cc.bold + Mapname); } currentcount --; } }, 0, 20); } } Main: Code:java package com.mcadventure.cod; import java.util.ArrayList; import org.bukkit.ChatColor;import org.bukkit.entity.Player;import org.bukkit.plugin.java.JavaPlugin; import com.mcadventure.cod.cmds.createMapExecutor;import com.mcadventure.cod.cmds.mapEditExecutor;import com.mcadventure.cod.cmds.setLobbyExecutor;import com.mcadventure.cod.listeners.DeathListener;import com.mcadventure.cod.listeners.InteractListener;import com.mcadventure.cod.listeners.InvClickListener;import com.mcadventure.cod.listeners.JoinListener;import com.mcadventure.cod.listeners.KillListener;import com.mcadventure.cod.listeners.LeaveListener;import com.mcadventure.cod.listeners.RespawnListener; public class Main extends JavaPlugin{ public ArrayList<Integer> SayNumber = new ArrayList<Integer>(); ChatColors cc = new ChatColors(); CountDown cd = new CountDown(); public static Main plugin; public void onEnable(){ Ranks.getInstance().setup(this); Data.getInstance().setup(this); Map.getInstance().setup(this); getServer().getPluginManager().registerEvents(new JoinListener(), this); getServer().getPluginManager().registerEvents(new RespawnListener(), this); getServer().getPluginManager().registerEvents(new LeaveListener(), this); getServer().getPluginManager().registerEvents(new DeathListener(), this); getServer().getPluginManager().registerEvents(new InteractListener(), this); getServer().getPluginManager().registerEvents(new InvClickListener(), this); getServer().getPluginManager().registerEvents(new KillListener(), this); getCommand("setlobby").setExecutor(new setLobbyExecutor()); getCommand("createmap").setExecutor(new createMapExecutor()); getCommand("mapedit").setExecutor(new mapEditExecutor()); new GameManager(this); for(Player p : getServer().getOnlinePlayers()){ p.kickPlayer(ChatColor.GREEN + "Due to a Server reload you were forced to log-out. Just rejoin to continue playing."); } for(Integer i : Ranks.getInstance().getConfig().getIntegerList("numbers")){ SayNumber.add(i); } if(Map.getInstance().getMap().getStringList("mapnames").isEmpty() == false || Ranks.getInstance().getConfig().getBoolean("enabled") == true){ cd.newGame(this); } } public void onDisable(){ } public void makenewGame(){ cd.newGame(this); }} endGame Method: Code:java public void endGame(){ start = Started.NotStarted; for(String plr : players.keySet()){ Player p = Bukkit.getServer().getPlayer(plr); players.remove(p); World world = (World) Bukkit.getWorld(Ranks.getInstance().getConfig().getString("Lobby." + "world")); int x = Ranks.getInstance().getConfig().getInt("Lobby." + "x"); int y = Ranks.getInstance().getConfig().getInt("Lobby." + "y"); int z = Ranks.getInstance().getConfig().getInt("Lobby." + "z"); addPlaying(p); p.getInventory().clear(); p.teleport(new Location(world, x, y, z)); ItemStack lobbyitem = new ItemStack(Material.NETHER_STAR); ItemMeta lobbymeta = lobbyitem.getItemMeta(); String im = ChatColor.BOLD + "Options"; lobbymeta.setDisplayName(im); lobbyitem.setItemMeta(lobbymeta); p.getInventory().addItem(lobbyitem); } plugin.makenewGame(); } 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();
The_Doctor_123 K 1 sec HERE: Code:java package com.mcadventure.cod; import java.util.ArrayList;import java.util.HashMap; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.Location;import org.bukkit.Material;import org.bukkit.World;import org.bukkit.entity.Player;import org.bukkit.inventory.ItemStack;import org.bukkit.inventory.meta.ItemMeta; public class GameArena { ChatColors colors = new ChatColors(); public static Main plugin; public ArrayList<String> playingnextgame = new ArrayList<String>(); public int bluekills; public int redkills; public enum GameMode{ TDM, FFA, OITC } public enum Team{ RED, BLUE, FFA } public enum Started{ Started, NotStarted } public String map; public HashMap<String, Team> players = new HashMap<String, Team>(); public GameMode gamemode = null; public Started start = Started.NotStarted; int Reds = 0; int Blues = 0; @SuppressWarnings("deprecation") public void startGame(GameMode gm, String Mapname){ if(start == Started.NotStarted){ if(playingnextgame.size() >= 2){ start = Started.Started; map = Mapname; gamemode = gm; if(gm == GameMode.TDM){ redkills = 0; bluekills = 0; int reds = 0; int blues = 0; World rworld = Bukkit.getWorld(Map.getInstance().getMap().getString("maps." + Mapname + ".tdm.redspawn.spawn0.world")); int rx = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.x"); int ry = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.y"); int rz = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.redspawn.spawn0.z"); Location mainredspawn = new Location(rworld, rx, ry, rz); World bworld = Bukkit.getWorld(Map.getInstance().getMap().getString("maps." + Mapname + ".tdm.redspawn.spawn0.world")); int bx = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.x"); int by = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.y"); int bz = Map.getInstance().getMap().getInt("maps." + Mapname + ".tdm.bluespawn.spawn0.z"); Location mainbluespawn = new Location(bworld, bx, by, bz); for(String plrname : playingnextgame){ Player p = Bukkit.getPlayer(plrname); if(blues >= reds){ reds ++; players.put(plrname, Team.RED); p.sendMessage("Your on on the Team: " + ChatColor.RED + "RED"); p.teleport(mainredspawn); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"))); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"))); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"))); p.sendMessage(colors.prefix + colors.maincolor + " Here is your " + colors.secondcolor + colors.bold + "LoadOut" + colors.maincolor + ":"); String primarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"), 1).getType().toString(); String primary = Ranks.getInstance().getConfig().getString("itemnames." + primarytype); String secondarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"), 1).getType().toString(); String secondary = Ranks.getInstance().getConfig().getString("itemnames." + secondarytype); String malaytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"), 1).getType().toString(); String malay = Ranks.getInstance().getConfig().getString("itemnames." + malaytype); String perk = Data.getInstance().getData().get("loadout." + p.getName() + ".perk").toString(); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + primary); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + secondary); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + malay); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + perk); }else{ blues++; players.put(plrname, Team.BLUE); p.sendMessage("Your on on the Team: " + ChatColor.BLUE + "BLUE"); p.teleport(mainbluespawn); p.getInventory().clear(); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"))); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"))); p.getInventory().addItem(new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"))); p.sendMessage(colors.prefix + colors.maincolor + " Here is your " + colors.secondcolor + colors.bold + "LoadOut" + colors.maincolor + ":"); String primarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".primary"), 1).getType().toString(); String primary = Ranks.getInstance().getConfig().getString("itemnames." + primarytype); String secondarytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".secondary"), 1).getType().toString(); String secondary = Ranks.getInstance().getConfig().getString("itemnames." + secondarytype); String malaytype = new ItemStack(Data.getInstance().getData().getInt("loadout." + p.getName() + ".malay"), 1).getType().toString(); String malay = Ranks.getInstance().getConfig().getString("itemnames." + malaytype); String perk = Data.getInstance().getData().get("loadout." + p.getName() + ".perk").toString(); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + primary); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + secondary); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + malay); p.sendMessage(colors.maincolor + " - " + colors.secondcolor + colors.bold + perk); } } } }else{ endGame(); Bukkit.broadcastMessage("Error: Not Enough Players"); } } } public void endGame(){ start = Started.NotStarted; for(String plr : players.keySet()){ Player p = Bukkit.getServer().getPlayer(plr); players.remove(p); World world = (World) Bukkit.getWorld(Ranks.getInstance().getConfig().getString("Lobby." + "world")); int x = Ranks.getInstance().getConfig().getInt("Lobby." + "x"); int y = Ranks.getInstance().getConfig().getInt("Lobby." + "y"); int z = Ranks.getInstance().getConfig().getInt("Lobby." + "z"); addPlaying(p); p.getInventory().clear(); p.teleport(new Location(world, x, y, z)); ItemStack lobbyitem = new ItemStack(Material.NETHER_STAR); ItemMeta lobbymeta = lobbyitem.getItemMeta(); String im = ChatColor.BOLD + "Options"; lobbymeta.setDisplayName(im); lobbyitem.setItemMeta(lobbymeta); p.getInventory().addItem(lobbyitem); } plugin.makenewGame(); } public String getMap(){ return map; } public void addPlaying(Player p){ playingnextgame.add(p.getName()); } public GameMode getGameMode(){ return gamemode; } public void addKill(Team t){ if(t==Team.RED){ redkills++; }else{ bluekills++; } } public int getKills(Team t){ if(t==Team.RED){ return redkills; }else{ return bluekills; } } }
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.