public static void setSpawn(PerkWorldSpawn spawn) { String query = "INSERT INTO `perks_spawn` (" + "`world`, `x`, `y`, `z`, `yaw`, `pitch`) VALUES (" + "'" + spawn.getSpawn().getWorld().getName() + "'," + "'" + spawn.getSpawn().getX() + "'," + "'" + spawn.getSpawn().getY() + "'," + "'" + spawn.getSpawn().getZ() + "'," + "'" + spawn.getSpawn().getYaw() + "'," + "'" + spawn.getSpawn().getPitch() + "'" + ");"; for (int i = 0; i < spawns.size(); ++i) { if (spawns.get(i).getWorld().getName().equalsIgnoreCase(spawn.getWorld().getName())) { query = "UPDATE `perks_spawn` SET " + "x='" + spawn.getSpawn().getX() + "', " + "y='" + spawn.getSpawn().getY() + "', " + "z='" + spawn.getSpawn().getZ() + "', " + "yaw='" + spawn.getSpawn().getYaw() + "', " + "pitch='" + spawn.getSpawn().getPitch() + "' " + "WHERE world='" + spawn.getWorld().getName() + "'" + ";"; spawns.remove(i); break; } } m_perksDB.query(query, true); spawns.add(spawn); PerkUtils.DebugConsole("Adding spawn for " + spawn.getWorld().getName()); }
public static boolean onCommand( PerkPlayer player, Command cmd, String commandLabel, PerkArgSet args) { if (cmd.getName().equalsIgnoreCase("tpr") || cmd.getName().equalsIgnoreCase("tphr") || cmd.getName().equalsIgnoreCase("tpd") || cmd.getName().equalsIgnoreCase("tpa")) { PerkPlayer toPlayer = null; if (args.size() == 1) { String playerName = args.getString(0); toPlayer = PerkUtils.getPlayer(PerkUtils.server().getPlayer(playerName)); if (toPlayer == null || toPlayer.isVanished()) { PerkUtils.OutputToPlayer(player, playerName + " isn't online."); return true; } } if (cmd.getName().equalsIgnoreCase("tpr")) { if (args.size() != 1) { PerkUtils.OutputToPlayer(player, cmd.getUsage()); return true; } if (!player.hasPermission("perks.teleport.tpr", true)) { return true; } toPlayer.sendTpRequest(player); return true; } if (cmd.getName().equalsIgnoreCase("tphr")) { if (args.size() != 1) { PerkUtils.OutputToPlayer(player, cmd.getUsage()); return true; } if (!player.hasPermission("perks.teleport.tphr", true)) { return true; } toPlayer.sendTpHereRequest(player); return true; } // accepting and declining shouldn't have a permission as everyone needs to do it if (cmd.getName().equalsIgnoreCase("tpa")) { player.acceptTpRequest(toPlayer); return true; } if (cmd.getName().equalsIgnoreCase("tpd")) { player.declineTpRequest(toPlayer); return true; } } if (cmd.getName().equalsIgnoreCase("tp")) { if (!player.hasPermission("perks.teleport.tp", true)) return true; if (args.size() != 1) { PerkUtils.OutputToPlayer(player, cmd.getUsage()); return true; } Location loc = null; // Handle coordinates if (args.getString(0).matches("^[\\-0-9\\.]+,[\\-0-9\\.]+,[\\-0-9\\.]+(?:.+)?$")) { String[] arg = args.getString(0).split(":"); String[] parts = args.getString(0).split(","); double x = 0, y = 0, z = 0; try { x = Double.parseDouble(parts[0]); y = Double.parseDouble(parts[1]); z = Double.parseDouble(parts[2]); } catch (NumberFormatException e) { PerkUtils.OutputToPlayer(player, ""); } if (arg.length > 1) { loc = new Location(PerkUtils.server().getWorld(arg[1]), x, y, z); } else { loc = new Location(player.getPlayer().getWorld(), x, y, z); } player.teleport(loc); PerkUtils.OutputToPlayer(player, "You have been teleported"); return true; } PerkPlayer target = PerkUtils.getPlayer(args.getString(0)); if (target == null) { PerkUtils.OutputToPlayer(player, "That player is not online"); return true; } loc = target.getPlayer().getLocation(); player.teleport(loc); PerkUtils.OutputToPlayer(player, "You have been teleported"); return true; } if (cmd.getName().equalsIgnoreCase("tphere") || cmd.getName().equalsIgnoreCase("s") || cmd.getName().equalsIgnoreCase("bring")) { if (!player.hasPermission("perks.teleport.tphere", true)) return true; if (args.size() != 1) { PerkUtils.OutputToPlayer(player, cmd.getUsage()); return true; } PerkPlayer target = PerkUtils.getPlayer(args.getString(0)); if (target == null) { PerkUtils.OutputToPlayer(player, "That player is not online"); return true; } player.teleportHere(target); PerkUtils.OutputToPlayer( player, target.getPlayer().getName() + " has been teleported to you."); return true; } if (cmd.getName().equalsIgnoreCase("put")) { if (!player.hasPermission("perks.teleport.put", true)) return true; if (args.size() != 1) { PerkUtils.OutputToPlayer(player, cmd.getUsage()); return true; } PerkPlayer target = PerkUtils.getPlayer(args.getString(0)); if (target == null) { PerkUtils.OutputToPlayer(player, "That player is not online"); return true; } target.getPlayer().teleport(player.getPlayer().getTargetBlock(null, 300).getLocation()); return true; } return false; }
public static boolean onCommand( PerkPlayer player, Command cmd, String commandLabel, PerkArgSet args) { if (commandLabel.equalsIgnoreCase("slap")) { if (!player.hasPermission("perks.fun.slap", true)) return true; PerkPlayer target; if (args.size() == 0) { target = player; } else { target = PerkUtils.getPlayer(args.getString(0)); if (target == null) { PerkUtils.OutputToPlayer(player, args.getString(0) + " is not online"); return true; } } boolean silent = false; if (args.hasFlag('s')) { silent = true; } double power = 1.0; String powerString = ""; if (args.hasFlag('v')) { power = 5.0; powerString = " very hard"; } else if (args.hasFlag('h')) { power = 2.5; powerString = " hard"; } target .getPlayer() .setVelocity( new Vector( (random.nextDouble() + 0.01) * power - (power * 0.5), (random.nextDouble() + 0.01) * power, (random.nextDouble() + 0.01) * power - (power * 0.5))); if (!silent) { PerkUtils.OutputToAllExcluding( player.getPlayer().getName() + " has slapped " + target.getPlayer().getName() + powerString, player.getPlayer()); } if (target != player) { PerkUtils.OutputToPlayer( target, "You have been slapped" + powerString + " by " + player.getPlayer().getName()); } PerkUtils.OutputToPlayer( player, "You have slapped " + (target != player ? target.getPlayer().getName() : "Yourself") + powerString); return true; } if (commandLabel.equalsIgnoreCase("rocket")) { if (!player.hasPermission("perks.fun.rocket", true)) return true; PerkPlayer target; if (args.size() == 0) { target = player; } else { target = PerkUtils.getPlayer(args.getString(0)); if (target == null) { PerkUtils.OutputToPlayer(player, args.getString(0) + " is not online"); return true; } } boolean silent = false; if (args.hasFlag('s')) { silent = true; } double power = 6.0; target.getPlayer().setVelocity(new Vector(0, power, 0)); if (!silent) { PerkUtils.OutputToAllExcluding( player.getPlayer().getName() + " has rocketed " + target.getPlayer().getName(), player.getPlayer()); } if (target != player) { PerkUtils.OutputToPlayer( target, "You have been rocketed by " + player.getPlayer().getName()); } PerkUtils.OutputToPlayer( player, "You have rocketed " + (target != player ? target.getPlayer().getName() : "Yourself")); return true; } return false; }
public static void loadDatabases() { // create an the database m_perksDB = bDatabaseManager.createDatabase( PerkConfig.DATABASE.name, PerkUtils.plugin, DatabaseType.SQL); if (!m_perksDB.login( PerkConfig.DATABASE.ip, PerkConfig.DATABASE.user, PerkConfig.DATABASE.password, PerkConfig.DATABASE.port)) return; // see if a table called properties exist if (!m_perksDB.tableExists("perks_homes")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk homes table, now creating one."); String query = "CREATE TABLE perks_homes (" + "player VARCHAR(64)," + "world VARCHAR(128)," + "x INT," + "y INT," + "z INT," + "yaw INT," + "pitch INT" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // load all properties // select every property from the table String query = "SELECT * FROM perks_homes"; ResultSet result = m_perksDB.queryResult(query); if (result != null) { try { // while we have another result, read in the data while (result.next()) { String worldName = result.getString("world"); String playerName = result.getString("player"); int x = result.getInt("x"); int y = result.getInt("y"); int z = result.getInt("z"); int pitch = result.getInt("pitch"); int yaw = result.getInt("yaw"); World world = PerkUtils.plugin.getServer().getWorld(worldName); Location loc = new Location(world, x, y, z, yaw, pitch); tpLocation newHome = new tpLocation(); newHome.playername = playerName; newHome.loc = loc; homes.add(newHome); } } catch (SQLException e) { e.printStackTrace(); return; } m_perksDB.freeResult(result); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_build")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk homes builds, now creating one."); query = "CREATE TABLE perks_build (" + "player VARCHAR(64)," + "world VARCHAR(128)," + "x INT," + "y INT," + "z INT," + "yaw INT," + "pitch INT" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // select every property from the table query = "SELECT * FROM perks_build"; result = m_perksDB.queryResult(query); if (result != null) { try { // while we have another result, read in the data while (result.next()) { String worldName = result.getString("world"); String playerName = result.getString("player"); int x = result.getInt("x"); int y = result.getInt("y"); int z = result.getInt("z"); int pitch = result.getInt("pitch"); int yaw = result.getInt("yaw"); World world = PerkUtils.plugin.getServer().getWorld(worldName); Location loc = new Location(world, x, y, z, yaw, pitch); tpLocation newHome = new tpLocation(); newHome.playername = playerName; newHome.loc = loc; builds.add(newHome); } } catch (SQLException e) { e.printStackTrace(); return; } m_perksDB.freeResult(result); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_vanish")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk vanish databse, now creating one."); query = "CREATE TABLE perks_vanish (" + "player VARCHAR(64)" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_kit")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk kit databse, now creating one."); query = "CREATE TABLE perks_kit (" + "player VARCHAR(64)," + "kitname VARCHAR(64)," + "time LONG" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } if (!m_perksDB.tableExists("perks_flying")) { PerkUtils.DebugConsole("Could not find flying table, creating one now"); query = "CREATE TABLE perks_flying (name VARCHAR(64));"; m_perksDB.query(query, true); } if (!m_perksDB.tableExists("perks_spawn")) { PerkUtils.DebugConsole("Could not find spawn table, creating one now"); query = "CREATE TABLE perks_spawn (" + "world VARCHAR(64)," + "x INT," + "y INT," + "z INT," + "yaw FLOAT," + "pitch FLOAT" + ");"; m_perksDB.query(query, true); } query = "SELECT * FROM perks_spawn"; result = m_perksDB.queryResult(query); if (result != null) { try { while (result.next()) { World world = PerkUtils.server().getWorld(result.getString("world")); Location loc = new Location( world, result.getInt("x"), result.getInt("y"), result.getInt("z"), result.getFloat("yaw"), result.getFloat("pitch")); PerkWorldSpawn spawn = new PerkWorldSpawn(world, loc); spawns.add(spawn); } PerkUtils.DebugConsole("Loaded " + spawns.size() + " spawns"); } catch (SQLException e) { e.printStackTrace(); } m_perksDB.freeResult(result); } UpgradeDatabases(); }