Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.Technick.SkyPvP.Data;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.SkullType;
- import org.bukkit.block.BlockState;
- import org.bukkit.block.Sign;
- import org.bukkit.block.Skull;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.conversations.PlayerNamePrompt;
- import org.bukkit.entity.Player;
- public class StatsSQL {
- public static boolean exists(String playername) {
- ResultSet rs = MySQL.getResult("SELECT * FROM SkyPvPStats WHERE UUID='"
- + getUUID(playername) + "'");
- try {
- if (rs.next()) {
- return true;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- public static void createPlayer(String playername) {
- if (!exists(playername)) {
- MySQL.update(
- "INSERT INTO SkyPvPStats (Playername, UUID, Kills, Deaths, Points) VALUES ('"
- + playername + "', '" + getUUID(playername) + "', '0', '0', '0')");
- }
- }
- public static int getKills(String playername) {
- if (exists(playername)) {
- ResultSet rs = MySQL
- .getResult("SELECT Kills FROM SkyPvPStats WHERE UUID = '"
- + getUUID(playername) + "'");
- try {
- if (rs.next()) {
- return rs.getInt("Kills");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return 0;
- }
- public static int getDeaths(String playername) {
- if (exists(playername)) {
- ResultSet rs = MySQL
- .getResult("SELECT Deaths FROM SkyPvPStats WHERE UUID = '" + getUUID(playername) + "'");
- try {
- if (rs.next()) {
- return rs.getInt("Deaths");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return 0;
- }
- public static int getPoints(String playername) {
- if (exists(playername)) {
- ResultSet rs = MySQL
- .getResult("SELECT Points FROM SkyPvPStats WHERE UUID = '"
- + getUUID(playername) + "'");
- try {
- if (rs.next()) {
- return rs.getInt("Points");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return 100;
- }
- public static void addKills(String playername, int amount) {
- if (exists(playername)) {
- int Kills = getKills(playername) + amount;
- MySQL.update("UPDATE SkyPvPStats SET Kills = '" + Kills + "' WHERE UUID = '" + getUUID(playername) + "'");
- }
- }
- public static void addDeaths(String playername, int amount) {
- if (exists(playername)) {
- int Deaths = getDeaths(playername) + amount;
- MySQL.update("UPDATE SkyPvPStats SET Deaths = '" + Deaths + "' WHERE UUID = '" + getUUID(playername) + "'");
- }
- }
- public static void addPoints(String playername, int amount) {
- if (exists(playername)) {
- int Points = getPoints(playername) + amount;
- if (Points < 0) {
- Points = 0;
- }
- MySQL.update("UPDATE SkyPvPStats SET Points = '" + Points + "' WHERE UUID = '" + getUUID(playername) + "'");
- }
- }
- public static void removePoints(String playername, int amount) {
- if (exists(playername)) {
- int Points = getPoints(playername) - amount;
- if (Points < 0) {
- Points = 0;
- }
- MySQL.update("UPDATE SkyPvPStats SET Points = '" + Points + "' WHERE UUID = '" + getUUID(playername) + "'");
- }
- }
- public static ArrayList<String> getTopPlayers() {
- @SuppressWarnings({ "rawtypes", "unchecked" })
- ArrayList<String> top = new ArrayList();
- ResultSet rs = MySQL.getResult("SELECT * FROM SkyPvPStats ORDER BY Points DESC LIMIT 5");
- try {
- while (rs.next()) {
- top.add(rs.getString("Playername"));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return top;
- }
- public static double round(double einheit, int dezimalzahl) {
- double p = Math.pow(10.0D, dezimalzahl);
- return Math.round(einheit * p) / p;
- }
- public static float getKD(String playername) {
- float kills = (float) getKills(playername);
- float tode = (float) getDeaths(playername);
- if ((kills == (float) 0.0F) && (tode == 0.0F)) {
- return 0.0F;
- }
- if ((kills > 0.0F) && (tode == 0.0F)) {
- return kills;
- }
- if ((tode > 0.0F) && (kills == 0.0F)) {
- return 0.0F;
- }
- if (kills / tode > 0.0001D) {
- Math.round(0.1D);
- return (float) round(kills / tode, 3);
- }
- if (kills > tode) {
- return kills / tode;
- }
- if (tode / kills > 0.0001D) {
- Math.round(0.1D);
- return (float) round(tode / kills, 3);
- }
- if (tode > kills) {
- return tode / kills;
- }
- return kills / tode;
- }
- static HashMap<String, Long> RankingCooldown = new HashMap<String, Long>();
- static HashMap<String, Integer> Ranking = new HashMap<String, Integer>();
- public static int getRanking(String playername) {
- if (Ranking.containsKey(playername)) {
- Long current = System.currentTimeMillis();
- Long end = RankingCooldown.get(playername);
- if (end > current) {
- return Ranking.get(playername);
- } else {
- RankingCooldown.put(playername,
- System.currentTimeMillis() + 30000);
- ResultSet rs = MySQL .getResult("SELECT * FROM SkyPvPStats ORDER BY Points desc");
- int i = 0;
- try {
- while (rs.next()) {
- i++;
- if (rs.getString("Playername").equalsIgnoreCase(
- playername)) {
- Ranking.put(playername, i);
- return i;
- }
- }
- } catch (SQLException e) {
- }
- }
- } else {
- RankingCooldown.put(playername, System.currentTimeMillis() + 30000);
- ResultSet rs = MySQL.getResult("SELECT * FROM SkyPvPStats ORDER BY Points desc");
- int i = 0;
- try {
- while (rs.next()) {
- i++;
- if (rs.getString("Playername").equalsIgnoreCase(playername)) {
- Ranking.put(playername, i);
- return i;
- }
- }
- } catch (SQLException e) {
- }
- }
- return 0;
- }
- static HashMap<Integer, String> rang = new HashMap<>();
- public static void getTop5(Player p){
- ResultSet rs = MySQL.getResult("SELECT UUID FROM SkyPvPStats ORDER BY Points DESC LIMIT 5");
- int i = 0;
- try {
- while(rs.next()) {
- i++;
- try {
- rang.put(i, rs.getString("UUID"));
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- String name = Bukkit.getOfflinePlayer(UUID.fromString(rang.get(i +1))).getName();
- p.sendMessage("§cPlatz §c" + i + 1+ " §8- §6" + name);
- }
- // static HashMap<Integer, String> ranking = new HashMap<>();
- //
- // public static void setTopKills() {
- // ResultSet rs = MySQL.getResult("SELECT UUID FROM SkyPvPStats ORDER BY Points DESC LIMIT 5");
- // int i = 0;
- //
- // try {
- // while(rs.next()) {
- // i++;
- // ranking.put(i, rs.getString("UUID"));
- // }
- // } catch (SQLException e) {
- // e.printStackTrace();
- // }
- //
- // FileConfiguration cfg = MySQL.getFileConfiguration();
- //
- // Location loc1 = new Location(Bukkit.getWorld("world"), 12, 152, 6);
- // Location loc2 = new Location(Bukkit.getWorld("world"), 13, 152, 6);
- // Location loc3 = new Location(Bukkit.getWorld("world"), 14, 152, 6);
- // Location loc4 = new Location(Bukkit.getWorld("world"), 15, 152, 6);
- // Location loc5 = new Location(Bukkit.getWorld("world"), 16, 152, 6);
- //
- // List<Location> LOC = new ArrayList<>();
- // LOC.add(loc1);
- // LOC.add(loc2);
- // LOC.add(loc3);
- // LOC.add(loc4);
- // LOC.add(loc5);
- //
- // for(int a = 0; a < LOC.size(); a++) {
- // int id = i;
- //
- // LOC.get(i).getBlock().setType(Material.SKULL);
- // Skull s = (Skull) LOC.get(i).getBlock().getState();
- // s.setSkullType(SkullType.PLAYER);
- // String name = Bukkit.getOfflinePlayer(UUID.fromString(ranking.get(i))).getName();
- //
- // s.setOwner(name);
- // s.update();
- //
- // Location newloc = new Location(LOC.get(i).getWorld(), LOC.get(i).getX(), LOC.get(i).getY() -1, LOC.get(i).getZ());
- //
- // if(newloc.getBlock().getState() instanceof Sign) {
- // BlockState b = newloc.getBlock().getState();
- // Sign S = (Sign) b;
- // S.setLine(0, "§6Platz #§e" + id + 1);
- // S.setLine(1, name);
- // S.setLine(2, "");
- // S.setLine(3, "§e" + StatsSQL.getPoints(ranking.get(id)) + " §cPunkte");
- // }
- // }
- //
- // }
- private static String getUUID(String playername) {
- return Bukkit.getOfflinePlayer(playername).getUniqueId().toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement