Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.relisoft.plugin;
- import java.sql.Date;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Calendar;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.logging.Level;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.World;
- import org.bukkit.block.Block;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.permissions.PermissionAttachment;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Score;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- import org.fusesource.jansi.Ansi.Color;
- import cz.relisoft.mysql.CustomConnection;
- import cz.relisoft.plugin.SQLModels.ResultCallback;
- import cz.relisoft.plugin.models.Vip.VipType;
- import net.md_5.bungee.api.ChatColor;
- public class Main extends JavaPlugin implements Listener {
- private CustomConnection customConnection;
- private SQLModels sqlModels;
- public FileConfiguration config = this.getConfig();
- private Map<Player,Integer> dbIdMap = new HashMap<>();
- private Map<Player,ResultSet> playerDb = new HashMap<>();
- private Map<Player,PermissionAttachment> playerAttachment = new HashMap<>();
- @Override
- public void onEnable() {
- Bukkit.getPluginManager().registerEvents(this, this);
- this.customConnection = new CustomConnection(this);
- this.sqlModels = new SQLModels(this);
- boolean failed = false;
- try {
- this.customConnection.connect();
- this.sqlModels.createTables();
- // Check configuration for
- FileConfiguration config = this.getConfig();
- config.addDefault("onlyOneSpawn", false);
- config.addDefault("spawnWorld", "world");
- config.options().copyDefaults(true);
- this.saveConfig();
- //Try to re-contain data for player
- for (this.:
- ){
- }
- }catch (ClassNotFoundException e) {
- failed = true;
- this.getLogger().log(Level.SEVERE,"Failed to load MySQL extension!");
- }catch (SQLException e) {
- failed = true;
- this.getLogger().log(Level.SEVERE,"Failed to execute SQL statement (Cannot connect to database)!");
- }catch (Exception e) {
- failed = true;
- this.getLogger().log(Level.SEVERE,"Something went wrong! "+e.getMessage());
- e.printStackTrace();
- }finally {
- if(failed) {
- this.getLogger().log(Level.ALL, "Error occures! Disabling plugin!");
- Bukkit.getPluginManager().disablePlugin(this);
- }else {
- this.getLogger().log(Level.ALL, "Plugin successfully loaded!");
- }
- }
- }
- @Override
- public void onDisable() {
- try {
- this.customConnection.close();
- }catch (SQLException e) {
- this.getLogger().log(Level.SEVERE,"Something went wrong! "+e.getMessage());
- }
- }
- @Override
- public boolean onCommand(CommandSender sender,
- Command cmd,
- String label,
- String[] args
- ) {
- Player player = null;
- if(sender instanceof Player) {
- player = (Player) sender;
- }
- if(cmd.getName().equalsIgnoreCase("home")) {
- if(this.playerDb.containsKey(player)) {
- try {
- ResultSet set = this.playerDb.get(player);
- Float x = set.getFloat("home_x");
- Float y = set.getFloat("home_y");
- Float z = set.getFloat("home_z");
- if(x == null || x == 0 || y == null || y == 0 || z == null || z == 0) {
- player.sendMessage(ChatColor.RED+"Momentalne si bezdomovec, pro pouziti tohoto prikazu pouzij /sethome.");
- return true;
- }else {
- String world = set.getString("world");
- World portWorld = null;
- if(world == null || world == "") {
- portWorld = player.getWorld();
- }else {
- portWorld = Bukkit.getWorld(world);
- if(!(portWorld instanceof World))
- portWorld = player.getWorld();
- }
- Location loc = new Location(portWorld, x, y, z);
- player.teleport(loc);
- player.sendMessage(ChatColor.GREEN+"Vitej doma! Home sweet home...");
- return true;
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- return true;
- }
- }else {
- this.getLogger().log(Level.SEVERE, "Wrong user! Player "+player.getName()+" has no database information!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("sethome")) {
- if(this.playerDb.containsKey(player)) {
- try {
- Location loc = player.getLocation();
- this.sqlModels.createUpdateQuerySync(this.sqlModels.playerModel.updateHome(loc.getX(), loc.getY(), loc.getZ(), this.dbIdMap.get(player),player.getWorld().getName()));
- ResultSet res = this.sqlModels.createSelectQuerySync(this.sqlModels.playerModel.getOnePlayerById(this.dbIdMap.get(player)));
- if(res.next()) {
- this.playerDb.replace(player, res);
- player.sendMessage(ChatColor.GREEN+"Gratuluji ti! Ud�lal si prvn� krok k �sp�n�mu �ivotu minecraf��ka! (D�le m��e� pou��t /home k n�vratu na tuto pozici.)");
- }else {
- player.sendMessage(ChatColor.RED+"Cant update your database informations!.");
- }
- return true;
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- return true;
- }
- }else {
- this.getLogger().log(Level.SEVERE, "Wrong user! Player "+player.getName()+" has no database information!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("setwarp")) {
- if(args.length != 1) {
- player.sendMessage(ChatColor.BLUE+"/setwarp [name]");
- return true;
- }
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getOneByName(args[0].toString()));
- if(result.next()) {
- player.sendMessage(ChatColor.RED+"Warp s t�mto jm�nem ji� existuje pros�m pou�ij jm�no jin�!");
- return true;
- }else {
- Location loc = player.getLocation();
- this.sqlModels.createUpdateQuerySync(this.sqlModels.warpModel.insertOne(loc.getX(), loc.getY(), loc.getZ(), args[0].toString(),player.getWorld().getName()));
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi vytvo�il warp "+args[0].toString()+"!");
- return true;
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("warp")) {
- if(args.length > 1) {
- player.sendMessage(ChatColor.BLUE+"/warp [name]");
- return true;
- }
- if(args.length == 0) {
- try {
- ResultSet res = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getDataQuery());
- List<String> warps = null;
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD+"Warp list:");
- player.sendMessage("");
- while(res.next()) {
- player.sendMessage(ChatColor.WHITE+"-"+res.getString("name"));
- }
- return true;
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- return true;
- }
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getOneByName(args[0].toString()));
- if(result.next()) {
- Location loc = new Location(Bukkit.getWorld(result.getString("world")), result.getFloat("x"), result.getFloat("y"), result.getFloat("z"));
- player.teleport(loc);
- player.sendMessage(ChatColor.GREEN+"Byl si p�epraven pomoc� TARDIS na m�sto zvan� "+args[0].toString()+"!");
- }else {
- player.sendMessage(ChatColor.RED+"Tento warp neexistuje pro v�pis v�ech dostupn�ch mo�nost� napi� /warps");
- return true;
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- }
- if(cmd.getName().equalsIgnoreCase("warps")) {
- try {
- ResultSet res = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getDataQuery());
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD+"Warp list:");
- player.sendMessage("");
- while(res.next()) {
- player.sendMessage(ChatColor.WHITE+"-"+res.getString("name"));
- }
- return true;
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("delwarp")) {
- if(args.length != 1) {
- player.sendMessage(ChatColor.BLUE+"/delwarp [name]");
- return true;
- }
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getOneByName(args[0].toString()));
- if(result.next()) {
- this.sqlModels.createUpdateQuerySync(this.sqlModels.warpModel.deleteOne(result.getInt("id_warp")));
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi vymazal warp "+args[0].toString()+"!");
- }else {
- player.sendMessage(ChatColor.RED+"Tento warp neexistuje pros�m zjisti si co chce� vlastn� mazat...");
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("locwarp")) {
- if(args.length != 1) {
- player.sendMessage(ChatColor.BLUE+"/locwarp [name]");
- return true;
- }
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.warpModel.getOneByName(args[0].toString()));
- if(result.next()) {
- Location loc = player.getLocation();
- this.sqlModels.createUpdateQuerySync(this.sqlModels.warpModel.updateOne(loc.getX(), loc.getY(), loc.getZ(), result.getInt("id"),player.getWorld().getName()));
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi p�enastavil v�choz� pozici warpu "+args[0].toString()+"!");
- }else {
- player.sendMessage(ChatColor.RED+"Tento warp neexistuje pros�m zjisti si co chce� nastavit!");
- return true;
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, e.getMessage());
- }
- }
- if(cmd.getName().equalsIgnoreCase("setspawn")) {
- try {
- this.sqlModels.createUpdateQuerySync(this.sqlModels.spawns.removeOld(player.getWorld().getName()));
- Location loc = player.getLocation();
- this.sqlModels.createUpdateQuerySync(this.sqlModels.spawns.insertSpawn(loc.getX(), loc.getY(), loc.getZ(), loc.getPitch(), loc.getYaw(),player.getWorld().getName()));
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi nastavil spawn! Si fakt cool chlap�k!");
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE,e.getMessage());
- player.sendMessage(ChatColor.RED+"Nem��u nastavit spawn! Pro v�ce informac� zavolej milovan�ho developera :)");
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("spawn")) {
- try {
- if(this.getConfig().getBoolean("onlyOneSpawn")) {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.spawns.getByWorld(this.getConfig().getString("spawnWorld")));
- if(result.next()) {
- Location loc = new Location(Bukkit.getWorld(result.getString("world")), result.getFloat("x"), result.getFloat("y"), result.getFloat("z"));
- loc.setPitch(result.getFloat("pitch"));
- loc.setYaw(result.getFloat("yaw"));
- player.teleport(loc);
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi se p�esunul v prostoru :O");
- }else {
- player.sendMessage(ChatColor.RED+"Nem��u naj�t v datab�zi spawn :( Kontaktujte administr�tory!");
- }
- }else {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.spawns.getByWorld(player.getWorld().getName()));
- if(result.next()) {
- Location loc = new Location(Bukkit.getWorld(result.getString("world")), result.getFloat("x"), result.getFloat("y"), result.getFloat("z"));
- loc.setPitch(result.getFloat("pitch"));
- loc.setYaw(result.getFloat("yaw"));
- player.teleport(loc);
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi se p�esunul v prostoru :O");
- }else {
- player.sendMessage(ChatColor.RED+"Nem��u naj�t v datab�zi spawn :( Kontaktujte administr�tory!");
- }
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE,e.getMessage());
- player.sendMessage(ChatColor.RED+"Nem��u portovat na spawn! Pro v�ce informac� zavolej milovan�ho developera :)");
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("amibetter")) {
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.vipModel.getByPlayerActiveOnly(this.dbIdMap.get(player)));
- if(result.next()) {
- result.beforeFirst();
- while(result.next()) {
- switch (result.getString("type")) {
- case "iron":
- player.sendMessage(ChatColor.DARK_GRAY+"[IRON] Jsi n� dobr� kamar�d a m� r�d z�kladn� v�hody! Expirace: "+result.getDate("expire_at").toString());
- break;
- case "gold":
- player.sendMessage(ChatColor.GOLD+"[GOLD] Za�ala l�ska... Pokud m� neopust� nikdy ti nezahnu s jin�m! Expirace: "+result.getDate("expire_at").toString());
- break;
- case "dia":
- player.sendMessage(ChatColor.DARK_AQUA+"[DIA] Ka�d� miluje zlatokopky a nikdo v�c ne� ty! Expirace: "+result.getDate("expire_at").toString());
- break;
- case "sponzor":
- player.sendMessage(ChatColor.UNDERLINE+"[Sponzor] Pane, jak V�m mohu poslou�it? Expirace: "+result.getDate("expire_at"));
- break;
- default:
- break;
- }
- }
- }else {
- player.sendMessage(ChatColor.YELLOW+"Jsi �pln� norm�ln�... Sorry jako!");
- }
- return true;
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE,e.getMessage());
- player.sendMessage(ChatColor.RED+"Nefunguje p��kaz. Pro v�ce informac� zavolej milovan�ho developera :)");
- }
- }
- if(cmd.getName().equalsIgnoreCase("setvip")) {
- try {
- if(args.length != 3) {
- player.sendMessage(ChatColor.BLUE+ "Pro nastaven� VIP pou�ij /setvip HRAC TYP_VIP POCET_DNI pr: /setvip Isigar dia 5");
- return true;
- }
- try {
- double days = Double.parseDouble(args[2]);
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.DATE, (int)days);
- if(Bukkit.getPlayer(args[0].toString()).isOnline()) {
- Player hrac = Bukkit.getPlayer(args[0].toString());
- ResultSet res = this.sqlModels.createSelectQuerySync(this.sqlModels.vipModel.getByPlayerActiveOnly(this.dbIdMap.get(hrac)));
- if(res.next()) {
- res.beforeFirst();
- int iterator = 0;
- while(res.next()) {
- System.out.println("Sna��me se naj�t spojitost s "+args[1].toString().toLowerCase() +" - "+res.getString("type"));
- if(res.getString("type").equalsIgnoreCase(args[1].toString())) {
- System.out.println("Na�li jsme spojitost! "+res.getString("type"));
- String updateSql = this.sqlModels.vipModel.updateActualExpire(cal.getTime(), res.getInt("id_vip"));
- this.sqlModels.createUpdateQuerySync(updateSql);
- player.sendMessage(ChatColor.GREEN+"�sp�n� jste prodlou�il "+args[1].toString().toLowerCase()+" VIP hr��i "+args[0].toString()+" o "+days+" dn�");
- }else {
- iterator++;
- }
- }
- res.last();
- if(res.getRow() == iterator) {
- String sql = null;
- switch (args[1].toString().toLowerCase()) {
- case "iron":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.iron, this.dbIdMap.get(hrac));
- break;
- case "gold":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.gold, this.dbIdMap.get(hrac));
- break;
- case "dia":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.dia, this.dbIdMap.get(hrac));
- break;
- case "sponzor":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.sponzor, this.dbIdMap.get(hrac));
- break;
- default:
- player.sendMessage(ChatColor.BLUE+ "VIP mďż˝ poze 4 typy! iron, gold, dia, sponzor");
- return true;
- }
- this.sqlModels.createUpdateQuerySync(sql);
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi daroval "+args[1].toString().toLowerCase()+" VIP hr��i "+args[0].toString()+" na "+days+" dn�");
- Bukkit.getPlayer(args[0].toString()).sendMessage(ChatColor.GOLD+"Pr�v� V�m bylo darov�n� "+args[1].toString().toLowerCase()+" VIP na "+days+" dn�");
- if(args[1].toString().toLowerCase() == "sponzor") {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0].toString()+" group add "+args[1].toString().toLowerCase()+"");
- }
- else {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0].toString()+" group add "+args[1].toString().toLowerCase()+"vip");
- }
- }
- return true;
- }else {
- String sql = null;
- switch (args[1].toString().toLowerCase()) {
- case "iron":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.iron, this.dbIdMap.get(hrac));
- break;
- case "gold":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.gold, this.dbIdMap.get(hrac));
- break;
- case "dia":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.dia, this.dbIdMap.get(hrac));
- break;
- case "sponzor":
- sql = this.sqlModels.vipModel.insertNew(cal.getTime(), VipType.sponzor, this.dbIdMap.get(hrac));
- break;
- default:
- player.sendMessage(ChatColor.BLUE+ "VIP mďż˝ poze 4 typy! iron, gold, dia, sponzor");
- return true;
- }
- this.sqlModels.createUpdateQuerySync(sql);
- player.sendMessage(ChatColor.GREEN+"�sp�n� jsi daroval "+args[1].toString().toLowerCase()+" VIP hr��i "+args[0].toString()+" na "+days+" dn�");
- Bukkit.getPlayer(args[0].toString()).sendMessage(ChatColor.GOLD+"Pr�v� V�m bylo darov�n� "+args[1].toString().toLowerCase()+" VIP na "+days+" dn�");
- if(args[1].toString().toLowerCase() == "sponzor") {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0].toString()+" group add "+args[1].toString().toLowerCase()+"");
- }
- else {
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user "+args[0].toString()+" group add "+args[1].toString().toLowerCase()+"vip");
- }
- return true;
- }
- }else {
- player.sendMessage(ChatColor.BLUE+ "Hr�� kter�mu chcete d�t VIP mus� b�t online!");
- return true;
- }
- }catch (NumberFormatException e) {
- player.sendMessage(ChatColor.BLUE+ "Pro nastaven� VIP pou�ij /setvip HRAC POCET_DNI - po�et dn� je ��slo!");
- return true;
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE,e.getMessage());
- player.sendMessage(ChatColor.RED+"Nefunguje p��kaz. Pro v�ce informac� zavolej milovan�ho developera :)");
- }
- }
- if(cmd.getName().equalsIgnoreCase("setlock")) {
- try {
- Set<Material> doors = null;
- doors.add(Material.ACACIA_DOOR);
- doors.add(Material.BIRCH_DOOR);
- doors.add(Material.DARK_OAK_DOOR);
- doors.add(Material.IRON_DOOR);
- doors.add(Material.JUNGLE_DOOR);
- for(Material mat : doors) {
- if(player.getTargetBlock(null,50).getType().equals(mat)) {
- }else {
- continue;
- }
- }
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE,e.getMessage());
- player.sendMessage(ChatColor.RED+"Nefunguje p��kaz. Pro v�ce informac� zavolej milovan�ho developera :)");
- }
- }
- return false;
- }
- @EventHandler(priority=EventPriority.NORMAL)
- public void onPlayerJoin(PlayerJoinEvent event) {
- Bukkit.broadcastMessage("Welcome here! "+event.getPlayer().getName());
- try {
- ResultSet result = this.sqlModels.createSelectQuerySync(this.sqlModels.playerModel.getOnePlayerByNameAndUID(event.getPlayer().getName(), event.getPlayer().getUniqueId().toString()));
- if(result.next()) {
- this.getLogger().log(Level.INFO, "Find database record for player "+event.getPlayer().getName()+" with ID "+result.getInt("id_player")+"!");
- this.dbIdMap.put(event.getPlayer(), result.getInt("id_player"));
- this.playerDb.put(event.getPlayer(), result);
- this.sqlModels.createUpdateQuery(this.sqlModels.playerJoinsModel.insertRecordQuery(this.dbIdMap.get(event.getPlayer()), event.getPlayer().getName()));
- }else {
- this.getLogger().log(Level.INFO, "Player "+event.getPlayer().getName()+" has no data in database. Creating new records!");
- this.sqlModels.createUpdateQuerySync(this.sqlModels.playerModel.insertPlayer(event.getPlayer().getName(), event.getPlayer().getUniqueId().toString()));
- }
- // Remove vips
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group remove ironvip");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group remove goldvip");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group remove diavip");
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group remove sponzor");
- // Set permission for VIP if he has one
- ResultSet set = this.sqlModels.createSelectQuerySync(this.sqlModels.vipModel.getByPlayerActiveOnly(this.dbIdMap.get(event.getPlayer())));
- if(set.next()) {
- set.last();
- System.out.println(set.getRow());
- set.beforeFirst();
- while(set.next()) {
- System.out.println(set.getString("type"));
- switch (set.getString("type")) {
- case "sponzor":
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group add sponzor");
- break;
- case "dia":
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group add diavip");
- break;
- case "gold":
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group add goldvip");
- break;
- case "iron":
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"pex user "+event.getPlayer().getName()+" group add ironvip");
- break;
- }
- }
- }
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
- @EventHandler(priority=EventPriority.NORMAL)
- public void onPlayerQuit(PlayerQuitEvent event) throws ClassNotFoundException, SQLException {
- //Get last join
- try {
- SQLModels sqlModel = this.sqlModels;
- ResultCallback resultCallback = this.sqlModels.new ResultCallback() {
- @Override
- public void done(ResultSet res) throws SQLException, ClassNotFoundException {
- try {
- if(res.next()) {
- sqlModel.createUpdateQuery(sqlModel.playerQuitModel.insertRecordQuery(res.getInt("player"), res.getInt("id")));
- Bukkit.getLogger().log(Level.INFO, "Successfuly logged player "+event.getPlayer().getName()+" quit action!");
- } else {
- Bukkit.getLogger().log(Level.WARNING, "Cannot find "+event.getPlayer().getName()+" join log!");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
- this.sqlModels.createSelectQuery(this.sqlModels.playerJoinsModel.getLastByPlayer(this.dbIdMap.get(event.getPlayer())), resultCallback);
- }catch (Exception e) {
- this.getLogger().log(Level.SEVERE, "Cant log quit action for player "+event.getPlayer().getName());
- }
- if(this.dbIdMap.containsKey(event.getPlayer())) {
- this.dbIdMap.remove(event.getPlayer());
- }
- if(this.playerAttachment.containsKey(event.getPlayer())) {
- this.playerAttachment.remove(event.getPlayer());
- }
- if(this.playerDb.containsKey(event.getPlayer())) {
- this.playerDb.remove(event.getPlayer());
- }
- }
- @EventHandler(priority=EventPriority.NORMAL)
- public void onPlayerDeath(PlayerDeathEvent event) {
- Player killedPlayer = event.getEntity().getPlayer();
- if(event.getEntity().getKiller() instanceof Player) {
- Player killer = (Player) event.getEntity().getKiller();
- event.setDeathMessage(ChatColor.RED+"Player "+ killedPlayer.getName() +" was killed by "+ killer.getName() +"!");
- }else {
- event.setDeathMessage(ChatColor.BLUE+"Player "+killedPlayer.getName()+" is now dead!");
- }
- }
- public CustomConnection getCustomConnection() {
- return this.customConnection;
- }
- }
Add Comment
Please, Sign In to add comment