Auth, PlayerCommandPreprocess

Discussion in 'Plugin Development' started by Adrenaline, Dec 31, 2011.

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

    Adrenaline

    Hi!

    Im very beginner at Java ... and i have a big problem, i found Auth plugin but players can without login opping/de-oping players etd... and i add this function but i lock all commands :p

    How to unlock /register /login and /changepassword, this is my question

    i try to add this:
    PHP:
                (!cmd[0].equalsIgnoreCase("/register")) &&

                (!
    cmd[0].equalsIgnoreCase("/rs")) &&

                (!
    cmd[0].equalsIgnoreCase("/login")) &&

                (!
    cmd[0].equalsIgnoreCase("/lg")) &&
    But without success...

    This is Player Listener:

    PHP:
    package me.cain.cfauthentication;

    import org.bukkit.ChatColor;
    import org.bukkit.OfflinePlayer;
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerListener;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.event.player.PlayerQuitEvent;

    public class 
    PListener extends PlayerListener {

        private static final 
    String plugin null;

        public 
    void onPlayerJoin(PlayerJoinEvent e)
        {
            
    Player p e.getPlayer();
            
    CFAuthentication.cfg.setProperty("player." p.getName() + ".loggedin"false);
            
    CFAuthentication.cfg.save();

            if(
    CFAuthentication.cfg.getProperty("player." p.getName() + ".password") != null)
            {
                
    p.sendMessage(ChatColor.RED "[Auth] Please login!");
                
    p.sendMessage(ChatColor.RED "[Auth] /login [password]");
                
    CFAuthentication.cfg.setProperty("player." p.getName() + ".loggedin"false);
                
    CFAuthentication.cfg.save();
            }
            else
            {
                
    p.sendMessage(ChatColor.RED "[Auth] Please register!");
                
    p.sendMessage(ChatColor.RED "[Auth] /register [password]");
                
    CFAuthentication.cfg.setProperty("player." p.getName() + ".loggedin"false);
                
    CFAuthentication.cfg.save();
            }

            return;
        }

        public 
    void onPlayerChat(PlayerChatEvent e)
        {
            
    Player p e.getPlayer();
            if(
    CFAuthentication.cfg.getProperty("player." p.getName() + ".loggedin").equals(false))
            {
                
    e.setCancelled(true);
            }
            else
            {
                return;
            }
        }

       public 
    void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e)
        {
            
    Player p e.getPlayer();
            if(
    CFAuthentication.cfg.getProperty("player." p.getName() + ".loggedin").equals(false))
                (!
    cmd[0].equalsIgnoreCase("/register")) &&
                (!
    cmd[0].equalsIgnoreCase("/rs")) &&
                (!
    cmd[0].equalsIgnoreCase("/login")) &&
                (!
    cmd[0].equalsIgnoreCase("/lg")) &&

            {
                
    e.setCancelled(true);
            }
            else
            {
                return;
            }
        }

        public 
    void onPlayerMove(PlayerMoveEvent e)
        {
            
    Player p e.getPlayer();
            if(
    CFAuthentication.cfg.getProperty("player." p.getName() + ".loggedin").equals(false))
            {
                
    e.setCancelled(true);
            }
            else {
            return;
            }
        }

        public 
    void onPlayerQuit(PlayerQuitEvent e)
        {
            
    Player p e.getPlayer();
            
    CFAuthentication.cfg.setProperty("player." p.getName() + ".loggedin"false);
            return;
        }

    }
    Someone can help me with it ? :-|
     
  2. Offline

    tkausl

    Öhm...
    (!cmd[0].equalsIgnoreCase("/register"))
    cmd doesn't exist?!
     
    Adrenaline likes this.
  3. Offline

    Adrenaline

    yyy dont know, surely yes :|, any help ?

    My current modification:
    PHP:
        public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e) {
        {
            
    Player p e.getPlayer();
            if(
    CFAuthentication.cfg.getProperty("player." p.getName() + ".loggedin").equals(false))
            {
                
    equalsIgnoreCase("register");
                
    equalsIgnoreCase("login");
                
    equalsIgnoreCase("changepassword");
                
    e.setCancelled(true);
                
    e.getPlayer().sendMessage(ChatColor.RED "Error: Please login !.");
                
    e.getPlayer().sendMessage(ChatColor.RED "/login [password]");
            }
            else
            {
                return;
            }
        }
        }
    How to unlock /register, /login, /changepassword command ? :|
     
  4. Offline

    tkausl

    You have to get the Message and split it.

    Code:
    public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e)
        {
            Player p = e.getPlayer();
            String[] cmd = e.getMessage().split(" ");
            if(CFAuthentication.cfg.getProperty("player." + p.getName() + ".loggedin").equals(false))
                (!cmd[0].equalsIgnoreCase("/register")) &&
                (!cmd[0].equalsIgnoreCase("/rs")) &&
                (!cmd[0].equalsIgnoreCase("/login")) &&
                (!cmd[0].equalsIgnoreCase("/lg")) &&
    
            {
                e.setCancelled(true);
            }
            else
            {
                return;
            }
        }
    
     
    Adrenaline likes this.
  5. Offline

    Adrenaline

    I have this error at Eclipse:




    [​IMG]


    And this at server:
    [​IMG]
     
  6. Offline

    tkausl

    Oh, sorry.

    Code:
    public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent e)
        {
            Player p = e.getPlayer();
            String[] cmd = e.getMessage().split(" ");
            if(CFAuthentication.cfg.getProperty("player." + p.getName() + ".loggedin").equals(false) &&
                (!cmd[0].equalsIgnoreCase("/register")) &&
                (!cmd[0].equalsIgnoreCase("/rs")) &&
                (!cmd[0].equalsIgnoreCase("/login")) &&
                (!cmd[0].equalsIgnoreCase("/lg")))
    
            {
                e.setCancelled(true);
            }
            else
            {
                return;
            }
        }
     
    Adrenaline likes this.
  7. Offline

    Adrenaline

    WORK, i love you :-D

    Next issue... at my local server all working but at main server dont work it and dont know why.. cannot type any commands (no errors, no messages at chat)

    Any ideas ? ;/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 22, 2016
  8. Offline

    tkausl

    is the main-server an bukkit-server?
    Look into server-log, if the plugin is loaded.
     
    Adrenaline likes this.
  9. Offline

    Adrenaline

    DEV versions of WorldGuard & WorldEdit cause this problem.. any ideas ? D:
     
Thread Status:
Not open for further replies.

Share This Page