Search in sources :

Example 66 with Player

use of cn.nukkit.Player in project Nukkit by Nukkit.

the class ListCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    String online = "";
    int onlineCount = 0;
    for (Player player : sender.getServer().getOnlinePlayers().values()) {
        if (player.isOnline() && (!(sender instanceof Player) || ((Player) sender).canSee(player))) {
            online += player.getDisplayName() + ", ";
            ++onlineCount;
        }
    }
    if (online.length() > 0) {
        online = online.substring(0, online.length() - 2);
    }
    sender.sendMessage(new TranslationContainer("commands.players.list", new String[] { String.valueOf(onlineCount), String.valueOf(sender.getServer().getMaxPlayers()) }));
    sender.sendMessage(online);
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Example 67 with Player

use of cn.nukkit.Player in project Nukkit by Nukkit.

the class MeCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    if (args.length == 0) {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return false;
    }
    String name;
    if (sender instanceof Player) {
        name = ((Player) sender).getDisplayName();
    } else {
        name = sender.getName();
    }
    String msg = "";
    for (String arg : args) {
        msg += arg + " ";
    }
    if (msg.length() > 0) {
        msg = msg.substring(0, msg.length() - 1);
    }
    sender.getServer().broadcastMessage(new TranslationContainer("chat.type.emote", new String[] { name, TextFormat.WHITE + msg }));
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Example 68 with Player

use of cn.nukkit.Player in project Nukkit by Nukkit.

the class TellCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    if (args.length < 2) {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return false;
    }
    String name = args[0].toLowerCase();
    Player player = sender.getServer().getPlayer(name);
    if (player == null) {
        sender.sendMessage(new TranslationContainer("commands.generic.player.notFound"));
        return true;
    }
    if (Objects.equals(player, sender)) {
        sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.message.sameTarget"));
        return true;
    }
    String msg = "";
    for (int i = 1; i < args.length; i++) {
        msg += args[i] + " ";
    }
    if (msg.length() > 0) {
        msg = msg.substring(0, msg.length() - 1);
    }
    String displayName = (sender instanceof Player ? ((Player) sender).getDisplayName() : sender.getName());
    sender.sendMessage("[" + sender.getName() + " -> " + player.getDisplayName() + "] " + msg);
    player.sendMessage("[" + displayName + " -> " + player.getName() + "] " + msg);
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Example 69 with Player

use of cn.nukkit.Player in project Nukkit by Nukkit.

the class TimeCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (args.length < 1) {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return false;
    }
    if ("start".equals(args[0])) {
        if (!sender.hasPermission("nukkit.command.time.start")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        for (Level level : sender.getServer().getLevels().values()) {
            level.checkTime();
            level.startTime();
            level.checkTime();
        }
        Command.broadcastCommandMessage(sender, "Restarted the time");
        return true;
    } else if ("stop".equals(args[0])) {
        if (!sender.hasPermission("nukkit.command.time.stop")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        for (Level level : sender.getServer().getLevels().values()) {
            level.checkTime();
            level.stopTime();
            level.checkTime();
        }
        Command.broadcastCommandMessage(sender, "Stopped the time");
        return true;
    } else if ("query".equals(args[0])) {
        if (!sender.hasPermission("nukkit.command.time.query")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        Level level;
        if (sender instanceof Player) {
            level = ((Player) sender).getLevel();
        } else {
            level = sender.getServer().getDefaultLevel();
        }
        sender.sendMessage(new TranslationContainer("commands.time.query", String.valueOf(level.getTime())));
        return true;
    }
    if (args.length < 2) {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return false;
    }
    if ("set".equals(args[0])) {
        if (!sender.hasPermission("nukkit.command.time.set")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        int value;
        if ("day".equals(args[1])) {
            value = Level.TIME_DAY;
        } else if ("night".equals(args[1])) {
            value = Level.TIME_NIGHT;
        } else {
            try {
                value = Math.max(0, Integer.parseInt(args[1]));
            } catch (Exception e) {
                sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
                return true;
            }
        }
        for (Level level : sender.getServer().getLevels().values()) {
            level.checkTime();
            level.setTime(value);
            level.checkTime();
        }
        Command.broadcastCommandMessage(sender, new TranslationContainer("commands.time.set", String.valueOf(value)));
    } else if ("add".equals(args[0])) {
        if (!sender.hasPermission("nukkit.command.time.add")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        int value;
        try {
            value = Math.max(0, Integer.parseInt(args[1]));
        } catch (Exception e) {
            sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
            return true;
        }
        for (Level level : sender.getServer().getLevels().values()) {
            level.checkTime();
            level.setTime(level.getTime() + value);
            level.checkTime();
        }
        Command.broadcastCommandMessage(sender, new TranslationContainer("commands.time.added", String.valueOf(value)));
    } else {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
    }
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer) Level(cn.nukkit.level.Level)

Example 70 with Player

use of cn.nukkit.Player in project Nukkit by Nukkit.

the class XpCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    // "/xp <amount> [player]"  for adding exp
    // "/xp <amount>L [player]" for adding exp level
    String amountString;
    String playerName;
    Player player;
    if (!(sender instanceof Player)) {
        if (args.length != 2) {
            sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
            return true;
        }
        amountString = args[0];
        playerName = args[1];
        player = sender.getServer().getPlayer(playerName);
    } else {
        if (args.length == 1) {
            amountString = args[0];
            player = (Player) sender;
        } else if (args.length == 2) {
            amountString = args[0];
            playerName = args[1];
            player = sender.getServer().getPlayer(playerName);
        } else {
            sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
            return true;
        }
    }
    if (player == null) {
        sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.player.notFound"));
        return true;
    }
    int amount;
    boolean isLevel = false;
    if (amountString.endsWith("l") || amountString.endsWith("L")) {
        amountString = amountString.substring(0, amountString.length() - 1);
        isLevel = true;
    }
    try {
        amount = Integer.parseInt(amountString);
    } catch (NumberFormatException e1) {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return true;
    }
    if (isLevel) {
        int newLevel = player.getExperienceLevel();
        newLevel += amount;
        if (newLevel > 24791)
            newLevel = 24791;
        if (newLevel < 0) {
            player.setExperience(0, 0);
        } else {
            player.setExperience(player.getExperience(), newLevel);
        }
        if (amount > 0) {
            sender.sendMessage(new TranslationContainer("commands.xp.success.levels", new String[] { String.valueOf(amount), player.getName() }));
        } else {
            sender.sendMessage(new TranslationContainer("commands.xp.success.levels.minus", new String[] { String.valueOf(-amount), player.getName() }));
        }
        return true;
    } else {
        if (amount < 0) {
            sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
            return true;
        }
        player.addExperience(amount);
        sender.sendMessage(new TranslationContainer("commands.xp.success", new String[] { String.valueOf(amount), player.getName() }));
        return true;
    }
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Aggregations

Player (cn.nukkit.Player)85 TranslationContainer (cn.nukkit.lang.TranslationContainer)24 Entity (cn.nukkit.entity.Entity)13 BlockEntity (cn.nukkit.blockentity.BlockEntity)10 Item (cn.nukkit.item.Item)10 Level (cn.nukkit.level.Level)7 IOException (java.io.IOException)6 CompoundTag (cn.nukkit.nbt.tag.CompoundTag)5 Block (cn.nukkit.block.Block)4 ItemBlock (cn.nukkit.item.ItemBlock)4 BlockAir (cn.nukkit.block.BlockAir)3 EventHandler (cn.nukkit.event.EventHandler)3 BaseFullChunk (cn.nukkit.level.format.generic.BaseFullChunk)3 InventoryContentPacket (cn.nukkit.network.protocol.InventoryContentPacket)3 InventorySlotPacket (cn.nukkit.network.protocol.InventorySlotPacket)3 User (me.lucko.luckperms.common.model.User)3 IPlayer (cn.nukkit.IPlayer)2 CommandSender (cn.nukkit.command.CommandSender)2 EntityItem (cn.nukkit.entity.item.EntityItem)2 EntityArrow (cn.nukkit.entity.projectile.EntityArrow)2