Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class MySQL {
- private final String host, database, user, password;
- private Connection con;
- public MySQL(String host, String database, String user, String password) {
- this.host= host;
- this.database= database;
- this.user= user;
- this.password= password;
- connect();
- }
- public void connect() {
- try {
- con = DriverManager.getConnection("jdbc:mysql://" + host+ ":3306/" + database+ "?autoReconnect=true", user, password);
- System.out.println("[Coins MySQL] The connection to MySQL is made!");
- } catch (SQLException e) {
- System.out.println("[Coins MySQL] The connection to MySQL couldn't be made! reason: " + e.getMessage());
- }
- }
- public void close() {
- try {
- if (con != null) {
- con.close();
- System.out.println("[MySQL] The connection to MySQL is ended successfully!");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public PreparedStatement prepareStatement(String qry) {
- PreparedStatement st = null;
- try {
- st = con.prepareStatement(qry);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return st;
- }
- public void update(PreparedStatement statement) {
- try {
- statement.executeUpdate();
- } catch (SQLException e) {
- connect();
- e.printStackTrace();
- }finally{
- try {
- statement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean hasConnection() {
- return con != null;
- }
- public ResultSet query(PreparedStatement statement) {
- try {
- return statement.executeQuery();
- } catch (SQLException e) {
- connect();
- e.printStackTrace();
- }
- return null;
- }
- }
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import org.bukkit.Bukkit;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import com.massivecraft.factions.event.FPlayerLeaveEvent;
- import com.massivecraft.factions.event.FactionCreateEvent;
- import com.massivecraft.factions.event.FactionDisbandEvent;
- import com.massivecraft.factions.event.FactionRenameEvent;
- import fr.forsties08.kryptonia.Kryptonia;
- public class Factions implements Listener {
- Kryptonia instance;
- public Factions(Kryptonia main) {
- instance = main;
- }
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
- public void whenPlayerCreateFaction(FactionCreateEvent event) {
- try {
- PreparedStatement statement = instance.database.prepareStatement("INSERT INTO factions(name, admin) VALUES(?, ?)");
- statement.setString(1, event.getFactionTag());
- statement.setString(2, event.getFPlayer().getName());
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
- public void whenPlayerRenameFaction(FactionRenameEvent event) {
- try {
- PreparedStatement statement = instance.database.prepareStatement("UPDATE factions SET name=? WHERE name=?");
- statement.setString(1, event.getFactionTag());
- statement.setString(2, event.getFaction().getTag());
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
- public void whenPlayerLeaveFaction(FPlayerLeaveEvent event) {
- if(event.getFaction().getFPlayers().size() == 1) {
- try {
- PreparedStatement statement = instance.database.prepareStatement("DELETE FROM factions WHERE name=?");
- Bukkit.getLogger().info(event.getFaction().getTag());
- statement.setString(1, event.getFaction().getTag());
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }else {
- try {
- PreparedStatement statement = instance.database.prepareStatement("UPDATE factions SET members=? WHERE name=?");
- statement.setString(1, event.getFaction().getFPlayers().toString());
- statement.setString(2, event.getFaction().getTag());
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
- public void whenPlayerDisbandFaction(FactionDisbandEvent event) {
- try {
- PreparedStatement statement = instance.database.prepareStatement("DELETE FROM factions WHERE name=?");
- statement.setString(1, event.getFaction().getTag());
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public void onEnable() {
- getServer().getPluginManager().registerEvents(new Factions(this), this);
- database = new MySQL("localhost", "kryptonia", "root", "");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement