a error with my config file

Discussion in 'Plugin Development' started by Beno65Dev, May 20, 2014.

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

    Beno65Dev

    i hava a error white my code i hope that you can fix it


    this is the error:
    Code:
    [15:59:45 ERROR]: Error occurred while enabling trollstick v2.1 (Is it up to dat
    e?)
    java.lang.ExceptionInInitializerError
            at me.troll.stick.data.Itemstacks.troll(Itemstacks.java:20) ~[?:?]
            at me.troll.stick.Main.troll(Main.java:34) ~[?:?]
            at me.troll.stick.Main.onEnable(Main.java:21) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) ~[c
    raftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:324) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:404) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.jav
    a:439) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.
    java:375) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.m(MinecraftServer.java:3
    42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.g(MinecraftServer.java:3
    19) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.a(MinecraftServer.java:2
    75) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.jav
    a:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :424) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
    Caused by: java.lang.NullPointerException
            at me.troll.stick.data.Config.<clinit>(Config.java:8) ~[?:?]
            ... 14 more
    and this is the config class:

    Code:java
    1. package me.troll.stick.data;
    2.  
    3. import me.troll.stick.Main;
    4.  
    5. import org.bukkit.configuration.file.FileConfiguration;
    6.  
    7. public class Config {
    8. static FileConfiguration conf = Main.getInstance().getConfig();
    9.  
    10.  
    11. public static int getEnchantLevel(){
    12. return getFileConfiguration().getInt("trollstick.enchant_level");
    13. }
    14.  
    15. public static FileConfiguration getFileConfiguration(){
    16. return conf;
    17. }
    18.  
    19. public static void initConfig() {
    20. if (!getFileConfiguration().contains("trollstick.enchant_level")){
    21. getFileConfiguration().addDefault("trollstick.enchant_level", "10");
    22. getFileConfiguration().options().copyDefaults(true);
    23. Main.getInstance().saveConfig();
    24. return;
    25. }
    26. }
    27. }
    28.  


    and this is my itemstack class:

    Code:java
    1. package me.troll.stick.data;
    2.  
    3. import java.util.Arrays;
    4.  
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.Material;
    7. import org.bukkit.enchantments.Enchantment;
    8. import org.bukkit.inventory.ItemStack;
    9. import org.bukkit.inventory.meta.ItemMeta;
    10.  
    11. public class Itemstacks {
    12.  
    13. public static ItemStack troll(){
    14.  
    15. ItemStack troll = new ItemStack(Material.STICK);
    16. ItemMeta meta = troll.getItemMeta();
    17. meta.setDisplayName(ChatColor.GOLD + "Troll" + ChatColor.RED + "stick!");
    18. meta.setLore(Arrays.asList(ChatColor.BLUE + "troll what people!"));
    19. troll.setItemMeta(meta);
    20. troll.addEnchantment(Enchantment.KNOCKBACK, Config.getEnchantLevel());
    21. return troll;
    22. }
    23. }
    24.  


    and my main:

    Code:java
    1. package me.troll.stick;
    2.  
    3. import me.troll.stick.data.Config;
    4. import me.troll.stick.data.Itemstacks;
    5. import me.troll.stick.events.PlayerInteract;
    6. import me.troll.stick.events.SignEvent;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.Material;
    10. import org.bukkit.inventory.ShapedRecipe;
    11. import org.bukkit.plugin.Plugin;
    12. import org.bukkit.plugin.PluginManager;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14.  
    15. public class Main extends JavaPlugin {
    16.  
    17. static Plugin plugin;
    18.  
    19. @Override
    20. public void onEnable() {
    21. troll();
    22.  
    23. PluginManager pm = getServer().getPluginManager();
    24. pm.registerEvents(new PlayerInteract(), this);
    25. pm.registerEvents(new SignEvent(), this);
    26.  
    27. getCommand("trollstick").setExecutor(new Trollstick());
    28. getCommand("trollstickget").setExecutor(new Trollstick());
    29.  
    30. Main.plugin = this;
    31. Config.initConfig();
    32. }
    33. private void troll() {
    34. ShapedRecipe r = new ShapedRecipe(Itemstacks.troll());
    35. r.shape("!*!",
    36. "%*%",
    37. "@*@");
    38.  
    39. r.setIngredient('@', Material.LAPIS_BLOCK);
    40. r.setIngredient('*', Material.STICK);
    41. r.setIngredient('%', Material.GOLD_INGOT);
    42. r.setIngredient('!', Material.EMERALD);
    43. Bukkit.getServer().addRecipe(r);
    44. }
    45.  
    46. public static Plugin getInstance(){
    47. return plugin;
    48. }
    49.  
    50. }
    51.  
     
  2. Beno65Dev You initialise your config stuff after trying to access it, which means it's null.
     
  3. Offline

    Beno65Dev

    can you explain better what you get is not good it could also be because I'm Dutch
     
  4. Beno65Dev The first thing you do in your onEnable is call troll() which calls Itemstacks.troll() which tries to get the level from the config. However, since troll() was the first thing you called, Config.initConfig() hasn't been called yet, so the config stuff isn't 'ready'.
     
Thread Status:
Not open for further replies.

Share This Page