use of com.earth2me.essentials.User in project Essentials by drtshock.
the class Commandtpaall method teleportAAllPlayers.
private void teleportAAllPlayers(final Server server, final CommandSource sender, final User target) {
sender.sendMessage(tl("teleportAAll"));
for (User player : ess.getOnlineUsers()) {
if (target == player) {
continue;
}
if (!player.isTeleportEnabled()) {
continue;
}
if (sender.equals(target.getBase()) && target.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !target.isAuthorized("essentials.worlds." + target.getWorld().getName())) {
continue;
}
try {
player.requestTeleport(target, true);
player.sendMessage(tl("teleportHereRequest", target.getDisplayName()));
player.sendMessage(tl("typeTpaccept"));
if (ess.getSettings().getTpaAcceptCancellation() != 0) {
player.sendMessage(tl("teleportRequestTimeoutInfo", ess.getSettings().getTpaAcceptCancellation()));
}
} catch (Exception ex) {
ess.showError(sender, ex, getName());
}
}
}
use of com.earth2me.essentials.User in project Essentials by drtshock.
the class Commandtpaccept method run.
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
final User requester;
try {
requester = ess.getUser(user.getTeleportRequest());
} catch (Exception ex) {
throw new Exception(tl("noPendingRequest"));
}
if (!requester.getBase().isOnline()) {
throw new Exception(tl("noPendingRequest"));
}
if (user.isTpRequestHere() && ((!requester.isAuthorized("essentials.tpahere") && !requester.isAuthorized("essentials.tpaall")) || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())))) {
throw new Exception(tl("noPendingRequest"));
}
if (!user.isTpRequestHere() && (!requester.isAuthorized("essentials.tpa") || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + requester.getWorld().getName())))) {
throw new Exception(tl("noPendingRequest"));
}
if (args.length > 0 && !requester.getName().contains(args[0])) {
throw new Exception(tl("noPendingRequest"));
}
if (!user.hasOutstandingTeleportRequest()) {
user.requestTeleport(null, false);
throw new Exception(tl("requestTimedOut"));
}
final Trade charge = new Trade(this.getName(), ess);
user.sendMessage(tl("requestAccepted"));
requester.sendMessage(tl("requestAcceptedFrom", user.getDisplayName()));
try {
if (user.isTpRequestHere()) {
final Location loc = user.getTpRequestLocation();
Teleport teleport = requester.getTeleport();
teleport.setTpType(Teleport.TeleportType.TPA);
teleport.teleportPlayer(user, user.getTpRequestLocation(), charge, TeleportCause.COMMAND);
requester.sendMessage(tl("teleporting", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
} else {
Teleport teleport = requester.getTeleport();
teleport.setTpType(Teleport.TeleportType.TPA);
teleport.teleport(user.getBase(), charge, TeleportCause.COMMAND);
}
} catch (Exception ex) {
user.sendMessage(tl("pendingTeleportCancelled"));
ess.showError(requester.getSource(), ex, commandLabel);
}
user.requestTeleport(null, false);
throw new NoChargeException();
}
use of com.earth2me.essentials.User in project Essentials by drtshock.
the class Commandtphere method run.
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
final User player = getPlayer(server, user, args, 0);
if (!player.isTeleportEnabled()) {
throw new Exception(tl("teleportDisabled", player.getDisplayName()));
}
if (user.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())) {
throw new Exception(tl("noPerm", "essentials.worlds." + user.getWorld().getName()));
}
user.getTeleport().teleportPlayer(player, user.getBase(), new Trade(this.getName(), ess), TeleportCause.COMMAND);
throw new NoChargeException();
}
use of com.earth2me.essentials.User in project Essentials by drtshock.
the class WorldNameComparator method run.
@Override
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
boolean add = false;
final List<String> argList = new ArrayList<>(Arrays.asList(args));
if (argList.remove("set") && !argList.isEmpty() && NumberUtil.isInt(argList.get(0))) {
argList.set(0, argList.get(0) + "t");
}
if (argList.remove("add") && !argList.isEmpty() && NumberUtil.isInt(argList.get(0))) {
add = true;
argList.set(0, argList.get(0) + "t");
}
final String[] validArgs = argList.toArray(new String[argList.size()]);
// Which World(s) are we interested in?
String worldSelector = null;
if (validArgs.length == 2) {
worldSelector = validArgs[1];
}
final Set<World> worlds = getWorlds(server, sender, worldSelector);
final String setTime;
// If no arguments we are reading the time
if (validArgs.length == 0) {
if (commandLabel.equalsIgnoreCase("day") || commandLabel.equalsIgnoreCase("eday")) {
setTime = "day";
} else if (commandLabel.equalsIgnoreCase("night") || commandLabel.equalsIgnoreCase("enight")) {
setTime = "night";
} else {
getWorldsTime(sender, worlds);
throw new NoChargeException();
}
} else {
setTime = validArgs[0];
}
final User user = ess.getUser(sender.getPlayer());
if (user != null && !user.isAuthorized("essentials.time.set")) {
throw new Exception(tl("timeSetPermission"));
}
// Parse the target time int ticks from args[0]
long ticks;
try {
ticks = DescParseTickFormat.parse(setTime);
} catch (NumberFormatException e) {
throw new NotEnoughArgumentsException(e);
}
setWorldsTime(sender, worlds, ticks, add);
}
use of com.earth2me.essentials.User in project Essentials by drtshock.
the class Commandspawnmob method run.
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
if (args.length < 1) {
final String mobList = SpawnMob.mobList(user);
throw new NotEnoughArgumentsException(tl("mobsAvailable", mobList));
}
List<String> mobParts = SpawnMob.mobParts(args[0]);
List<String> mobData = SpawnMob.mobData(args[0]);
int mobCount = 1;
if (args.length >= 2) {
mobCount = Integer.parseInt(args[1]);
}
if (mobParts.size() > 1 && !user.isAuthorized("essentials.spawnmob.stack")) {
throw new Exception(tl("cannotStackMob"));
}
if (args.length >= 3) {
final User target = getPlayer(ess.getServer(), user, args, 2);
SpawnMob.spawnmob(ess, server, user.getSource(), target, mobParts, mobData, mobCount);
return;
}
SpawnMob.spawnmob(ess, server, user, mobParts, mobData, mobCount);
}
Aggregations