Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.ValoricalJ.partysystem;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerLoginEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.sql.*;
- /**
- * Created by jack.marshall on 10/11/2016.
- */
- public class PartySystem extends JavaPlugin implements Listener{
- public static Connection connection;
- public static PartySystem instance;
- public void onEnable(){
- instance = this;
- getServer().getPluginManager().registerEvents(this, this);
- }
- public void onDisable(){
- try {
- if (connection != null && connection.isClosed())
- connection.close();
- }catch (SQLException e){
- e.printStackTrace();
- }
- }
- public synchronized static void openConnection(){
- try {
- connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/RuseParty", "RuseParty", "YgcSttPGRpadNSPo");
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- public synchronized static void closeConnection(){
- try {
- connection.close();
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- public synchronized static boolean playerDataContainsPlayer(Player p){
- try {
- PreparedStatement sql = connection.prepareStatement("SELECT * FROM `party_data` WHERE leader=?;");
- sql.setString(1, p.getName());
- ResultSet resultSet = sql.executeQuery();
- boolean containsFaction = resultSet.next();
- sql.close();
- resultSet.close();
- return containsFaction;
- }catch (Exception e){
- e.printStackTrace();
- return false;
- }
- }
- public synchronized static boolean partyDataContainsPlayer(Player p){
- try {
- PreparedStatement sql = connection.prepareStatement("SELECT * FROM `party_data` WHERE members=?;");
- sql.setString(1, p.getName());
- ResultSet resultSet = sql.executeQuery();
- boolean containsFaction = resultSet.next();
- sql.close();
- resultSet.close();
- return containsFaction;
- }catch (Exception e){
- e.printStackTrace();
- return false;
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- Player p = (Player) sender;
- if(command.getName().equalsIgnoreCase("party")) {
- if (args.length == 1) {
- if (args[0].equalsIgnoreCase("create")) {
- openConnection();
- try {
- if (!(playerDataContainsPlayer(p))) {
- if(!partyDataContainsPlayer(p)) {
- PreparedStatement newParty = connection.prepareStatement("INSERT INTO `party_data` values(?, ?);");
- newParty.setString(1, p.getName());
- newParty.setString(2, p.getName());
- newParty.execute();
- newParty.close();
- p.sendMessage(ChatColor.AQUA + "You have created a party!");
- }else{
- p.sendMessage(ChatColor.RED + "You are already in a party!");
- }
- }else{
- p.sendMessage(ChatColor.RED + "You already own a party!");
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- closeConnection();
- }
- } else if (args[0].equalsIgnoreCase("disband")) {
- openConnection();
- try {
- PreparedStatement newParty = connection.prepareStatement("DELETE FROM `party_data` WHERE leader=?;");
- newParty.setString(1, p.getName());
- newParty.execute();
- newParty.close();
- p.sendMessage(ChatColor.RED + "Party disbanded.");
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- closeConnection();
- }
- }
- }else if(args.length == 2){
- if(args[0].equalsIgnoreCase("invite")){
- Player target = Bukkit.getPlayer(args[1]);
- if(playerDataContainsPlayer(p)) {
- if(partyDataContainsPlayer(target)) {
- if (target != null) {
- openConnection();
- try {
- PreparedStatement newParty = connection.prepareStatement("UPDATE `party_data` INSERT members=? WHERE leader=?;");
- newParty.setString(1, target.getName());
- newParty.setString(2, p.getName());
- newParty.execute();
- newParty.close();
- p.sendMessage(ChatColor.RED + "Party disbanded.");
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- closeConnection();
- }
- } else {
- p.sendMessage(ChatColor.RED + "Could not find player " + args[1]);
- }
- }else{
- p.sendMessage(ChatColor.RED + "This player is either already in your party, or is in another!");
- }
- }else{
- p.sendMessage(ChatColor.RED + "Please create a party to invite this person.");
- }
- }
- }
- }
- return super.onCommand(sender, command, label, args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement