Trow_Games

TGSalvarSenha

Jun 15th, 2016
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.81 KB | None | 0 0
  1. package me.trow.tgsalvarsenha;
  2.  
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.command.ConsoleCommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.PlayerJoinEvent;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16. public class Main extends JavaPlugin implements Listener{
  17.    
  18.     private static DB db=null;
  19.    
  20.     public void onEnable(){
  21.         ConsoleCommandSender b = Bukkit.getConsoleSender();
  22.         saveDefaultConfig();
  23.         //pl = this;
  24.         b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  25.         b.sendMessage("§3[TGSalvarSenha] §bAtivado...");
  26.         b.sendMessage("§3Criador: §bTrow");
  27.         b.sendMessage("§bAgradeco por usar meu(s) plugin(s)");
  28.         b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  29.         String host = getConfig().getString("MySQL.Host");
  30.         String database = getConfig().getString("MySQL.DB");
  31.         String user = getConfig().getString("MySQL.User");
  32.         String pass = getConfig().getString("MySQL.Pass");
  33.         db=DB.load(host, database, user, pass);
  34.         db.update("CREATE TABLE IF NOT EXISTS `tg_salvasenha` (`nome` varchar(25) not null,`ip` varchar(60) not null,`senha` varchar(60) not null);");
  35.         Bukkit.getPluginManager().registerEvents(this, this);
  36.     }
  37.    
  38.     public void onDisable(){
  39.         ConsoleCommandSender b = Bukkit.getConsoleSender();
  40.         b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  41.         b.sendMessage("§3[TGPlugin] §bDesativado...");
  42.         b.sendMessage("§3Criador: §bTrow");
  43.         b.sendMessage("§bAgradeco por usar meu(s) plugin(s)");
  44.         b.sendMessage("§6=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  45.     }
  46.    
  47.     public String getIP(String p){
  48.         if(!hasDado(p)) return "";
  49.         PreparedStatement ps=null;
  50.         try{
  51.             ps=db.getConnection().prepareStatement("SELECT * FROM `tg_salvasenha` WHERE nome=?;");
  52.             ps.setString(1, p);
  53.             ResultSet rs = ps.executeQuery();
  54.             while(rs.next()){
  55.                 return rs.getString("ip");
  56.             }
  57.         }catch (Exception e){}
  58.         finally{
  59.             try{
  60.                 ps.close();
  61.             }catch (Exception e){}
  62.         }
  63.         return "";
  64.     }
  65.    
  66.     public String getSenha(String p){
  67.         if(!hasDado(p)) return "";
  68.         PreparedStatement ps=null;
  69.         try{
  70.             ps=db.getConnection().prepareStatement("SELECT * FROM `tg_salvasenha` WHERE nome=?;");
  71.             ps.setString(1, p);
  72.             ResultSet rs = ps.executeQuery();
  73.             while(rs.next()){
  74.                 return rs.getString("senha");
  75.             }
  76.         }catch (Exception e){}
  77.         finally{
  78.             try{
  79.                 ps.close();
  80.             }catch (Exception e){}
  81.         }
  82.         return "";
  83.     }
  84.    
  85.     public boolean hasDado(String p){
  86.         PreparedStatement ps=null;
  87.         try{
  88.             ps=db.getConnection().prepareStatement("SELECT * FROM `tg_salvasenha` WHERE nome=?;");
  89.             ps.setString(1, p);
  90.             ResultSet rs = ps.executeQuery();
  91.             while(rs.next()){
  92.                 return true;
  93.             }
  94.         }catch (Exception e){}
  95.         finally{
  96.             try{
  97.                 ps.close();
  98.             }catch (Exception e){}
  99.         }
  100.         return false;
  101.     }
  102.    
  103.     public void setDado(Player p,String pas){
  104.         PreparedStatement ps = null;
  105.         try{
  106.             if(!hasDado(p.getName())){
  107.                 ps=db.getConnection().prepareStatement("INSERT INTO `tg_salvasenha` (`nome`,`ip`,`senha`) VALUES (?,?,?);");
  108.                 ps.setString(1, p.getName());
  109.                 ps.setString(2, p.getAddress().getHostName());
  110.                 ps.setString(3, pas);
  111.                 ps.executeUpdate();
  112.             }else{
  113.                 ps=db.getConnection().prepareStatement("UPDATE `tg_salvasenha` SET ip=?,senha=? WHERE nome=?;");
  114.                 ps.setString(1, p.getAddress().getHostName());
  115.                 ps.setString(2, pas);
  116.                 ps.setString(3, p.getName());
  117.                 ps.executeUpdate();
  118.             }
  119.         }catch (Exception e){}
  120.         finally{
  121.             try{
  122.                 ps.close();
  123.             }catch (Exception e){}
  124.         }
  125.     }
  126.    
  127.     @EventHandler
  128.     public void entrar(PlayerJoinEvent e){
  129.         final Player p = e.getPlayer();
  130.         String ip = p.getAddress().getHostName();
  131.         String ips = getIP(p.getName());
  132.         if(ips.equalsIgnoreCase("")||ips==null) return;
  133.         if(ip.equalsIgnoreCase(ips)){
  134.             final String pass=getSenha(p.getName());
  135.             if(pass.equalsIgnoreCase("")||pass==null){
  136.                 p.sendMessage("§cPassword nao definida, portanto nao e possivel fazer login automatico!");
  137.                 return;
  138.             }
  139.             Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
  140.                 public void run() {
  141.                     p.chat("/login "+pass);
  142.                 }
  143.             },5*20);
  144.         }
  145.     }
  146.    
  147.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  148.         if(!(sender instanceof Player)){
  149.             sender.sendMessage("§cUse este comando in-game.");
  150.             return true;
  151.         }
  152.         Player p = (Player)sender;
  153.         if(label.equalsIgnoreCase("salvarsenha")){
  154.             if(args.length==0){
  155.                 p.sendMessage("§cUse: §a/salvarsenha §6<Senha>§c.");
  156.                 return true;
  157.             }
  158.             String s = args[0];
  159.             setDado(p, s);
  160.             p.sendMessage("§3[Login Automatico] §bSenha §a"+s+"§b, foi salva com sucesso.");
  161.         }
  162.         return false;
  163.     }
  164.    
  165. }
Advertisement
Add Comment
Please, Sign In to add comment