Advertisement
MISTERVODKA

Untitled

Sep 3rd, 2018
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.77 KB | None | 0 0
  1. package TopKills;
  2.  
  3. import java.io.File;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9.  
  10. import org.bukkit.plugin.Plugin;
  11.  
  12. import com.gmail.filoghost.holographicdisplays.api.Hologram;
  13.  
  14. public class Database {
  15.     private String url;
  16.     private Plugin p;
  17.     public Database(Plugin p) throws Exception {
  18.         this.p = p;
  19.         url = "jdbc:sqlite:"+p.getDataFolder()+File.separator+"database.db";
  20.         Class.forName("org.sqlite.JDBC").newInstance();
  21.         Connection c = getConnection();
  22.         Statement s = c.createStatement();
  23.         s.executeUpdate("CREATE TABLE IF NOT EXISTS top (`nickname` TEXT, `kills` INTEGER);");
  24.         s.close();
  25.         c.close();
  26.     }
  27.    
  28.     private Connection getConnection() throws SQLException {
  29.         return DriverManager.getConnection(url);
  30.     }
  31.    
  32.     public void updateData(String nick) {
  33.         try {
  34.             Connection c = getConnection();
  35.             Statement s = c.createStatement();
  36.             ResultSet r = s.executeQuery("SELECT * FROM top");
  37.             int kills=0;
  38.             while(r.next()) {
  39.                 String str = r.getString(1);
  40.                 if(str.equalsIgnoreCase(nick)) {
  41.                     kills = r.getInt(2);
  42.                     break;
  43.                 }
  44.             }
  45.             s.executeUpdate(String.format("UPDATE top SET `kills`='%d' WHERE `nickname`='%s';", kills+1, nick));
  46.             r.close();
  47.             s.close();
  48.             c.close();
  49.         } catch (SQLException e) {
  50.             e.printStackTrace();
  51.         }
  52.     }
  53.    
  54.     public void addData(String nick) {
  55.         try {
  56.             Connection c = getConnection();
  57.             Statement s = c.createStatement();
  58.             ResultSet r = s.executeQuery("SELECT * FROM top");
  59.             Boolean contains = false;
  60.             while(r.next()) {
  61.                 String str = r.getString(1);
  62.                 if(str.equalsIgnoreCase(nick)) {
  63.                     contains = true;
  64.                     break;
  65.                 }
  66.             }
  67.             if(!contains) {
  68.                 s.executeUpdate(String.format("INSERT INTO top VALUES ('%s','%d')", nick, 0));
  69.                 r.close();
  70.                 s.close();
  71.                 c.close();
  72.             }
  73.         } catch (SQLException e) {
  74.             e.printStackTrace();
  75.         }
  76.     }
  77.  
  78.     public void getData(Hologram h){
  79.         try {
  80.             Connection c = getConnection();
  81.             Statement s = c.createStatement();
  82.            
  83.             h.clearLines();
  84.            
  85.             ResultSet r = s.executeQuery("SELECT * FROM top ORDER BY kills DESC, nickname ASC;");
  86.             int i=1;
  87.             while(r.next()) {
  88.                
  89.                 h.insertTextLine(i-1,
  90.                         replaceHolo(p.getConfig().getString("Messages.Hologram"),
  91.                                 Integer.toString(i),
  92.                                 r.getString(1),
  93.                                 Integer.toString(r.getInt(2)
  94.                 )));
  95.                 i++;
  96.             }
  97.            
  98.             r.close();
  99.             s.close();
  100.             c.close();
  101.         } catch (SQLException e) {
  102.             e.printStackTrace();
  103.         }
  104.     }
  105.    
  106.     private String replaceHolo (String str, String first, String second, String third) {
  107.         str = str
  108.         .replace("&", "ยง")
  109.         .replace("%i%", first)
  110.         .replace("%nickname%", second)
  111.         .replace("%kills%", third);
  112.         return str;
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement