Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.xlysander12.testes;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import me.xlysander12.testes.comandos.AtTopCommand;
- import me.xlysander12.testes.comandos.SetTopCommand;
- import me.xlysander12.testes.comandos.TopCommand;
- import me.xlysander12.testes.eventos.JoinEvent;
- import me.xlysander12.testes.eventos.PlayerKillEvent;
- import net.md_5.bungee.api.ChatColor;
- public class Main extends JavaPlugin implements Listener {
- public Connection connection;
- public String host, database, username, password, table;
- public int port;
- public ArrayList<String> map = new ArrayList<String>();
- public void onEnable() {
- loadConfig();
- setupMysql();
- loadEvents();
- loadCommands();
- Bukkit.getConsoleSender().sendMessage("\n\n§aTopKills Ativado!\n");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "top");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc remove all");
- loadEntities();
- }
- public void onDisable() {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc remove all");
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "MYSQL DISCONNECTED");
- }
- }
- private void setupMysql() {
- host = getConfig().getString("host");
- port = getConfig().getInt("port");
- database = getConfig().getString("database");
- username = getConfig().getString("username");
- password = getConfig().getString("password");
- table = getConfig().getString("table");
- try {
- openConnection();
- } catch (SQLException | ClassNotFoundException e) {
- e.printStackTrace();
- }
- try {
- synchronized (this) {
- if (connection != null && !connection.isClosed()) {
- return;
- }
- }
- // If No Open Connection Is Found
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
- Bukkit.broadcastMessage(ChatColor.GREEN + "MSQL CONNECTED");
- } catch(SQLException | ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- private void openConnection() throws SQLException, ClassNotFoundException{
- // Id Connection is Open, Stop Execution
- if (connection != null && !connection.isClosed()) {
- return;
- }
- synchronized (this) {
- if (connection != null && !connection.isClosed()) {
- return;
- }
- }
- // If No Open Connection Is Found
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
- }
- public void addKills(UUID uuid) {
- try {
- PreparedStatement getKills = connection.prepareStatement("SELECT * FROM " + table + " WHERE uuid='" + uuid.toString() + "'");
- ResultSet results = getKills.executeQuery();
- if (results.next()) {
- results.getInt("kills");
- PreparedStatement addKills = connection.prepareStatement("UPDATE " + table + " SET kills = " + (results.getInt("kills") + 1) + " WHERE uuid='" + uuid + "'");
- addKills.executeUpdate();
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void getTop(CommandSender player) {
- try {
- PreparedStatement order = connection.prepareStatement("SELECT * FROM " + table + " ORDER BY kills DESC LIMIT 3");
- ResultSet results = order.executeQuery();
- player.sendMessage(ChatColor.GREEN + "TOP 3:");
- map.clear();
- while (results.next()) {
- map.add(results.getString("name"));
- player.sendMessage(results.getString("name") + ": " + results.getInt("kills"));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void createPlayer(UUID uuid, Player player) {
- try {
- PreparedStatement tableCreate = connection.prepareStatement("CREATE TABLE IF NOT EXISTS " + table + "(uuid VARCHAR(36), name VARCHAR(60), kills INTEGER)");
- tableCreate.execute();
- PreparedStatement statement = connection.prepareStatement("SELECT * FROM " + table + " WHERE uuid=?");
- statement.setString(1, uuid.toString());
- ResultSet results = statement.executeQuery();
- if (!results.next()) {
- PreparedStatement insert = connection.prepareStatement("INSERT INTO " + table + "(UUID,NAME,KILLS) VALUE ('" + uuid.toString() + "', '" + player.getName() + "', " + "0)");
- insert.execute();
- getServer().broadcastMessage(ChatColor.GREEN + "Player Inserted");
- }
- Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "DATA INSERTED");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void loadConfig(){
- getConfig().options().copyDefaults(true);
- saveConfig();
- }
- public void loadEvents() {
- PluginManager pm = Bukkit.getPluginManager();
- pm.registerEvents(new PlayerKillEvent(), this);
- pm.registerEvents(new JoinEvent(), this);
- }
- public void loadCommands() {
- getCommand("top").setExecutor(new TopCommand());
- getCommand("settop").setExecutor(new SetTopCommand());
- getCommand("attop").setExecutor(new AtTopCommand());
- }
- public void loadEntities() {
- new BukkitRunnable() {
- @Override
- public void run() {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "top");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc remove all");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc create " + map.get(1) + " --at " + getConfig().getDouble("Locations.TOP1.X") + ":" + getConfig().getDouble("Locations.TOP1.Y") + ":" + getConfig().getDouble("Locations.TOP1.Z") + ":" + getConfig().getString("Locations.TOP1.World"));
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc lookclose");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc create " + map.get(2) + " --at " + getConfig().getDouble("Locations.TOP2.X") + ":" + getConfig().getDouble("Locations.TOP2.Y") + ":" + getConfig().getDouble("Locations.TOP2.Z") + ":" + getConfig().getString("Locations.TOP2.World"));
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc lookclose");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc create " + map.get(3) + " --at " + getConfig().getDouble("Locations.TOP3.X") + ":" + getConfig().getDouble("Locations.TOP3.Y") + ":" + getConfig().getDouble("Locations.TOP3.Z") + ":" + getConfig().getString("Locations.TOP3.World"));
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "npc lookclose");
- map.clear();
- }
- }.runTaskTimer(this, 0L, 3000L);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement