My plugin have an error while enabling it

Discussion in 'Plugin Development' started by GerardinFilipin, Dec 16, 2020.

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

    GerardinFilipin

    Im making my first plugin and actually it have a Join and Quit messages and a MOTD, but the plugin cant start,
    This is the error that I get in the console
    Code:
    [18:18:54 ERROR]: Error occurred while enabling AllInOne v1.0-SNAPSHOT (Is it up to date?)
    java.lang.NullPointerException: null
            at com.rardoger.allinone.listeners.JoinLeave.<init>(JoinLeave.java:22) ~[?:?]
            at com.rardoger.allinone.AllInOne.onEnable(AllInOne.java:12) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[server.jar:git-Paper-189]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[server.jar:git-Paper-189]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[server.jar:git-Paper-189]
            at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:499) ~[server.jar:git-Paper-189]
            at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:413) ~[server.jar:git-Paper-189]
            at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:468) ~[server.jar:git-Paper-189]
            at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:241) ~[server.jar:git-Paper-189]
            at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:939) ~[server.jar:git-Paper-189]
            at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[server.jar:git-Paper-189]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
    This is the main class:
    Code:
    package com.rardoger.allinone;
    
    import org.bukkit.ChatColor;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import com.rardoger.allinone.listeners.JoinLeave;
    
    public class AllInOne extends JavaPlugin {
       
        @Override
        public void onEnable() {
            new JoinLeave(this);
            getServer().getConsoleSender().sendMessage(ChatColor.AQUA + "[AllInOne] Plugin Enabled");
        }
       
        @Override
        public void onDisable() {
            getServer().getConsoleSender().sendMessage(ChatColor.RED + "[AllInOne] Plugin Disabled");
        }
    }
    And this is the Join and Quit listener class
    Code:
    package com.rardoger.allinone.listeners;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    
    import com.rardoger.allinone.AllInOne;
    
    public class JoinLeave implements Listener{
       
        public static AllInOne plugin;
       
        public JoinLeave(AllInOne plugin) {
            this.plugin = plugin;
           
            Bukkit.getPluginManager().registerEvents(this, plugin);
        }
               
        private Boolean joinEnabled = plugin.getConfig().getBoolean("enable-join-quit-messages");
        private Boolean motdEnabled = plugin.getConfig().getBoolean("enable-motd");
       
       
        @EventHandler
        void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            if(joinEnabled == true) {
                e.setJoinMessage(utils.chat(plugin.getConfig().getString("join").replace("<player>", p.getDisplayName())));
            }
            if(motdEnabled ==true) {
                p.sendMessage(utils.chat(plugin.getConfig().getString("motd").replace("<player>", p.getDisplayName())));
            }
           
        }
       
       
        @EventHandler
        void onPlayerQuit(PlayerQuitEvent e) {
            Player p = e.getPlayer();
            if(joinEnabled == true) {
                e.setQuitMessage(utils.chat(plugin.getConfig().getString("quit").replace("<player>", p.getDisplayName())));
            }
           
        }
       
       
    }
    
     
  2. Offline

    CraftCreeper6

  3. Offline

    GerardinFilipin

    Thank you! Changing it worked
     
Thread Status:
Not open for further replies.

Share This Page