Problem with initializing something?

Discussion in 'Plugin Development' started by arjanforgames, Dec 21, 2013.

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

    arjanforgames

    So this is my main class.
    I just got it cleaned up without any other methods implemented just this.
    Code:java
    1. package me.arjanforgames.Christmas;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.entity.Player;
    6. import org.bukkit.event.EventHandler;
    7. import org.bukkit.event.Listener;
    8. import org.bukkit.event.player.PlayerJoinEvent;
    9. import org.bukkit.plugin.java.JavaPlugin;
    10. import org.bukkit.scoreboard.DisplaySlot;
    11. import org.bukkit.scoreboard.Objective;
    12. import org.bukkit.scoreboard.Score;
    13. import org.bukkit.scoreboard.Scoreboard;
    14. import org.bukkit.scoreboard.ScoreboardManager;
    15.  
    16. public class Main extends JavaPlugin implements Listener{
    17.  
    18. static ScoreboardManager sbm = Bukkit.getScoreboardManager();
    19. static Scoreboard gameBoard = sbm.getNewScoreboard();
    20. static Objective obj = gameBoard.registerNewObjective("lobby", "dummy");
    21. static Score credits = obj.getScore(Bukkit.getOfflinePlayer(ChatColor.DARK_GREEN + "Christmas Credits:"));
    22.  
    23. public static Main plugin;
    24.  
    25. public void onEnable(){
    26. this.getServer().getPluginManager().registerEvents(this, this);
    27. plugin = this;
    28.  
    29.  
    30. Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
    31. public void run(){
    32. updateCredits();
    33. }
    34. }, 0L, 20L*60*10);
    35. }
    36.  
    37. public void onDisable(){
    38.  
    39. }
    40.  
    41. @EventHandler
    42. public void playerJoin(PlayerJoinEvent event){
    43. if(!plugin.getConfig().contains("Players." + event.getPlayer().getName())){
    44. plugin.getConfig().set("Players." + event.getPlayer().getName() + ".Credits", 0);
    45. plugin.saveConfig();
    46. obj.setDisplayName(ChatColor.GREEN + "-[Chronical " + ChatColor.RED + "Network]-");
    47. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    48. credits.setScore(plugin.getConfig().getInt("Players." + event.getPlayer().getName() + ".Credits"));
    49. event.getPlayer().setScoreboard(gameBoard);
    50. }else{
    51. credits.setScore(plugin.getConfig().getInt("Players." + event.getPlayer().getName() + ".Credits"));
    52. event.getPlayer().setScoreboard(gameBoard);
    53. }
    54. }
    55.  
    56. public static void updateCredits(){
    57. if(Bukkit.getOnlinePlayers().length != 0){
    58. for(Player players : Bukkit.getOnlinePlayers()){
    59. players.sendMessage(ChatColor.GOLD + "[CREDITS] " + ChatColor.GREEN + "You received an additional credit! (+1)");
    60. setCredits(players);
    61. }
    62. }
    63. }
    64.  
    65. public static void setCredits(Player player){
    66. String playername = player.getName();
    67. plugin.getConfig().set("Players." + playername + ".Credits", plugin.getConfig().getInt("Players." + playername + ".Credits") + 1);
    68. plugin.saveConfig();
    69. }
    70. }
    71.  


    It's supposed to add 1 to your credits every 10 minutes.


    So this is the error it's throwing:
    Code:
    C:\Users\Arjan\Desktop\Scavenge And Survive>java -Xmx1024M -jar craftbukkit-1.7.
    2-R0.1-20131201.220431-9.jar -o true
    [19:39:51 INFO]: Starting minecraft server version 1.7.2
    [19:39:51 INFO]: Loading properties
    [19:39:52 INFO]: Default game type: SURVIVAL
    [19:39:52 INFO]: Generating keypair
    [19:39:52 INFO]: Starting Minecraft server on *:25565
    [19:39:52 INFO]: This server is running CraftBukkit version git-Bukkit-1.6.4-R2.
    0-9-g68d0e57-b2930jnks (MC: 1.7.2) (Implementing API version 1.7.2-R0.1-SNAPSHOT
    )
    [19:39:52 ERROR]: Could not load 'plugins\Countdown.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:184) ~[craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-
    g68d0e57-b2930jnks]
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:305) ~[craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9
    -g68d0e57-b2930jnks]
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:230) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9
    -g68d0e57-b2930jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.ja
    va:255) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g6
    8d0e57-b2930jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:23
    3) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e5
    7-b2930jnks]
            at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [c
    raftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57-b29
    30jnks]
            at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14
    ) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e57
    -b2930jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.jav
    a:126) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68
    d0e57-b2930jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :414) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68d
    0e57-b2930jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-g68d0e
    57-b2930jnks]
    Caused by: java.lang.ExceptionInInitializerError
            at java.lang.Class.forName0(Native Method) ~[?:1.7.0_25]
            at java.lang.Class.forName(Unknown Source) ~[?:1.7.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:173) ~[craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-
    g68d0e57-b2930jnks]
            ... 9 more
    Caused by: java.lang.NullPointerException
            at me.arjanforgames.Christmas.Main.<clinit>(Main.java:19) ~[?:?]
            at java.lang.Class.forName0(Native Method) ~[?:1.7.0_25]
            at java.lang.Class.forName(Unknown Source) ~[?:1.7.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:173) ~[craftbukkit-1.7.2-R0.1-20131201.220431-9.jar:git-Bukkit-1.6.4-R2.0-9-
    g68d0e57-b2930jnks]
            ... 9 more
    [19:39:52 INFO]: Preparing level "WakeIsland"
    [19:39:52 INFO]: Preparing start region for level 0 (Seed: 1337)
    [19:39:52 INFO]: ----- Bukkit Auto Updater -----
    [19:39:52 INFO]: It appears that you're running a Development Build, when you've
    specified in bukkit.yml that you prefer to run Recommended Builds.
    [19:39:52 INFO]: If you would like to be kept informed about new Development Bui
    ld releases, it is recommended that you change 'preferred-channel' in your bukki
    t.yml to 'dev'.
    [19:39:52 INFO]: With that set, you will be told whenever a new version is avail
    able for download, so that you can always keep up to date and secure with the la
    test fixes.
    [19:39:52 INFO]: If you would like to disable this warning, simply set 'suggest-
    channels' to false in bukkit.yml.
    [19:39:52 INFO]: ----- ------------------- -----
    [19:39:52 INFO]: Preparing start region for level 1 (Seed: -5302831764458124556)
     
    [19:39:53 INFO]: Server permissions file permissions.yml is empty, ignoring it
    [19:39:53 INFO]: Done (0.845s)! For help, type "help" or "?"
    >
     
  2. Offline

    The_Doctor_123

    You shouldn't access any API before onEnable() is called. So a workaround would be to declare the variables, then initialize them in onEnable().
     
  3. Offline

    arjanforgames

  4. Offline

    Gater12

    arjanforgames Reserve the varibles. Then initialize them in the onEnable(). Is that more clearer?
     
  5. Offline

    The_Doctor_123

    Do you know Java, or is my explanation not clear enough?
     
  6. Offline

    xTigerRebornx

    The_Doctor_123 Honestly, I think he doesn't know Java, because he says he can't figure it out, yet he does it already for one variable
     
  7. Offline

    The_Doctor_123

Thread Status:
Not open for further replies.

Share This Page