Search in sources :

Example 61 with Player

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

the class SeedCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    long seed;
    if (sender instanceof Player) {
        seed = ((Player) sender).getLevel().getSeed();
    } else {
        seed = sender.getServer().getDefaultLevel().getSeed();
    }
    sender.sendMessage(new TranslationContainer("commands.seed.success", String.valueOf(seed)));
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Example 62 with Player

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

the class SetWorldSpawnCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    Level level;
    Vector3 pos;
    if (args.length == 0) {
        if (sender instanceof Player) {
            level = ((Player) sender).getLevel();
            pos = ((Player) sender).round();
        } else {
            sender.sendMessage(new TranslationContainer("commands.generic.ingame"));
            return true;
        }
    } else if (args.length == 3) {
        level = sender.getServer().getDefaultLevel();
        try {
            pos = new Vector3(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]));
        } catch (NumberFormatException e1) {
            sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
            return true;
        }
    } else {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return true;
    }
    level.setSpawnLocation(pos);
    DecimalFormat round2 = new DecimalFormat("##0.00");
    Command.broadcastCommandMessage(sender, new TranslationContainer("commands.setworldspawn.success", new String[] { round2.format(pos.x), round2.format(pos.y), round2.format(pos.z) }));
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer) DecimalFormat(java.text.DecimalFormat) Level(cn.nukkit.level.Level) Vector3(cn.nukkit.math.Vector3)

Example 63 with Player

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

the class SpawnpointCommand method execute.

@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
    if (!this.testPermission(sender)) {
        return true;
    }
    Player target;
    if (args.length == 0) {
        if (sender instanceof Player) {
            target = (Player) sender;
        } else {
            sender.sendMessage(new TranslationContainer("commands.generic.ingame"));
            return true;
        }
    } else {
        target = sender.getServer().getPlayer(args[0]);
        if (target == null) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.player.notFound"));
            return true;
        }
    }
    Level level = target.getLevel();
    DecimalFormat round2 = new DecimalFormat("##0.00");
    if (args.length == 4) {
        if (level != null) {
            int x;
            int y;
            int z;
            try {
                x = Integer.parseInt(args[1]);
                y = Integer.parseInt(args[2]);
                z = Integer.parseInt(args[3]);
            } catch (NumberFormatException e1) {
                sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
                return true;
            }
            if (y < 0)
                y = 0;
            if (y > 256)
                y = 256;
            target.setSpawn(new Position(x, y, z, level));
            Command.broadcastCommandMessage(sender, new TranslationContainer("commands.spawnpoint.success", new String[] { target.getName(), round2.format(x), round2.format(y), round2.format(z) }));
            return true;
        }
    } else if (args.length <= 1) {
        if (sender instanceof Player) {
            Position pos = (Position) sender;
            target.setSpawn(pos);
            Command.broadcastCommandMessage(sender, new TranslationContainer("commands.spawnpoint.success", new String[] { target.getName(), round2.format(pos.x), round2.format(pos.y), round2.format(pos.z) }));
            return true;
        } else {
            sender.sendMessage(new TranslationContainer("commands.generic.ingame"));
            return true;
        }
    }
    sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
    return true;
}
Also used : Player(cn.nukkit.Player) Position(cn.nukkit.level.Position) TranslationContainer(cn.nukkit.lang.TranslationContainer) DecimalFormat(java.text.DecimalFormat) Level(cn.nukkit.level.Level)

Example 64 with Player

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

the class KickCommand 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 = args[0];
    String reason = "";
    for (int i = 1; i < args.length; i++) {
        reason += args[i] + " ";
    }
    if (reason.length() > 0) {
        reason = reason.substring(0, reason.length() - 1);
    }
    Player player = sender.getServer().getPlayer(name);
    if (player != null) {
        player.kick(PlayerKickEvent.Reason.KICKED_BY_ADMIN, reason);
        if (reason.length() >= 1) {
            Command.broadcastCommandMessage(sender, new TranslationContainer("commands.kick.success.reason", new String[] { player.getName(), reason }));
        } else {
            Command.broadcastCommandMessage(sender, new TranslationContainer("commands.kick.success", player.getName()));
        }
    } else {
        sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.player.notFound"));
    }
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer)

Example 65 with Player

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

the class KillCommand 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;
    }
    if (args.length == 1) {
        if (!sender.hasPermission("nukkit.command.kill.other")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        Player player = sender.getServer().getPlayer(args[0]);
        if (player != null) {
            EntityDamageEvent ev = new EntityDamageEvent(player, DamageCause.SUICIDE, 1000);
            sender.getServer().getPluginManager().callEvent(ev);
            if (ev.isCancelled()) {
                return true;
            }
            player.setLastDamageCause(ev);
            player.setHealth(0);
            Command.broadcastCommandMessage(sender, new TranslationContainer("commands.kill.successful", player.getName()));
        } else {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.player.notFound"));
        }
        return true;
    }
    if (sender instanceof Player) {
        if (!sender.hasPermission("nukkit.command.kill.self")) {
            sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission"));
            return true;
        }
        EntityDamageEvent ev = new EntityDamageEvent((Player) sender, DamageCause.SUICIDE, 1000);
        sender.getServer().getPluginManager().callEvent(ev);
        if (ev.isCancelled()) {
            return true;
        }
        ((Player) sender).setLastDamageCause(ev);
        ((Player) sender).setHealth(0);
        sender.sendMessage(new TranslationContainer("commands.kill.successful", sender.getName()));
    } else {
        sender.sendMessage(new TranslationContainer("commands.generic.usage", this.usageMessage));
        return false;
    }
    return true;
}
Also used : Player(cn.nukkit.Player) TranslationContainer(cn.nukkit.lang.TranslationContainer) EntityDamageEvent(cn.nukkit.event.entity.EntityDamageEvent)

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