[SOLVED]Console Errors

Discussion in 'Plugin Development' started by dakoslug, Mar 15, 2012.

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

    dakoslug

    My plugin is stopping my server from loading.
    here is the error i'm getting.


    I'm trying to implement the new listener event system...while attempting to do so this is what happens.


    Main class code
    Code:
    public class EmergencyDowntime extends JavaPlugin implements Listener
    {
      Logger log = Logger.getLogger("Minecraft");
      String playerexempt;
    private EmergencyDowntimeplayerListener playerlisten = new EmergencyDowntimeplayerListener(this);
     
      public void onEnable()
      {
        loadConfiguration();
        this.log.info("[EmergencyDowntime]has loaded config!");
        this.log.info("[EmergencyDowntime] is enabled and ready to start! v1.0.0");
        getServer().getPluginManager().registerEvents(playerlisten, this);
      }

    Listener code

    Code:
    package me.dakoslug.EmergencyDowntime;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
     
    public class EmergencyDowntimeplayerListener implements Listener
     
    {
      public static boolean downtimefull = false;
      public static boolean downtimekickall = false;
      public static EmergencyDowntime plugin;
      @EventHandler(priority = EventPriority.HIGHEST)
      public void onPlayerJoin(PlayerJoinEvent event)
      {
        if (downtimekickall)
        {
          Player player = event.getPlayer();
          player.kickPlayer(plugin.getConfig().getString("Kickmessage"));
          plugin.log.info("[EmergencyDowntime] " + player.getName() + " was kicked due to Downtime.");
          event.setJoinMessage(null);
        }
     
        if (downtimefull)
        {
          Player player = event.getPlayer();
          if (!player.hasPermission("emergencydowntime.exempt")) // ! Operator means instead of  == true its  == false
          {
            player.kickPlayer(plugin.getConfig().getString("Kickmessage"));
            plugin.log.info("[EmergencyDowntime] " + player.getName() + " was kicked due to Downtime.");
            event.setJoinMessage(null);
          }
          else
          {
            player.sendMessage(plugin.getConfig().getString("OPWarning"));
          }
        }
      }
      @SuppressWarnings("static-access")
    public EmergencyDowntimeplayerListener(EmergencyDowntime plugin)
      {
          this.plugin = plugin;
      }
    }

    Please guide me in the right direction.

    Thanks!
     
  2. Offline

    dsmyth1915

    What else is in the main class? You don't have close brackets to finish the classfile and the stack sais there is an error in EmergencyDowntime.java:22
     
  3. Offline

    dakoslug


    Code:
    /*
    Add time feature
    Fix remaining bugs
    Quality Test
    Put under real server
    Release
    */
    package me.dakoslug.EmergencyDowntime;
     
    import java.util.logging.Logger;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    public class EmergencyDowntime extends JavaPlugin implements Listener
    {
      Logger log = Logger.getLogger("Minecraft");
      String playerexempt;
    private EmergencyDowntimeplayerListener playerlisten = new EmergencyDowntimeplayerListener(this);
     
      public void onEnable()
      {
        loadConfiguration();
        this.log.info("[EmergencyDowntime]has loaded config!");
        this.log.info("[EmergencyDowntime] is enabled and ready to start! v1.0.0");
        getServer().getPluginManager().registerEvents(playerlisten, this);
      }
      public void onDisable()
      {
          log.info("[EmergencyDowntime] has been unloaded!");
      }
      public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
      {
          if (commandLabel.equalsIgnoreCase("downtime-check"))
              {
                  if(sender.hasPermission("emergencydowntime.check"))
                  {
                    if(EmergencyDowntimeplayerListener.downtimefull == true || EmergencyDowntimeplayerListener.downtimekickall == true)
                    {
                        sender.sendMessage(ChatColor.GOLD+ "Server Status: "+ChatColor.RED+ " Server under downtime!");
                    }
                    else
                    {
                        sender.sendMessage(ChatColor.GOLD+ "Server Status:"+ChatColor.RED+ " Server is not under downtime!");
                    }
                  }
                  else
                  {
                      sender.sendMessage(ChatColor.RED + "You do not have permission to use this!");
                  }
              }
              if (commandLabel.equalsIgnoreCase("downtime-kickall"))
          {
              if(sender.hasPermission("emergencydowntime.kickall"))
              {
                  sender.sendMessage(ChatColor.GOLD+"You have kicked everybody out of the server!");
                  playerexempt = sender.getName();
                  EmergencyDowntimeplayerListener.downtimekickall = true;
                  kickallmethod();
     
              }
              else
              {
                  sender.sendMessage(ChatColor.RED + "You do not have permission to use this!");
              }
          }
          if (commandLabel.equalsIgnoreCase("downtime-ver"))
          {
                  sender.sendMessage(ChatColor.GOLD + "This server is using EmergencyDowntime Beta Build 3!");
     
          }
          if (commandLabel.equalsIgnoreCase("downtime-partial"))
          {
              if(sender.hasPermission("emergencydowntime.partial"))
              {
                sender.sendMessage(ChatColor.GOLD+"You have turned on partial downtime!");
                downtimepartial();
     
              }
              else
              {
                  sender.sendMessage(ChatColor.RED + "You do not have permission to use this!");
              }
          }
        if (commandLabel.equalsIgnoreCase("downtime-off"))
          {
              if(sender.hasPermission("emergencydowntime.off"))
              {
                  sender.sendMessage(ChatColor.GOLD+"You have turned off downtime!");
                  EmergencyDowntimeplayerListener.downtimefull = false;
                  EmergencyDowntimeplayerListener.downtimekickall = false;
                  if(playerexempt ==  null)
                  {
                      //do nothing
                  }
                  else
                  {
                      this.playerexempt = null;
                  }
                  this.log.info("[EmergencyDowntime] Downtime has been disabled by a OP!");
     
              }
              else
              {
                  sender.sendMessage(ChatColor.RED + "You do not have permission to use this!");
              }
          }
        if (commandLabel.equalsIgnoreCase("downtime-full"))
          {
              if(sender.hasPermission("emergencydowntime.full"))
              {
                EmergencyDowntimeplayerListener.downtimefull = true;
                sender.sendMessage(ChatColor.GOLD+"You have turned on full downtime!");
                Player[] onlinePlayers = Bukkit.getServer().getOnlinePlayers();
                if(onlinePlayers.length == 0)
                  {
                  log.info("[EmergencyDowntime] No players online! Skipping kick!");
                  }
                else
                  {
                  kickplayers();
                  }
              }
              else
              {
                  sender.sendMessage(ChatColor.RED + "You do not have permission to use this!");
              }
          }
        return false;
      }
     
      private void kickplayers()
      {
        for (Player player : getServer().getOnlinePlayers())
        if (player.hasPermission("emergencydowntime.exempt"))
          {
            player.sendMessage(getConfig().getString("OPExempt"));
          }
          else
          {
            player.kickPlayer(getConfig().getString("Kickmessage"));
          }
      }
      private void kickallmethod()
      {
          for (Player player : getServer().getOnlinePlayers())
          {
          if(player.getName() == playerexempt)
          {
             
              log.info("[EmergencyDowntime] " +playerexempt+ " has kicked everyone out of the server!"); //Console message
          }
      }
     
      }
      public void loadConfiguration() {
        String path = "Kickmessage";
        String path1 = "OPExempt";
        String path2 = "PartialDowntimeMsg";
        String path3 = "OPWarning";
        getConfig().addDefault(path, "Server needs downtime! Come back later!");
        getConfig().addDefault(path1, "As op you may remain in the Server while it is in downtime!");
        getConfig().addDefault(path2, "Server is in partial lockdown! If you leave you may not be allowed to re-enter!");
        getConfig().addDefault(path3, "Warning: Server is in downtime!");
        getConfig().options().copyDefaults(true);
        saveConfig();
      }
      private void downtimepartial() {
        EmergencyDowntimeplayerListener.downtimefull = true;
        for (Player player : getServer().getOnlinePlayers())
          player.sendMessage(getConfig().getString("PartialDowntimeMsg"));
      }
    }

    Thanks for replying!
     
  4. Offline

    dsmyth1915

    Okay, under string player exempt is where the error seems to be...

    it seems there's playerlisten instead of playerlistener there.
     
    dakoslug likes this.
  5. Offline

    dakoslug

    Wow what the.... the things I do sometimes...

    Thanks dude!
     
  6. Offline

    dsmyth1915

    Your welcome :) not bad for a noob... *supernoob, AWAYYY*
     
  7. Offline

    SparrowMaxx

    What IDE are you using? This should of been obvious from the compiler output.
     
Thread Status:
Not open for further replies.

Share This Page