Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.luckylemon.stats;
- import de.luckylemon.stats.listener.JoinQuitListener;
- import de.luckylemon.stats.utils.Cfg;
- import de.luckylemon.stats.utils.User;
- import de.luckylemon.stats.utils.mysql.MySQLManager;
- import de.luckylemon.stats.utils.mysql.MySQLStats;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.UUID;
- /**
- * Created by Jan (Lorenz) on 20.02.2016.
- */
- public class Main extends JavaPlugin implements StatsAPI {
- private static Map<UUID, User> users = new HashMap<>();
- public static String host;
- public static String port;
- public static String user;
- public static String password;
- public static String database;
- public static String table;
- public MySQLManager manager;
- public MySQLStats stats;
- public static boolean disable;
- public MySQLManager getMySQL() {
- return manager;
- }
- public MySQLStats getStats() {
- return stats;
- }
- @Override
- public void onEnable() {
- disable = false;
- load();
- manager = new MySQLManager();
- stats = new MySQLStats();
- manager.connect();
- for (Player all : Bukkit.getOnlinePlayers()) {
- join(all);
- }
- Bukkit.getPluginManager().registerEvents(new JoinQuitListener(), this);
- }
- private void load() {
- Cfg cfg = new Cfg("plugins/Stats/MySQLConfig.yml");
- if (!cfg.exist()) {
- cfg.putString("host", "host");
- cfg.putString("port", "3306");
- cfg.putString("user", "root");
- cfg.putString("password", "password");
- cfg.putString("database", "database");
- cfg.putString("table", "table");
- cfg.save();
- for (int i = 0; i < 10; i++) {
- System.err.println("MySQL Configuration not enabled");
- }
- Bukkit.shutdown();
- return;
- }
- cfg.load();
- host = cfg.getString("host");
- port = cfg.getString("port");
- user = cfg.getString("user");
- password = cfg.getString("password");
- database = cfg.getString("database");
- table = cfg.getString("table");
- }
- @Override
- public void onDisable() {
- disable = true;
- for (Player all : Bukkit.getOnlinePlayers()) {
- quit(all);
- }
- manager.disconnect();
- }
- public static void quit(Player p) {
- User user = getUser(p.getUniqueId());
- user.save();
- users.remove(p.getUniqueId());
- }
- public static void join(Player p) {
- async(() -> {
- User user1 = new User(p.getUniqueId(), true, p.getName());
- user1.load();
- users.put(p.getUniqueId(), user1);
- });
- }
- public static User getUser(UUID uuid) {
- if (users.containsKey(uuid)) {
- return users.get(uuid);
- }
- User user = new User(uuid, false);
- users.put(uuid, user);
- user.load();
- return user;
- }
- public static Main getInstance() {
- return Main.getPlugin(Main.class);
- }
- public static void async(Runnable runnable) {
- if (disable) {
- runnable.run(); // Ist besser.. :)
- // Bukkit.getScheduler().runTask(getInstance(), runnable);
- } else {
- Bukkit.getScheduler().runTaskAsynchronously(getInstance(), runnable);
- }
- }
- public static int getKills(UUID uuid) {
- return getUser(uuid).getKills();
- }
- public static int getDeaths(UUID uuid) {
- return getUser(uuid).getDeaths();
- }
- public static int getCubes(UUID uuid) {
- return getUser(uuid).getCubes();
- }
- public static void setKills(UUID uuid, int i) {
- if (i < 0) {
- throw new IllegalArgumentException("value cannot be lower than 0");
- }
- getUser(uuid).setKills(i);
- }
- public static void setDeaths(UUID uuid, int i) {
- if (i < 0) {
- throw new IllegalArgumentException("value cannot be lower than 0");
- }
- getUser(uuid).setDeaths(i);
- }
- public static void setCubes(UUID uuid, int i) {
- if (i < 0) {
- throw new IllegalArgumentException("value cannot be lower than 0");
- }
- getUser(uuid).setCubes(i);
- }
- public static void debug(String text) {
- System.err.println(text);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement