Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Erm, sorry for the mess... And ugly workarounds...
- */
- // Fresh from the repo!
- importPackage(java.util);
- importPackage(org.bukkit.craftbukkit);
- importClass(java.lang.StringBuilder);
- function who(sender) { // Called when a player calls the playerlist command.
- // Code shamelessly ripped, translatedd and modified...
- if (!SpyerAdmin.hasPermission(sender, "essentials.list")) {
- return;
- }
- var online = new StringBuilder();
- online.append(ChatColour.get("Blue")).append("There are ")
- .append(ChatColour.get("Red"));
- if (!SpyerAdmin.isSeeAll(sender)) {
- sbIntAppend(online, Server.getOnlinePlayers().length
- - SpyerAdmin.numOfHidenPlayers());
- } else {
- sbIntAppend(online, Server.getOnlinePlayers().length);
- }
- online.append(ChatColour.get("Blue")).append(" out of a maximum ")
- .append(ChatColour.get("Red"));
- sbIntAppend(online, Server.getMaxPlayers());
- online.append(ChatColour.get("Blue")).append(" players online.");
- sender.sendMessage(online.toString());
- var pl = Server.getPluginManager().getPlugin("Essentials");
- if (pl.getSettings().getSortListByGroups()) {
- var sort = new HashMap();
- for (i = 0; i < Server.getOnlinePlayers().length; i++) {
- var p = Server.getOnlinePlayers()[i];
- if (!SpyerAdmin.isQuit(p.getName()) || SpyerAdmin.isSeeAll(sender)) {
- var u = getUserFromPlayer(p);
- var group = u.getGroup();
- var list = sort.get(group);
- if (list == null) {
- list = new ArrayList();
- sort.put(group, list);
- }
- list.add(u);
- }
- }
- var groups = sort.keySet().toArray(java.lang.reflect.Array.newInstance(
- java.lang.String, 0));
- Arrays.sort(groups, java.lang.String.CASE_INSENSITIVE_ORDER);
- for (i = 0; i < groups.length; i++) {
- var group = groups[i];
- var groupString = new java.lang.StringBuilder();
- groupString.append(group).append(": ");
- var users = sort.get(group);
- Collections.sort(users);
- var first = true;
- for (b = 0; b < users.size(); b++) {
- var user = users.get(b);
- if (!SpyerAdmin.isQuit(user.getName())
- || SpyerAdmin.isSeeAll(sender)) {
- if (!first) {
- groupString.append(", ");
- } else {
- first = false;
- }
- if (user.isAfk()) {
- groupString.append("§7[AFK]§f");
- }
- groupString.append(user.getDisplayName());
- }
- }
- sender.sendMessage(groupString.toString());
- }
- } else {
- var users = new ArrayList();
- for (i = 0; i < Server.getOnlinePlayers().length; i++) {
- var p = Server.getOnlinePlayers()[i];
- if (!SpyerAdmin.isQuit(p.getName()) || SpyerAdmin.isSeeAll(sender)) {
- users.add(getUserFromPlayer(p));
- }
- }
- Collections.sort(users);
- var onlineUsers = new java.lang.StringBuilder();
- onlineUsers.append("Connected players: ");
- var first = true;
- for (b = 0; b < users.size(); b++) {
- var user = users.get(b);
- if (!first) {
- onlineUsers.append(", ");
- } else {
- first = false;
- }
- if (user.isAfk()) {
- onlineUsers.append("§7[AFK]§f");
- }
- onlineUsers.append(user.getDisplayName());
- }
- sender.sendMessage(onlineUsers.toString());
- println(onlineUsers.toString());
- }
- }
- function getUserFromPlayer(player) { // Ugly workaround... Instantiates a
- // user object.
- var cl = CLLoader.getCl("plugins/Essentials.jar",
- "com.earth2me.essentials.Essentials");
- /*print(com.earth2me.essentials.Essentials);
- var getUsr = CLLoader.getFirstMethod(cl, "getUser");
- print(getUsr);
- var args= java.lang.reflect.Array.newInstance(java.lang.Object, 1);
- args[0] = player;
- return CLLoader.invokeMethod(getUsr, cl.cast(Server.getPluginManager().getPlugin("Essentials")), args);*/
- var ess=cl.cast(Server.getPluginManager().getPlugin("Essentials"));
- return ess.getUser(player);
- }
- // Load the console...
- var consleClass = CLLoader.getCl("plugins/Essentials.jar",
- "com.earth2me.essentials.Console");
- var consleArgs = java.lang.reflect.Array.newInstance(java.lang.Object, 0);
- var consleParams = java.lang.reflect.Array.newInstance(java.lang.Class, 0);
- var console = CLLoader.invokeMethod(consleClass.getMethod("getConsoleReplyTo",
- consleParams), null, consleArgs);
- function getReplyToCSL(player) { // Calls getReplyTo in the console object.
- var getReply = CLLoader.getFirstMethod(console.getClass(), "getReplyTo");
- var args = java.lang.reflect.Array.newInstance(java.lang.Object, 0);
- return CLLoader.invokeMethod(getReply, console, args);
- }
- function setReplyToCSL(user) { // Calls setReplyTo in the console object.
- var setReply = CLLoader.getFirstMethod(console, "setReplyTo");
- var args = java.lang.reflect.Array.newInstance(java.lang.Object, 1);
- args[0] = user;
- CLLoader.invokeMethod(setReply, console, args);
- }
- function sbIntAppend(sb, inter) { // Ha ha, dynamic casting is stupid...
- // "There are 0.0 players out of 20.0 max"
- // or something like that... XD
- sb.append(new java.lang.Integer(inter));
- }
- function getFinalArg(args, start) { // getFinalArg from EssentialsCommand
- var bldr = new StringBuilder();
- for (i = start; i < args.length; i++) {
- if (i != start)
- bldr.append(" ");
- bldr.append(args[i]);
- }
- return bldr.toString();
- }
- function playerMsg(sender, args, commandLabel) { // Called when a player
- // calls the msg command.
- // Code shamelessly ripped, translatedd and modified...
- if (!SpyerAdmin.hasPermission(sender, "essentials.msg")) {
- return;
- }
- if (args.length < 2 || args[0].trim().length() == 0
- || args[1].trim().length() == 0) {
- sender.sendMessage("§cUsage: /" + commandLabel + " [player] [message]");
- return;
- }
- var message = getFinalArg(args, 1);
- var replyTo;
- if (sender instanceof org.bukkit.entity.Player) {
- replyTo = getUserFromPlayer(sender);
- } else {
- replyTo = console;
- }
- var senderName;
- if (sender instanceof org.bukkit.entity.Player) {
- senderName = sender.getDisplayName();
- } else {
- senderName = "Console";
- }
- if (args[0].equalsIgnoreCase("Console")) {
- sender.sendMessage("[Me -> " + "Console" + "§f] " + message);
- var cs;
- if (!(Server instanceof org.bukkit.craftbukkit.CraftServer)) {
- throw new java.lang.Exception("Invalid server!");
- }
- cs = Server.getServer().console;
- cs.sendMessage("[" + senderName + " -> Me§f] " + message);
- replyTo.setReplyTo(cs);
- console.setReplyTo(sender);
- return;
- }
- var matches = Server.matchPlayer(args[0]);
- if (!SpyerAdmin.isSeeAll(sender)) {
- //var qp = new java.util.ArrayList(SpyerAdmin.quitPlayers());
- //for (i = 0; i < qp.size(); i++) {
- // println(qp.get(i));
- // matches.remove(qp.get(i));
- //}
- matches.removeAll(SpyerAdmin.quitPlayers());
- }
- if (matches.isEmpty()) {
- sender.sendMessage("§cThere are no players matching that name.");
- return;
- }
- var count = 0;
- for (i = 0; i < matches.size(); i++) {
- var p = matches.get(i);
- // if ((!SpyerAdmin.isQuit(sender))
- // || (SpyerAdmin.isQuit(sender) && SpyerAdmin.isSeeAll(p))) {
- if (SpyerAdmin.isSeeAll(p) || !SpyerAdmin.isQuit(sender)) {
- sender.sendMessage("[Me -> " + p.getDisplayName() + "§f] "
- + message);
- p.sendMessage("[" + senderName + " -> Me§f] " + message);
- replyTo.setReplyTo(getUserFromPlayer(p));
- getUserFromPlayer(p).setReplyTo(sender);
- count = count + 1;
- }
- // }
- }
- if (count == 0) {
- sender.sendMessage("§cThere are no players matching that name.");
- }
- }
- function playerLeaving(plr) {// Called when a player pseudo-leaves
- Server.broadcastMessage(new StringBuilder()
- .append(ChatColour.get("Yellow")).append(plr.getName())
- .append(" left the game.").toString());
- }
- function playerJoining(plr) {// Called when a player pseudo-joins
- Server.broadcastMessage(new StringBuilder()
- .append(ChatColour.get("Yellow")).append(plr.getName())
- .append(" joined the game.").toString());
- }
- function reply(sender, args, commandLabel) {// Called when a player calls the r
- // command.
- // Code shamelessly ripped, translatedd and modified...
- if (!SpyerAdmin.hasPermission(sender, "essentials.msg")) {
- return;
- }
- if (args.length < 1) {
- sender.sendMessage("§cUsage: /" + commandLabel + " [message]");
- return;
- }
- var message = getFinalArg(args, 0);
- var replyTo;
- if (sender instanceof org.bukkit.entity.Player) {
- replyTo = getUserFromPlayer(sender);
- } else {
- replyTo = console
- }
- var senderName;
- if (sender instanceof org.bukkit.entity.Player) {
- senderName = (sender).getDisplayName();
- } else {
- senderName = "Console";
- }
- var target = replyTo.getReplyTo();
- var targetName;
- if (target instanceof org.bukkit.entity.Player) {
- targetName = (target).getDisplayName();
- } else {
- targetName = "Console";
- }
- if (target == null || (SpyerAdmin.isQuit(targetName))
- && !SpyerAdmin.isSeeAll(targetName)) {
- sender.sendMessage("§cYou have nobody to whom you can reply.");
- }
- sender.sendMessage("[Me -> " + targetName + "] " + message);
- target.sendMessage("[" + senderName + " -> Me] " + message);
- replyTo.setReplyTo(target);
- if (target != sender) {
- if (target instanceof org.bukkit.entity.Player) {
- getUserFromPlayer(target).setReplyTo(sender);
- } else {
- console.setReplyTo(sender);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement