Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.foxgenesis.powerpoints.io;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.bukkit.entity.Player;
- import net.foxgenesis.sql.DataBaseAPI;
- public class PPData {
- private DataBaseAPI api;
- private String host = "contrivancenetwork.com";
- private String password = "P@ssw0rd";
- private String db = "pp";
- private String user = "root";
- private String table = "powerpoints";
- private int port = 3306;
- public PPData(String host, int port, String user, String password, String database, String table) {
- this.host = host;
- this.password = password;
- this.port = port;
- this.user = user;
- this.table = table;
- this.db = database;
- }
- /**
- * starts the connection with the SQL database
- */
- public void init() {
- api = new DataBaseAPI(host,user,password,db,port);
- api.connect();
- if(api.isConnected() && !api.hasTable(table))
- api.execute("CREATE TABLE " + table + "("
- + "player varchar(255) NOT NULL,"
- + "currency integer,"
- + "vip integer(1),"
- + "PRIMARY KEY (player)"
- + ");");
- }
- private boolean c() {
- if(!api.isConnected()) {
- System.err.println("Not connected to SQL!");
- return false;
- }
- return true;
- }
- /**
- * closes the connection with the SQl database
- */
- public void dispose() {
- api.closeConnection();
- }
- /**
- * creates first time data for a player in the SQL database
- * @param p player name
- * @param string VIP status
- */
- public void createInitData(Player p, boolean vip) {
- if(c())
- api.excecuteUpdate(String.format("INSERT INTO %s (player, currency, vip) VALUES ('%s', '%s', '%s');",table, p.getUniqueId().toString(), 0, vip?1:0));
- }
- /**
- * updates a players VIP state in the SQL database
- * @param player player name
- * @param vip state to set VIP to
- */
- public void setVIP(Player p, boolean vip) {
- if(c())
- api.excecuteUpdate(String.format("UPDATE %s SET vip='%s' WHERE player='%s';",table,vip?1:0,p.getUniqueId().toString()));
- }
- /**
- * updates a players power points in the SQL database
- * @param player player name
- * @param money amount of power points
- */
- public void setPP(Player p, int money) {
- if(c())
- api.excecuteUpdate(String.format("UPDATE %s SET currency='%s' WHERE player='%s';",table,money,p.getUniqueId().toString()));
- }
- public Object[] getPlayerData(Player player) {
- if(c())
- try {
- ResultSet s = api.excecuteQuery(String.format("SELECT * FROM %s WHERE player='%s';",table,player.getUniqueId().toString()));
- if(s != null && s.first()) {
- Object[] output = new Object[]{s.getInt("currency"),s.getInt("vip")==1};
- s.getStatement().close();
- return output;
- }
- s.getStatement().close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * Check if the database contains player information
- * @param player - player to check
- * @return if the database has player data
- */
- public boolean hasPlayer(Player player) {
- if(c())
- try {
- ResultSet s = api.excecuteQuery(String.format("SELECT player FROM %s WHERE player='%s';",table,player.getUniqueId().toString()));
- if(s != null)
- return s.next();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- /**
- * checks the SQL database to get the power points of a player
- * @param player player name
- * @return Integer power points
- */
- public int getPP(Player p) {
- if(c())
- try {
- ResultSet d = api.excecuteQuery(String.format("SELECT currency FROM %s WHERE player='%s';",table,p.getUniqueId().toString()));
- if(d.first()) {
- int a = d.getInt("currency");
- d.getStatement().close();
- return a;
- }
- d.getStatement().close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return 0;
- }
- /**
- * checks the SQL database to see if a player is a VIP
- * @param player player name
- * @return Boolean true if player is a VIP
- */
- public boolean isVIP(Player p) {
- if(c())
- try {
- ResultSet d = api.excecuteQuery(String.format("SELECT vip FROM %s WHERE player='%s';",table,p.getUniqueId().toString()));
- if(d.first())
- return d.getInt("vip")==1;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- }
Add Comment
Please, Sign In to add comment