Config return Nullpointer

Discussion in 'Plugin Development' started by i3ick, Feb 10, 2014.

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

    i3ick

    Hi, I have been trying to fix this problem on my own but just couldn't do it.

    I am getting a NullPointerException
    Code:
    [16:09:29 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'wscr
    eate' in plugin WinterSlash v1.3
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[cra
    ftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:19
    2) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServe
    r.java:542) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerCon
    nection.java:925) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :805) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat
    .java:47) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    51) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    41) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :453) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
    Caused by: java.lang.NullPointerException
            at me.i3ick.com.WinterSlashManager.createArena(WinterSlashManager.java:3
    03) ~[?:?]
            at me.i3ick.com.WinterSlashMain.onCommand(WinterSlashMain.java:488) ~[?:
    ?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[cra
    ftbukkit.jar:git-Bukkit-1.6.4-R2.0-23-ge8eb325-b2941jnks]
            ... 13 more
    at line 303 in my secondary class and I know that it must be because of incorrect initialization but I just can't figure outhow to do it.
    Code:java
    1. FileConfiguration config = plugin2.getConfig();


    my initialization:
    Code:java
    1. WinterSlashMain plugin2;
    2.  
    3. public WinterSlashManager(WinterSlashMain instance) {
    4. plugin2 = instance;
    5. }



    Thank you!
     
  2. Offline

    1Rogue

    Post the full class.
     
  3. Offline

    i3ick

    1Rogue

    Code:java
    1. package me.i3ick.com;
    2. import java.util.ArrayList;
    3.  
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.Color;
    7. import org.bukkit.Location;
    8. import org.bukkit.Material;
    9. import org.bukkit.World;
    10. import org.bukkit.command.CommandExecutor;
    11. import org.bukkit.configuration.ConfigurationSection;
    12. import org.bukkit.configuration.file.FileConfiguration;
    13. import org.bukkit.craftbukkit.libs.org.ibex.nestedvm.util.Seekable.File;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.inventory.ItemStack;
    16. import org.bukkit.inventory.meta.LeatherArmorMeta;
    17. import org.bukkit.plugin.Plugin;
    18. import org.bukkit.plugin.java.JavaPlugin;
    19.  
    20. public class WinterSlashManager{
    21.  
    22. WinterSlashMain plugin2;
    23.  
    24. public WinterSlashManager(WinterSlashMain instance) {
    25. plugin2 = instance;
    26. }
    27.  
    28.  
    29.  
    30. public enum Team { RED, GREEN; }
    31.  
    32. private WinterSlashMain plugin;
    33.  
    34. private WinterSlashManager() { }
    35. private static WinterSlashManager am = new WinterSlashManager();
    36. public static WinterSlashManager getInstance() {
    37. return am;
    38. }
    39.  
    40.  
    41. private ArrayList<WinterSlashArena> arenas = new ArrayList<WinterSlashArena>();
    42.  
    43.  
    44. public static WinterSlashManager getManager() {
    45. return am;
    46. }
    47.  
    48.  
    49. //Arena Loaders
    50.  
    51.  
    52. public void loadArenas() {
    53.  
    54. FileConfiguration config = plugin2.getConfig();
    55.  
    56. for (String keys: config.getConfigurationSection("arenas").getKeys(false)) {
    57.  
    58.  
    59. World world = Bukkit.getWorld("arenas." + keys + ".world");
    60.  
    61.  
    62. double joinX = config.getDouble("arenas." + "keys." + "joinX");
    63. double joinY = config.getDouble("arenas." + "keys." + "joinY");
    64. double joinZ = config.getDouble("arenas." + "keys." + "joinZ");
    65. Location joinLocation = new Location(world, joinX, joinY, joinZ);
    66.  
    67. double greenX = config.getDouble("arenas." + "keys." + "greenX");
    68. double greenY = config.getDouble("arenas." + "keys." + "greenY");
    69. double greenZ = config.getDouble("arenas." + "keys." + "greenZ");
    70. Location greenLocation = new Location(world, greenX, greenY, greenZ);
    71.  
    72. double redX = config.getDouble("arenas." + "keys." + "redX");
    73. double redY = config.getDouble("arenas." + "keys." + "redY");
    74. double redZ = config.getDouble("arenas." + "keys." + "redZ");
    75. Location redLocation = new Location(world, redX, redY, redZ);
    76.  
    77. double endX = config.getDouble("arenas." + "keys." + "endX");
    78. double endY = config.getDouble("arenas." + "keys." + "endX");
    79. double endZ = config.getDouble("arenas." + "keys." + "endX");
    80. Location endLocation = new Location(world, endX, endY, endZ);
    81.  
    82. int maxPlayers = plugin2.getConfig().getInt("arenas." + keys + ".maxPlayers");
    83.  
    84.  
    85. WinterSlashArena arena = new WinterSlashArena(keys, joinLocation, redLocation, greenLocation, endLocation, 12);
    86.  
    87. }
    88. }
    89.  
    90.  
    91.  
    92.  
    93.  
    94. public void createArena(String arenaName, Location joinLocation, Location redLocation, Location greenLocation, Location endLocation, int maxPlayers) {
    95.  
    96.  
    97. WinterSlashArena arena = new WinterSlashArena(arenaName, joinLocation, redLocation, greenLocation, endLocation, maxPlayers);
    98.  
    99. FileConfiguration config = plugin2.getConfig();
    100.  
    101. config.set("arenas." + arenaName, null);
    102.  
    103.  
    104. String path = "arenas." + arenaName + ".";
    105.  
    106. config.set(path + "joinX", joinLocation.getX());
    107. config.set(path + "joinY", joinLocation.getY());
    108. config.set(path + "joinZ", joinLocation.getZ());
    109.  
    110. config.set(path + "redX", redLocation.getX());
    111. config.set(path + "redY", redLocation.getY());
    112. config.set(path + "redZ", redLocation.getZ());
    113.  
    114. config.set(path + "greenX", greenLocation.getX());
    115. config.set(path + "greenY", greenLocation.getY());
    116. config.set(path + "greenZ", greenLocation.getZ());
    117.  
    118. config.set(path + "endX", endLocation.getX());
    119. config.set(path + "endY", endLocation.getY());
    120. config.set(path + "endZ", endLocation.getZ());
    121.  
    122. config.set(path + "maxPlayers", maxPlayers);
    123.  
    124. plugin2.saveConfig();
    125. }
    126. }
    127.  
     
  4. Offline

    Deleted user

    i3ick
    How about the class where you initialize this class?
     
  5. Offline

    i3ick

    I went through my classes and realized I haven't actually initialized the config in my main class. How would I go about doing it?
     
Thread Status:
Not open for further replies.

Share This Page