Config ands getters Help Please!

Discussion in 'Plugin Development' started by Sicka_gp, May 30, 2013.

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

    Sicka_gp

    Hi, I need help. My getter not work.
    Here is the code and error.
    Code:
    package cz.Sicka_gp.ConfigurableMessages;
     
    public class ConfMsfBooleanSetings {
        ConfigurableMessages plugin;
        boolean enablemessage;
       
        public boolean isMessageEnable(){
            this.enablemessage = this.plugin.getconfig().getBoolean("Messages.enable", true);
            return enablemessage;
        }
    }
    Error:
    Code:
    013-05-30 17:31:16 [SEVERE] Could not pass event PlayerJoinEvent to ConfigurableMessages v0.3
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at net.minecraft.server.v1_5_R3.PlayerList.c(PlayerList.java:204)
        at net.minecraft.server.v1_5_R3.PlayerList.a(PlayerList.java:100)
        at net.minecraft.server.v1_5_R3.PendingConnection.d(PendingConnection.java:129)
        at net.minecraft.server.v1_5_R3.PendingConnection.c(PendingConnection.java:44)
        at net.minecraft.server.v1_5_R3.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:41)
        at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:29)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
    Caused by: java.lang.NullPointerException
        at cz.Sicka_gp.ConfigurableMessages.ConfigurableMessagesListener.onPlayerJoin(ConfigurableMessagesListener.java:45)
        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.java:425)
        ... 14 more
    Line 45:
    Code:
    if(s.isMessageEnable()){
    }
    The entire section of code:
    Code:
    @EventHandler
        public void  onPlayerJoin(PlayerJoinEvent e) {
            plugin.setScoreboard(e.getPlayer());
            Player p = e.getPlayer();
            OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(p.getName());
            boolean grp = plugin.getconfig().getBoolean("Messages.enableGroups", true);
            //boolean enable = plugin.getconfig().getBoolean("Messages.enable", true);
            String pName = e.getPlayer().getName();
            String welcome = plugin.getconfig().getString("Messages.welcome-message", "Welcome to server.");
            welcome = ChatColor.translateAlternateColorCodes("&".charAt(0), welcome);
            p.sendMessage(welcome);
            String servername = plugin.getServer().getServerName();
            if(!(offlinePlayer.hasPlayedBefore())){
                boolean kit = plugin.getconfig().getBoolean("Newbies.Kits", false);
                String fjoin = plugin.getconfig().getString("Newbies.First-message", "Welcome to server");
                fjoin = fjoin.replaceAll("%server%", servername);
                fjoin = ChatColor.translateAlternateColorCodes("&".charAt(0), fjoin);
                fjoin = fjoin.replaceAll("%player%", p.getName());
                p.sendMessage(fjoin);
                if(kit){
                    setKits(p);
                }
            }
          if(s.isMessageEnable()){
                if((grp)&&(plugin.chat != null)&&(plugin.permission != null)){
                        String prefix = plugin.chat.getPlayerPrefix(p);
                        prefix = prefix.concat(pName);
                        pName = prefix;
                        String message = plugin.getconfig().getString("Messages.Groups." + plugin.permission.getPrimaryGroup(p) + ".join-message", "%player% &ejoin the game!");
                        message = message.replaceAll("%player%", pName);
                        message = ChatColor.translateAlternateColorCodes("&".charAt(0), message);
                        e.setJoinMessage(message);
                }else{
                    String message = plugin.getconfig().getString("Messages.Default.join-message", "%player% &ejoin the game!");
                    message = message.replaceAll("%player%", p.getName());
                    message = ChatColor.translateAlternateColorCodes("&".charAt(0), message);
                    e.setJoinMessage(message);
                }
               
            }else{
                e.setJoinMessage(null);
            }
        }
     
  2. Offline

    Ultimate_n00b

    Messages.enable is not set in your config, so it is returning null.
     
  3. Offline

    Sicka_gp

    It is set in the config
    Code:
    Messages:
      #Enable join/quit/leave message.
      enable: true
      #Enable Group join/quit/leave message.
      #Players have colorful names by their group
      enableGroups: true
      #Message sent to players when they join
      welcome-message: 'Welcome to server.'
    If you use this and it works:
    Code:
    boolean enable = plugin.getconfig().getBoolean("Messages.enable", true);
    if(enable){
    }
     
  4. Offline

    Rocoty

    The plugin variable in the ConfMsfBooleanSetings class is null...you never gave it a value.

    I suggest a constructor to which you pass the instance of your main class as a parameter
     
  5. Offline

    Sicka_gp

    Added constructor and still does not work
     
  6. Offline

    Sicka_gp

    I tried this but does not work. He did not know anyone please?

    Code:
    public void reloadConfiguration() {
            if (!new File(getDataFolder() + File.separator + "config.yml").exists()) {
                  saveDefaultConfig();
                }
                try{
                  reloadConfig();
                } catch (Exception e) {
                  e.printStackTrace();
                }
               
                ConfMsfBooleanSetings s = new ConfMsfBooleanSetings();
                s.setEnablemessage(Boolean.valueOf(getConfig().getBoolean("Messages.enable")));
        }
    Code:
    public class ConfMsfBooleanSetings {
        ConfigurableMessages plugin;
        public Boolean enablemessage = Boolean.valueOf(true);
           
            public Boolean getEnablemessage() {
            return this.enablemessage;
        }
        public void setEnablemessage(Boolean enablemessage) {
            this.enablemessage = enablemessage;
        }
    } 
     
Thread Status:
Not open for further replies.

Share This Page