Solved Problem with locations coming up as null?

Discussion in 'Plugin Development' started by MayoDwarf, Feb 26, 2014.

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

    MayoDwarf

    CODE:
    Code:java
    1. package com.core.mayodwarf.api;
    2.  
    3. import com.core.mayodwarf.main.Main;
    4. import org.bukkit.*;
    5. import org.bukkit.block.Block;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.scoreboard.*;
    8.  
    9. import java.util.ArrayList;
    10.  
    11. /**
    12. * Created with IntelliJ IDEA.
    13. * User: MayoDwarf
    14. * Date: 2/25/14
    15. * Time: 3:44 PM
    16. * To change this template use File | Settings | File Templates.
    17. */
    18. public class Funks {
    19. private Main main;
    20. private String title = ChatColor.GOLD+""+ChatColor.BOLD+"<<PrisonWars>>"+ChatColor.RESET+" ";
    21. private ArrayList<Material> blocks = new ArrayList<Material>();
    22. private ArrayList<Location> locations = new ArrayList<Location>();
    23. public ArrayList<String> guard = new ArrayList<String>();
    24. public ArrayList<String> prisoner = new ArrayList<String>();
    25. public boolean join=true;
    26. public boolean bedrock=false;
    27. public boolean game=false;
    28. public Funks(Main main) {
    29. this.main = main;
    30. }
    31. public void setPrisoner(Location loc) {
    32. main.getConfig().set("Prisoner.World", loc.getWorld());
    33. main.getConfig().set("Prisoner.X", loc.getX());
    34. main.getConfig().set("Prisoner.Y", loc.getY());
    35. main.getConfig().set("Prisoner.Z", loc.getZ());
    36. main.getConfig().set("Prisoner.Pitch", loc.getPitch());
    37. main.getConfig().set("Prisoner.Yaw", loc.getYaw());
    38. main.saveConfig();
    39. }
    40. public void setGuard(Location loc) {
    41. main.getConfig().set("Guard.World", loc.getWorld());
    42. main.getConfig().set("Guard.X", loc.getX());
    43. main.getConfig().set("Guard.Y", loc.getY());
    44. main.getConfig().set("Guard.Z", loc.getZ());
    45. main.getConfig().set("Guard.Pitch", loc.getPitch());
    46. main.getConfig().set("Guard.Yaw", loc.getYaw());
    47. main.saveConfig();
    48. }
    49. public void setLobby(Location loc) {
    50. main.getConfig().set("Lobby.World", loc.getWorld());
    51. main.getConfig().set("Lobby.X", loc.getX());
    52. main.getConfig().set("Lobby.Y", loc.getY());
    53. main.getConfig().set("Lobby.Z", loc.getZ());
    54. main.getConfig().set("Lobby.Pitch", loc.getPitch());
    55. main.getConfig().set("Lobby.Yaw", loc.getYaw());
    56. main.saveConfig();
    57. }
    58. public void teleportLobby(Player p) {
    59. World world = (World) main.getConfig().get("Lobby.World");
    60. double X = main.getConfig().getDouble("Lobby.X");
    61. double Y = main.getConfig().getDouble("Lobby.Y");
    62. double Z = main.getConfig().getDouble("Lobby.Z");
    63. float pitch = (float) main.getConfig().getInt("Lobby.Pitch");
    64. float yaw = (float) main.getConfig().getInt("Lobby.Yaw");
    65. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    66. }
    67. public void teleportGuard(Player p) {
    68. World world = (World) main.getConfig().get("Guard.World");
    69. double X = main.getConfig().getDouble("Guard.X");
    70. double Y = main.getConfig().getDouble("Guard.Y");
    71. double Z = main.getConfig().getDouble("Guard.Z");
    72. float pitch = (float) main.getConfig().getInt("Guard.Pitch");
    73. float yaw = (float) main.getConfig().getInt("Guard.Yaw");
    74. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    75. }
    76. public void teleportPrisoner(Player p) {
    77. World world = (World) main.getConfig().get("Prisoner.World");
    78. double X = main.getConfig().getDouble("Prisoner.X");
    79. double Y = main.getConfig().getDouble("Prisoner.Y");
    80. double Z = main.getConfig().getDouble("Prisoner.Z");
    81. float pitch = (float) main.getConfig().getInt("Prisoner.Pitch");
    82. float yaw = (float) main.getConfig().getInt("Prisoner.Yaw");
    83. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    84. }
    85. public void start() {
    86. if(game==false) {
    87. bedrock=false;
    88. join=false;
    89. game=true;
    90. ArrayList<String> last = new ArrayList<String>();
    91. for(Player players : Bukkit.getOnlinePlayers()) {
    92. if(last.isEmpty()) {
    93. teleportGuard(players);
    94. guard.add(players.getName());
    95. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.BLUE+"Guard"+ChatColor.RED+"!");
    96. last.add("Guard");
    97. } else {
    98. teleportPrisoner(players);
    99. prisoner.add(players.getName());
    100. last.clear();
    101. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.YELLOW+"Prisoner"+ChatColor.RED+"!");
    102. }
    103. }
    104. last.clear();
    105. int task1 = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
    106. int counter = 241;
    107. public void run() {
    108. counter--;
    109. for(Player p : Bukkit.getOnlinePlayers()) {
    110. if(counter > 0) {
    111. ScoreboardManager manager = Bukkit.getScoreboardManager();
    112. Scoreboard board = manager.getNewScoreboard();
    113. Objective obj = board.registerNewObjective(""+p.getName(), "dummy");
    114. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    115. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    116. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    117. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    118. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    119. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    120. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.BLUE+""+counter));
    121. CreateBy.setScore(4);
    122. dev.setScore(3);
    123. space.setScore(2);
    124. count.setScore(1);
    125. time.setScore(0);
    126. p.setScoreboard(board);
    127. p.setLevel(counter);
    128. }
    129. }
    130. if(counter <= 10 && counter>0) {
    131. for(Player ps : Bukkit.getOnlinePlayers()) {
    132. ps.playSound(ps.getLocation(), Sound.NOTE_PLING, 1, 1);
    133. }
    134. }
    135. if(counter == 0) {
    136. Bukkit.broadcastMessage(title+ChatColor.GREEN+""+ChatColor.BOLD+"You may now break down the obsidian walls!");
    137. bedrock=true; Bukkit.getServer().getScheduler().cancelTasks(main);
    138. for(Player ps : Bukkit.getOnlinePlayers()) {
    139. ps.setLevel(0);
    140. ScoreboardManager manager = Bukkit.getScoreboardManager();
    141. Scoreboard board = manager.getNewScoreboard();
    142. Objective obj = board.registerNewObjective(""+ps.getName(), "dummy");
    143. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    144. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    145. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    146. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    147. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    148. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    149. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"OVER"));
    150. CreateBy.setScore(4);
    151. dev.setScore(3);
    152. space.setScore(2);
    153. count.setScore(1);
    154. time.setScore(0);
    155. ps.setScoreboard(board); ps.playSound(ps.getLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
    156. }
    157. }
    158. }
    159. }, 0L, 20L);
    160. }
    161. }
    162. public void end() {
    163. if(game) {
    164. game=false;
    165. for(Player ps : Bukkit.getOnlinePlayers()) {
    166. ps.kickPlayer("--- Restarting ---");
    167. }
    168. for(int i=0;i<blocks.size();i++) {
    169. Material b = blocks.get(i);
    170. Location loc = locations.get(i);
    171. loc.getBlock().setType(b);
    172. loc.getBlock().setType(b);
    173. }
    174. locations.clear();
    175. blocks.clear();
    176. Bukkit.getServer().reload();
    177. for(int i=0;i<60;i++) {
    178. Bukkit.broadcastMessage("");
    179. }
    180. guard.clear();
    181. prisoner.clear();
    182. join=true;
    183. }
    184. }
    185. public void log(Block b) {
    186. blocks.add(b.getType());
    187. locations.add(b.getLocation());
    188. }
    189. public boolean hasTeam(Player p) {
    190. if(prisoner.contains(p.getName())) {
    191. return true;
    192. }
    193. if(guard.contains(p.getName())) {
    194. return true;
    195. }
    196. return false;
    197. }
    198. public ArrayList getTeam(Player p) {
    199. if(prisoner.contains(p.getName())) {
    200. return prisoner;
    201. }
    202. if(guard.contains(p.getName())) {
    203. return guard;
    204. }
    205. return null;
    206. }
    207. }

    ERROR:
    Code:java
    1. [18:04:26 ERROR]: null
    2. org.bukkit.command.CommandException: Unhandled exception executing command 'pw' in plugin PrisonWars v1.0
    3. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4. at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    5. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6. at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    7. at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    8. at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    9. at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    10. at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11. at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    12. at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    13. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    14. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    15. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    17. Caused by: java.lang.NullPointerException
    18. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer.teleport(CraftPlayer.java:456) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    19. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity.teleport(CraftEntity.java:200) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    20. at com.core.mayodwarf.api.Funks.teleportGuard(Funks.java:74) ~[?:?]
    21. at com.core.mayodwarf.api.Funks.start(Funks.java:93) ~[?:?]
    22. at com.core.mayodwarf.main.Main.onCommand(Main.java:49) ~[?:?]
    23. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    24. ... 13 more
     
  2. Offline

    xTigerRebornx

    MayoDwarf Most likely the World that is null (that or its not getting the config value properly), try using Bukkit.getWorld(String s) (or was it Bukkit.getServer().getWorld()?) to get your World instead of casting what you get from your config
     
  3. Offline

    MayoDwarf

    xTigerRebornx
    Still:
    Code:java
    1. package com.core.mayodwarf.api;
    2.  
    3. import com.core.mayodwarf.main.Main;
    4. import org.bukkit.*;
    5. import org.bukkit.block.Block;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.scoreboard.*;
    8.  
    9. import java.util.ArrayList;
    10.  
    11. /**
    12. * Created with IntelliJ IDEA.
    13. * User: MayoDwarf
    14. * Date: 2/25/14
    15. * Time: 3:44 PM
    16. * To change this template use File | Settings | File Templates.
    17. */
    18. public class Funks {
    19. private Main main;
    20. private String title = ChatColor.GOLD+""+ChatColor.BOLD+"<<PrisonWars>>"+ChatColor.RESET+" ";
    21. private ArrayList<Material> blocks = new ArrayList<Material>();
    22. private ArrayList<Location> locations = new ArrayList<Location>();
    23. public ArrayList<String> guard = new ArrayList<String>();
    24. public ArrayList<String> prisoner = new ArrayList<String>();
    25. public boolean join=true;
    26. public boolean bedrock=false;
    27. public boolean game=false;
    28. public Funks(Main main) {
    29. this.main = main;
    30. }
    31. public void setPrisoner(Location loc) {
    32. main.getConfig().set("Prisoner.World", loc.getWorld().toString());
    33. main.getConfig().set("Prisoner.X", loc.getX());
    34. main.getConfig().set("Prisoner.Y", loc.getY());
    35. main.getConfig().set("Prisoner.Z", loc.getZ());
    36. main.getConfig().set("Prisoner.Pitch", loc.getPitch());
    37. main.getConfig().set("Prisoner.Yaw", loc.getYaw());
    38. main.saveConfig();
    39. }
    40. public void setGuard(Location loc) {
    41. main.getConfig().set("Guard.World", loc.getWorld().toString());
    42. main.getConfig().set("Guard.X", loc.getX());
    43. main.getConfig().set("Guard.Y", loc.getY());
    44. main.getConfig().set("Guard.Z", loc.getZ());
    45. main.getConfig().set("Guard.Pitch", loc.getPitch());
    46. main.getConfig().set("Guard.Yaw", loc.getYaw());
    47. main.saveConfig();
    48. }
    49. public void setLobby(Location loc) {
    50. main.getConfig().set("Lobby.World", loc.getWorld().toString());
    51. main.getConfig().set("Lobby.X", loc.getX());
    52. main.getConfig().set("Lobby.Y", loc.getY());
    53. main.getConfig().set("Lobby.Z", loc.getZ());
    54. main.getConfig().set("Lobby.Pitch", loc.getPitch());
    55. main.getConfig().set("Lobby.Yaw", loc.getYaw());
    56. main.saveConfig();
    57. }
    58. public void teleportLobby(Player p) {
    59. World world = Bukkit.getWorld(main.getConfig().getString("Lobby.World"));
    60. double X = main.getConfig().getDouble("Lobby.X");
    61. double Y = main.getConfig().getDouble("Lobby.Y");
    62. double Z = main.getConfig().getDouble("Lobby.Z");
    63. float pitch = (float) main.getConfig().getInt("Lobby.Pitch");
    64. float yaw = (float) main.getConfig().getInt("Lobby.Yaw");
    65. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    66. }
    67. public void teleportGuard(Player p) {
    68. World world = Bukkit.getWorld(main.getConfig().getString("Guard.World"));
    69. double X = main.getConfig().getDouble("Guard.X");
    70. double Y = main.getConfig().getDouble("Guard.Y");
    71. double Z = main.getConfig().getDouble("Guard.Z");
    72. float pitch = (float) main.getConfig().getInt("Guard.Pitch");
    73. float yaw = (float) main.getConfig().getInt("Guard.Yaw");
    74. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    75. }
    76. public void teleportPrisoner(Player p) {
    77. World world = Bukkit.getWorld(main.getConfig().getString("Prisoner.World"));
    78. double X = main.getConfig().getDouble("Prisoner.X");
    79. double Y = main.getConfig().getDouble("Prisoner.Y");
    80. double Z = main.getConfig().getDouble("Prisoner.Z");
    81. float pitch = (float) main.getConfig().getInt("Prisoner.Pitch");
    82. float yaw = (float) main.getConfig().getInt("Prisoner.Yaw");
    83. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    84. }
    85. public void start() {
    86. if(game==false) {
    87. bedrock=false;
    88. join=false;
    89. game=true;
    90. ArrayList<String> last = new ArrayList<String>();
    91. for(Player players : Bukkit.getOnlinePlayers()) {
    92. if(last.isEmpty()) {
    93. teleportGuard(players);
    94. guard.add(players.getName());
    95. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.BLUE+"Guard"+ChatColor.RED+"!");
    96. last.add("Guard");
    97. } else {
    98. teleportPrisoner(players);
    99. prisoner.add(players.getName());
    100. last.clear();
    101. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.YELLOW+"Prisoner"+ChatColor.RED+"!");
    102. }
    103. }
    104. last.clear();
    105. int task1 = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
    106. int counter = 241;
    107. public void run() {
    108. counter--;
    109. for(Player p : Bukkit.getOnlinePlayers()) {
    110. if(counter > 0) {
    111. ScoreboardManager manager = Bukkit.getScoreboardManager();
    112. Scoreboard board = manager.getNewScoreboard();
    113. Objective obj = board.registerNewObjective(""+p.getName(), "dummy");
    114. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    115. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    116. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    117. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    118. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    119. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    120. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.BLUE+""+counter));
    121. CreateBy.setScore(4);
    122. dev.setScore(3);
    123. space.setScore(2);
    124. count.setScore(1);
    125. time.setScore(0);
    126. p.setScoreboard(board);
    127. p.setLevel(counter);
    128. }
    129. }
    130. if(counter <= 10 && counter>0) {
    131. for(Player ps : Bukkit.getOnlinePlayers()) {
    132. ps.playSound(ps.getLocation(), Sound.NOTE_PLING, 1, 1);
    133. }
    134. }
    135. if(counter == 0) {
    136. Bukkit.broadcastMessage(title+ChatColor.GREEN+""+ChatColor.BOLD+"You may now break down the obsidian walls!");
    137. bedrock=true; Bukkit.getServer().getScheduler().cancelTasks(main);
    138. for(Player ps : Bukkit.getOnlinePlayers()) {
    139. ps.setLevel(0);
    140. ScoreboardManager manager = Bukkit.getScoreboardManager();
    141. Scoreboard board = manager.getNewScoreboard();
    142. Objective obj = board.registerNewObjective(""+ps.getName(), "dummy");
    143. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    144. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    145. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    146. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    147. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    148. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    149. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"OVER"));
    150. CreateBy.setScore(4);
    151. dev.setScore(3);
    152. space.setScore(2);
    153. count.setScore(1);
    154. time.setScore(0);
    155. ps.setScoreboard(board); ps.playSound(ps.getLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
    156. }
    157. }
    158. }
    159. }, 0L, 20L);
    160. }
    161. }
    162. public void end() {
    163. if(game) {
    164. game=false;
    165. for(Player ps : Bukkit.getOnlinePlayers()) {
    166. ps.kickPlayer("--- Restarting ---");
    167. }
    168. for(int i=0;i<blocks.size();i++) {
    169. Material b = blocks.get(i);
    170. Location loc = locations.get(i);
    171. loc.getBlock().setType(b);
    172. loc.getBlock().setType(b);
    173. }
    174. locations.clear();
    175. blocks.clear();
    176. Bukkit.getServer().reload();
    177. for(int i=0;i<60;i++) {
    178. Bukkit.broadcastMessage("");
    179. }
    180. guard.clear();
    181. prisoner.clear();
    182. join=true;
    183. }
    184. }
    185. public void log(Block b) {
    186. blocks.add(b.getType());
    187. locations.add(b.getLocation());
    188. }
    189. public boolean hasTeam(Player p) {
    190. if(prisoner.contains(p.getName())) {
    191. return true;
    192. }
    193. if(guard.contains(p.getName())) {
    194. return true;
    195. }
    196. return false;
    197. }
    198. public ArrayList getTeam(Player p) {
    199. if(prisoner.contains(p.getName())) {
    200. return prisoner;
    201. }
    202. if(guard.contains(p.getName())) {
    203. return guard;
    204. }
    205. return null;
    206. }
    207. }
    208.  

    ERROR:
    Code:java
    1. [18:11:34 ERROR]: null
    2. org.bukkit.command.CommandException: Unhandled exception executing command 'pw' in plugin PrisonWars v1.0
    3. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4. at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    5. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6. at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    7. at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    8. at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    9. at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    10. at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11. at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    12. at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    13. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    14. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    15. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    17. Caused by: java.lang.NullPointerException
    18. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer.teleport(CraftPlayer.java:456) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    19. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity.teleport(CraftEntity.java:200) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    20. at com.core.mayodwarf.api.Funks.teleportGuard(Funks.java:74) ~[?:?]
    21. at com.core.mayodwarf.api.Funks.start(Funks.java:93) ~[?:?]
    22. at com.core.mayodwarf.main.Main.onCommand(Main.java:49) ~[?:?]
    23. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    24. ... 13 more
    25. >
    26.  
     
  4. Offline

    xTigerRebornx

    MayoDwarf Print out each config value and see which is null, and then see if you are getting it properly.
    EDIT: If you are defining your lobby with the methods in your code, I believe World#toString() is a different String then World#getName()
     
  5. Offline

    MayoDwarf

    xTigerRebornx Yaw is coming up as null, but the config has it:
    Code:java
    1. Lobby:
    2. World: CraftWorld{name=world}
    3. X: 198.4859250304972
    4. Y: 74.0
    5. Z: 200.51808548149387
    6. Pitch: -11.376034
    7. Yaw: 269.8894
    8. World: CraftWorld{name=world}
    9. X: 199.57002521538078
    10. Y: 71.0
    11. Z: 215.69999998807907
    12. Pitch: 14.428775
    13. Yaw: 0.16794407
    14. Prisoner:
    15. World: CraftWorld{name=world}
    16. X: 199.43517840216006
    17. Y: 71.0
    18. Z: 219.30000001192093
    19. Pitch: 18.729559
    20. Yaw: 181.41597

    Code is same as I posted before.
    ERROR:
    Code:java
    1. [18:15:43 ERROR]: null
    2. org.bukkit.command.CommandException: Unhandled exception executing command 'pw' in plugin PrisonWars v1.0
    3. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4. at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    5. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6. at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    7. at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    8. at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    9. at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    10. at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11. at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    12. at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    13. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    14. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    15. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    17. Caused by: java.lang.NullPointerException
    18. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer.teleport(CraftPlayer.java:456) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    19. at org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity.teleport(CraftEntity.java:200) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    20. at com.core.mayodwarf.api.Funks.teleportGuard(Funks.java:74) ~[?:?]
    21. at com.core.mayodwarf.api.Funks.start(Funks.java:93) ~[?:?]
    22. at com.core.mayodwarf.main.Main.onCommand(Main.java:49) ~[?:?]
    23. at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    24. ... 13 more
    25. >
    26.  
     
  6. Offline

    xTigerRebornx

    MayoDwarf Look at my previous edit, use World#getName() instead of World#toString(), and since you are using getInt() for your floats, won't that mess up what you have stored in the config (since ints have no decimal places). Try using just get() for your floats
     
  7. Offline

    extended_clip

    edit: I see you are storing the World rather than the name...
    Change
    World world = (World) main.getConfig().get("Guard.World");
    to
    String wname = main.getConfig().getString("Guard.World");
    World world = Bukkit.getServer().getWorld(wname);
     
  8. Offline

    MayoDwarf

    xTigerRebornx You can't cast a object to a float. It underlines it red. I can't do that.
     
  9. Offline

    xTigerRebornx

    MayoDwarf Float.valueOf(Object o) (or something like this, cant remember the exact method), use that
     
  10. Offline

    MayoDwarf

  11. Offline

    xTigerRebornx

    MayoDwarf Oh well. Either way, try fixing the way you are storing your worlds (use World#getName(), not World#toString()) and see if that fixes it
     
  12. Offline

    MayoDwarf

  13. Offline

    xTigerRebornx

    MayoDwarf Can I see your current code and config?
     
  14. Offline

    MayoDwarf

    Code:java
    1. package com.core.mayodwarf.api;
    2.  
    3. import com.core.mayodwarf.main.Main;
    4. import org.bukkit.*;
    5. import org.bukkit.block.Block;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.scoreboard.*;
    8.  
    9. import java.util.ArrayList;
    10.  
    11. /**
    12. * Created with IntelliJ IDEA.
    13. * User: MayoDwarf
    14. * Date: 2/25/14
    15. * Time: 3:44 PM
    16. * To change this template use File | Settings | File Templates.
    17. */
    18. public class Funks {
    19. private Main main;
    20. private String title = ChatColor.GOLD+""+ChatColor.BOLD+"<<PrisonWars>>"+ChatColor.RESET+" ";
    21. private ArrayList<Material> blocks = new ArrayList<Material>();
    22. private ArrayList<Location> locations = new ArrayList<Location>();
    23. public ArrayList<String> guard = new ArrayList<String>();
    24. public ArrayList<String> prisoner = new ArrayList<String>();
    25. public boolean join=true;
    26. public boolean bedrock=false;
    27. public boolean game=false;
    28. public Funks(Main main) {
    29. this.main = main;
    30. }
    31. public void setPrisoner(Location loc) {
    32. main.getConfig().set("Prisoner.World", loc.getWorld().getName());
    33. main.getConfig().set("Prisoner.X", loc.getX());
    34. main.getConfig().set("Prisoner.Y", loc.getY());
    35. main.getConfig().set("Prisoner.Z", loc.getZ());
    36. main.getConfig().set("Prisoner.Pitch", loc.getPitch());
    37. main.getConfig().set("Prisoner.Yaw", loc.getYaw());
    38. main.saveConfig();
    39. }
    40. public void setGuard(Location loc) {
    41. main.getConfig().set("Guard.World", loc.getWorld().getName());
    42. main.getConfig().set("Guard.X", loc.getX());
    43. main.getConfig().set("Guard.Y", loc.getY());
    44. main.getConfig().set("Guard.Z", loc.getZ());
    45. main.getConfig().set("Guard.Pitch", loc.getPitch());
    46. main.getConfig().set("Guard.Yaw", loc.getYaw());
    47. main.saveConfig();
    48. }
    49. public void setLobby(Location loc) {
    50. main.getConfig().set("Lobby.World", loc.getWorld().getName());
    51. main.getConfig().set("Lobby.X", loc.getX());
    52. main.getConfig().set("Lobby.Y", loc.getY());
    53. main.getConfig().set("Lobby.Z", loc.getZ());
    54. main.getConfig().set("Lobby.Pitch", loc.getPitch());
    55. main.getConfig().set("Lobby.Yaw", loc.getYaw());
    56. main.saveConfig();
    57. }
    58. public void teleportLobby(Player p) {
    59. World world = Bukkit.getWorld(main.getConfig().getString("Lobby.World"));
    60. double X = main.getConfig().getDouble("Lobby.X");
    61. double Y = main.getConfig().getDouble("Lobby.Y");
    62. double Z = main.getConfig().getDouble("Lobby.Z");
    63. float pitch = (Float) main.getConfig().get("Lobby.Pitch");
    64. float yaw = (Float) main.getConfig().get("Lobby.Yaw");
    65. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    66. }
    67. public void teleportGuard(Player p) {
    68. World world = Bukkit.getWorld(main.getConfig().getString("Guard.World"));
    69. double X = main.getConfig().getDouble("Guard.X"); System.out.print(X);
    70. double Y = main.getConfig().getDouble("Guard.Y"); System.out.print(Y);
    71. double Z = main.getConfig().getDouble("Guard.Z"); System.out.print(Z);
    72. float pitch = (Float) main.getConfig().get("Guard.Pitch"); System.out.print(pitch);
    73. float yaw = (Float) main.getConfig().get("Guard.Yaw"); System.out.print(yaw);
    74. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    75. }
    76. public void teleportPrisoner(Player p) {
    77. World world = Bukkit.getWorld(main.getConfig().getString("Prisoner.World"));
    78. double X = main.getConfig().getDouble("Prisoner.X");
    79. double Y = main.getConfig().getDouble("Prisoner.Y");
    80. double Z = main.getConfig().getDouble("Prisoner.Z");
    81. float pitch = (Float) main.getConfig().get("Prisoner.Pitch");
    82. float yaw = (Float) main.getConfig().get("Prisoner.Yaw");
    83. p.teleport(new Location(world, X, Y, Z, yaw, pitch));
    84. }
    85. public void start() {
    86. if(game==false) {
    87. bedrock=false;
    88. join=false;
    89. game=true;
    90. ArrayList<String> last = new ArrayList<String>();
    91. for(Player players : Bukkit.getOnlinePlayers()) {
    92. if(last.isEmpty()) {
    93. teleportGuard(players);
    94. guard.add(players.getName());
    95. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.BLUE+"Guard"+ChatColor.RED+"!");
    96. last.add("Guard");
    97. } else {
    98. teleportPrisoner(players);
    99. prisoner.add(players.getName());
    100. last.clear();
    101. players.sendMessage(title+ChatColor.RED+"You are a "+ChatColor.YELLOW+"Prisoner"+ChatColor.RED+"!");
    102. }
    103. }
    104. last.clear();
    105. int task1 = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
    106. int counter = 241;
    107. public void run() {
    108. counter--;
    109. for(Player p : Bukkit.getOnlinePlayers()) {
    110. if(counter > 0) {
    111. ScoreboardManager manager = Bukkit.getScoreboardManager();
    112. Scoreboard board = manager.getNewScoreboard();
    113. Objective obj = board.registerNewObjective(""+p.getName(), "dummy");
    114. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    115. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    116. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    117. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    118. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    119. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    120. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.BLUE+""+counter));
    121. CreateBy.setScore(4);
    122. dev.setScore(3);
    123. space.setScore(2);
    124. count.setScore(1);
    125. time.setScore(0);
    126. p.setScoreboard(board);
    127. p.setLevel(counter);
    128. }
    129. }
    130. if(counter <= 10 && counter>0) {
    131. for(Player ps : Bukkit.getOnlinePlayers()) {
    132. ps.playSound(ps.getLocation(), Sound.NOTE_PLING, 1, 1);
    133. }
    134. }
    135. if(counter == 0) {
    136. Bukkit.broadcastMessage(title+ChatColor.GREEN+""+ChatColor.BOLD+"You may now break down the obsidian walls!");
    137. bedrock=true; Bukkit.getServer().getScheduler().cancelTasks(main);
    138. for(Player ps : Bukkit.getOnlinePlayers()) {
    139. ps.setLevel(0);
    140. ScoreboardManager manager = Bukkit.getScoreboardManager();
    141. Scoreboard board = manager.getNewScoreboard();
    142. Objective obj = board.registerNewObjective(""+ps.getName(), "dummy");
    143. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    144. obj.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+"PrisonWars");
    145. Score CreateBy = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"Created By"));
    146. Score dev = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.AQUA+""+ChatColor.BOLD+"MayoDwarf"));
    147. Score space = obj.getScore(Bukkit.getOfflinePlayer(""));
    148. Score count = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.YELLOW+""+ChatColor.BOLD+"Count:"));
    149. Score time = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.RED+""+ChatColor.BOLD+"OVER"));
    150. CreateBy.setScore(4);
    151. dev.setScore(3);
    152. space.setScore(2);
    153. count.setScore(1);
    154. time.setScore(0);
    155. ps.setScoreboard(board); ps.playSound(ps.getLocation(), Sound.SUCCESSFUL_HIT, 1, 1);
    156. }
    157. }
    158. }
    159. }, 0L, 20L);
    160. }
    161. }
    162. public void end() {
    163. if(game) {
    164. game=false;
    165. for(Player ps : Bukkit.getOnlinePlayers()) {
    166. ps.kickPlayer("--- Restarting ---");
    167. }
    168. for(int i=0;i<blocks.size();i++) {
    169. Material b = blocks.get(i);
    170. Location loc = locations.get(i);
    171. loc.getBlock().setType(b);
    172. loc.getBlock().setType(b);
    173. }
    174. locations.clear();
    175. blocks.clear();
    176. Bukkit.getServer().reload();
    177. for(int i=0;i<60;i++) {
    178. Bukkit.broadcastMessage("");
    179. }
    180. guard.clear();
    181. prisoner.clear();
    182. join=true;
    183. }
    184. }
    185. public void log(Block b) {
    186. blocks.add(b.getType());
    187. locations.add(b.getLocation());
    188. }
    189. public boolean hasTeam(Player p) {
    190. if(prisoner.contains(p.getName())) {
    191. return true;
    192. }
    193. if(guard.contains(p.getName())) {
    194. return true;
    195. }
    196. return false;
    197. }
    198. public ArrayList getTeam(Player p) {
    199. if(prisoner.contains(p.getName())) {
    200. return prisoner;
    201. }
    202. if(guard.contains(p.getName())) {
    203. return guard;
    204. }
    205. return null;
    206. }
    207. }
    208.  

    Code:
    Lobby:
      World: world
      X: 196.6423745483717
      Y: 74.0
      Z: 200.43762083810023
      Pitch: -0.9312297
      Yaw: 271.1185
    Prisoner:
      World: world
      X: 199.56435484684232
      Y: 71.0
      Z: 215.69999998807907
      Pitch: 11.971166
      Yaw: 358.36316
    Guard:
      World: world
      X: 199.49443857637507
      Y: 71.0
      Z: 219.30000001192093
      Pitch: 10.74235
      Yaw: 178.99658
    
     
  15. Offline

    xTigerRebornx

    MayoDwarf Are all the values being retrieved fine? I'm not really sure of the problem, can I see your main class?
     
  16. Offline

    MayoDwarf

Thread Status:
Not open for further replies.

Share This Page