WikiExamples

Примеры команд


💡 Примеры команд

Готовые примеры команд для ScriptsLab.


Простая команда приветствия

Создаёт команду /hello, которая отправляет приветственное сообщение.

/**
 * Команда /hello - Отправить приветствие
 */

Commands.register('hello', function(sender, args) {
    sender.sendMessage('§aПривет, ' + sender.getName() + '!');
    sender.sendMessage('§7Добро пожаловать на сервер!');
});

Console.log('Команда /hello зарегистрирована');

Команда лечения

Восстанавливает здоровье, голод и убирает эффекты.

/**
 * Команда /heal - Восстановить здоровье
 */

Commands.register('heal', function(sender, args) {
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    
    // Восстановить здоровье
    player.setHealth(player.getMaxHealth());
    
    // Восстановить голод
    player.setFoodLevel(20);
    player.setSaturation(20.0);
    
    // Убрать эффекты
    player.getActivePotionEffects().forEach(function(effect) {
        player.removePotionEffect(effect.getType());
    });
    
    player.sendMessage('§a✓ Вы полностью исцелены!');
    Console.log(player.getName() + ' использовал /heal');
    
}, 'scriptslab.heal');

Console.log('Команда /heal зарегистрирована');

Команда полёта

Включает и выключает полёт для игрока.

/**
 * Команда /fly - Включить/выключить полёт
 */

Commands.register('fly', function(sender, args) {
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    var currentFlight = player.getAllowFlight();
    player.setAllowFlight(!currentFlight);
    
    var msg = player.getAllowFlight() ? '§a✓ Полёт включен!' : '§c✗ Полёт выключен!';
    player.sendMessage(msg);
    
    Console.log(player.getName() + ' переключил полёт: ' + player.getAllowFlight());
}, 'scriptslab.fly');

Console.log('Команда /fly зарегистрирована');

Команда телепортации на спавн

Телепортирует игрока на спавн мира.

/**
 * Команда /spawn - Телепорт на спавн
 */

Commands.register('spawn', function(sender, args) {
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    var world = player.getWorld();
    
    // Получаем координаты спавна
    var spawn = world.getSpawnLocation();
    
    player.teleport(spawn);
    player.sendMessage('§aВы телепортированы на спавн!');
    
    Console.log(player.getName() + ' телепортировался на спавн');
});

Console.log('Команда /spawn зарегистрирована');

Команда с аргументами

Пример к��манды с аргументами.

/**
 * Команда /warp <название> - Телепорт на варп
 */

Commands.register('warp', function(sender, args) {
    // Проверка аргументов
    if (args.length === 0) {
        sender.sendMessage('§cИспользование: /warp <название>');
        sender.sendMessage('§7Доступные варпы: spawn, shop, arena');
        return;
    }
    
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var warpName = args[0].toLowerCase();
    var player = sender;
    
    // Координаты варпов
    var warps = {
        'spawn': {x: 0, y: 100, z: 0},
        'shop': {x: 100, y: 100, z: 0},
        'arena': {x: -100, y: 100, z: 0}
    };
    
    // Проверяем существование варпа
    if (!warps[warpName]) {
        sender.sendMessage('§cВарп не найден: ' + warpName);
        return;
    }
    
    // Телепорт
    var world = player.getWorld();
    var Location = Java.type('org.bukkit.Location');
    var location = new Location(
        world,
        warps[warpName].x,
        warps[warpName].y,
        warps[warpName].z
    );
    
    player.teleport(location);
    player.sendMessage('§aТелепорт на §e' + warpName + '§a!');
    
    Console.log(player.getName() + ' телепортировался на ' + warpName);
});

Console.log('Команда /warp зарегистрирована');

Команда пожертвовать предмет

Даёт игроку определённый предмет.

/**
 * Команда /give <предмет> [количество] - Дать предмет
 */

Commands.register('give', function(sender, args) {
    // Проверка аргументов
    if (args.length === 0) {
        sender.sendMessage('§cИспользование: /give <предмет> [количество]');
        sender.sendMessage('§7Доступные предметы: diamond, emerald, book');
        return;
    }
    
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    var itemName = args[0].toLowerCase();
    var amount = args.length > 1 ? parseInt(args[1]) : 1;
    
    // Mapping имён
    var materials = {
        'diamond': 'DIAMOND',
        'emerald': 'EMERALD',
        'gold': 'GOLD_INGOT',
        'iron': 'IRON_INGOT',
        'book': 'BOOK',
        'apple': 'GOLDEN_APPLE',
        'enchant': 'ENCHANTED_BOOK'
    };
    
    // Проверяем существование предмета
    if (!materials[itemName]) {
        sender.sendMessage('§cНеизвестный предмет: ' + itemName);
        return;
    }
    
    // Получаем Material
    var Material = Java.type('org.bukkit.Material');
    var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
    
    var material = Material.valueOf(materials[itemName]);
    var item = new ItemStack(material, amount);
    
    // Даём предмет
    player.getInventory().addItem(item);
    player.sendMessage('§aВы получили §e' + amount + 'x ' + itemName);
    
    Console.log(player.getName() + ' получил ' + itemName + ' x' + amount);
}, 'scriptslab.give');

Console.log('Команда /give зарегистрирована');

Команда убить /kill

Убивает цель (себя или другого игрока).

/**
 * Команда /kill [игрок] - Убить игро��а
 */

Commands.register('kill', function(sender, args) {
    var target = sender;
    
    // Если указан игрок
    if (args.length > 0) {
        // Проверка прав
        if (!sender.hasPermission('scriptslab.kill.others')) {
            sender.sendMessage('§cНет прав!');
            return;
        }
        
        var targetName = args[0];
        target = Players.get(targetName);
        
        if (target === null) {
            sender.sendMessage('§cИгрок не найден: ' + targetName);
            return;
        }
    }
    
    // Проверка: цель должна быть игроком
    if (!target.isPlayer()) {
        sender.sendMessage('§cЦель не является игроком!');
        return;
    }
    
    // Убить игрока
    target.setHealth(0.0);
    
    if (target === sender) {
        sender.sendMessage('§cВы совершили суицид!');
    } else {
        sender.sendMessage('§aВы убили игрока §e' + target.getName());
        target.sendMessage('§cВас убил §e' + sender.getName());
    }
    
    Console.log(sender.getName() + ' убил ' + target.getName());
}, 'scriptslab.kill');

Console.log('Команда /kill зарегистрирована');

Команда /healother

Лечение другого игрока.

/**
 * Команда /healother <игрок> - Исцелить другого игрока
 */

Commands.register('healother', function(sender, args) {
    // Проверка аргументов
    if (args.length === 0) {
        sender.sendMessage('§cИспользование: /healother <игрок>');
        return;
    }
    
    // Проверка прав
    if (!sender.hasPermission('scriptslab.healother')) {
        sender.sendMessage('§cНет прав!');
        return;
    }
    
    var targetName = args[0];
    var target = Players.get(targetName);
    
    if (target === null) {
        sender.sendMessage('§cИгрок не найден: ' + targetName);
        return;
    }
    
    // Лечение
    target.setHealth(target.getMaxHealth());
    target.setFoodLevel(20);
    target.setSaturation(20.0);
    
    target.getActivePotionEffects().forEach(function(effect) {
        target.removePotionEffect(effect.getType());
    });
    
    sender.sendMessage('§aВы исцелили игрока §e' + targetName);
    target.sendMessage('§aВас исцелил §e' + sender.getName());
    
    Console.log(sender.getName() + ' исцелил ' + targetName);
}, 'scriptslab.healother');

Console.log('Команда /healother зарегистрирована');

Команда дня/ночи

Устанавливает время суток.

/**
 * Команда /time set <day|night> - Установить время
 */

Commands.register('time', function(sender, args) {
    // Проверка аргументов
    if (args.length === 0 || args[0] !== 'set') {
        sender.sendMessage('§cИспользование: /time set <day|night>');
        return;
    }
    
    if (args.length < 2) {
        sender.sendMessage('§cИспользование: /time set <day|night>');
        return;
    }
    
    var timeType = args[1].toLowerCase();
    var world = sender instanceof org.bukkit.entity.Player 
        ? sender.getWorld() 
        : org.bukkit.Bukkit.getWorlds().get(0);
    
    // Установка времени
    var time = timeType === 'day' ? 1000 : 13000;
    world.setTime(time);
    
    var msg = timeType === 'day' ? '§eДень' : '§8Ночь';
    Server.broadcast('§aВремя установлено: ' + msg);
    
    Console.log('Время изменено на ' + timeType);
});

Console.log('Команда /time зарегистрирована');

Команда погоды

Устанавливает погоду.

/**
 * Команда /weather <sun|rain|storm> - Установить погоду
 */

Commands.register('weather', function(sender, args) {
    // Проверка аргументов
    if (args.length === 0) {
        sender.sendMessage('§cИспользование: /weather <sun|rain|storm>');
        return;
    }
    
    var weatherType = args[0].toLowerCase();
    var world;
    
    if (sender.isPlayer()) {
        world = sender.getWorld();
    } else {
        world = org.bukkit.Bukkit.getWorlds().get(0);
    }
    
    // Установка погоды
    if (weatherType === 'sun') {
        world.setStorm(false);
        world.setThundering(false);
        Server.broadcast('§eПогода: Ясно');
    } else if (weatherType === 'rain') {
        world.setStorm(true);
        world.setThundering(false);
        Server.broadcast('§eПогода: Дождь');
    } else if (weatherType === 'storm') {
        world.setStorm(true);
        world.setThundering(true);
        Server.broadcast('§eПогода: Гроза');
    } else {
        sender.sendMessage('§cНеизвестная погода: ' + weatherType);
        sender.sendMessage('§cДоступно: sun, rain, storm');
        return;
    }
    
    Console.log('Погода изменена на ' + weatherType);
});

Console.log('Команда /weather зарегистрирована');

Команда очистки инвентаря

Очищает инвентарь игрока.

/**
 * Команда /clear - Очистить инвентарь
 */

Commands.register('clear', function(sender, args) {
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    
    // Очистка инвентаря
    player.getInventory().clear();
    player.getEquipment().clear();
    
    player.sendMessage('§aИнвентарь очищен!');
    Console.log(player.getName() + ' очистил инвентарь');
});

Console.log('Команда /clear зарегистрирована');

Команда скорости

Изменяет скорость передвижения.

/**
 * Команда /speed <число> - Изменить скорость
 */

Commands.register('speed', function(sender, args) {
    // Проверка: только для игроков
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    // Проверка аргументов
    if (args.length === 0) {
        sender.sendMessage('§cИспользование: /speed <1-10>');
        return;
    }
    
    var speed = parseFloat(args[0]);
    
    // Проверка диапазона
    if (speed < 1 || speed > 10) {
        sender.sendMessage('§cСкорость должна быть от 1 до 10!');
        return;
    }
    
    var player = sender;
    
    // Установка скорости (игрок может быть вCreative или вSurvival)
    // Примечание: это упрощённый пример
    var Attribute = Java.type('org.bukkit.attribute.Attribute');
    var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
    var UUID = Java.type('java.util.UUID');
    
    player.sendMessage('§aСкорость установлена на §e' + speed);
    Console.log(player.getName() + ' изменил скорость на ' + speed);
});

Console.log('Команда /speed зарегистрирована');

Сочетания ключей

Клавиша + Команда = Готово!

СкриптФайлНазвание
Лечениеheal_command.js/heal
Полётfly_command.js/fly
Телепортspawn_command.js/spawn
Варпыwarp_command.js/warp
Предметыgive_command.js/give

Следующие шаги

ШагОписание
СобытияОбработка событий
SchedulerПланирование задач
ПредметыКастомные предметы

💡 Command Examples (English)

Ready-to-use command examples for ScriptsLab.


Simple Hello Command

Creates /hello command that sends a welcome message.

/**
 * Command /hello - Send greeting
 */
Commands.register('hello', function(sender, args) {
    sender.sendMessage('§aHello, ' + sender.getName() + '!');
    sender.sendMessage('§7Welcome to the server!');
});

Console.log('Command /hello registered');

Heal Command

Restores health, hunger, and removes effects.

/**
 * Command /heal - Restore health
 */
Commands.register('heal', function(sender, args) {
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    
    // Restore health
    player.setHealth(player.getMaxHealth());
    
    // Restore hunger
    player.setFoodLevel(20);
    player.setSaturation(20.0);
    
    // Remove effects
    player.getActivePotionEffects().forEach(function(effect) {
        player.removePotionEffect(effect.getType());
    });
    
    player.sendMessage('§a✓ You have been fully healed!');
    Console.log(player.getName() + ' used /heal');
    
}, 'scriptslab.heal');

Console.log('Command /heal registered');

Fly Command

Toggles flight for player.

/**
 * Command /fly - Toggle flight
 */
Commands.register('fly', function(sender, args) {
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    var currentFlight = player.getAllowFlight();
    player.setAllowFlight(!currentFlight);
    
    var msg = player.getAllowFlight() ? '§a✓ Flight enabled!' : '§c✗ Flight disabled!';
    player.sendMessage(msg);
    
    Console.log(player.getName() + ' toggled flight: ' + player.getAllowFlight());
}, 'scriptslab.fly');

Console.log('Command /fly registered');

Spawn Teleport Command

Teleports player to world spawn.

/**
 * Command /spawn - Teleport to spawn
 */
Commands.register('spawn', function(sender, args) {
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    var world = player.getWorld();
    
    // Get spawn coordinates
    var spawn = world.getSpawnLocation();
    
    player.teleport(spawn);
    player.sendMessage('§aYou have been teleported to spawn!');
    
    Console.log(player.getName() + ' teleported to spawn');
});

Console.log('Command /spawn registered');

Command with Arguments

Example command with arguments.

/**
 * Command /warp <name> - Teleport to warp
 */
Commands.register('warp', function(sender, args) {
    // Check arguments
    if (args.length === 0) {
        sender.sendMessage('§cUsage: /warp <name>');
        sender.sendMessage('§7Available warps: spawn, shop, arena');
        return;
    }
    
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var warpName = args[0].toLowerCase();
    var player = sender;
    
    // Warp coordinates
    var warps = {
        'spawn': {x: 0, y: 100, z: 0},
        'shop': {x: 100, y: 100, z: 0},
        'arena': {x: -100, y: 100, z: 0}
    };
    
    // Check if warp exists
    if (!warps[warpName]) {
        sender.sendMessage('§cWarp not found: ' + warpName);
        return;
    }
    
    // Teleport
    var world = player.getWorld();
    var Location = Java.type('org.bukkit.Location');
    var location = new Location(
        world,
        warps[warpName].x,
        warps[warpName].y,
        warps[warpName].z
    );
    
    player.teleport(location);
    player.sendMessage('§aTeleported to §e' + warpName + '§a!');
    
    Console.log(player.getName() + ' teleported to ' + warpName);
});

Console.log('Command /warp registered');

Give Item Command

Gives player a specific item.

/**
 * Command /give <item> [amount] - Give item
 */
Commands.register('give', function(sender, args) {
    // Check arguments
    if (args.length === 0) {
        sender.sendMessage('§cUsage: /give <item> [amount]');
        sender.sendMessage('§7Available items: diamond, emerald, book');
        return;
    }
    
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    var itemName = args[0].toLowerCase();
    var amount = args.length > 1 ? parseInt(args[1]) : 1;
    
    // Name mapping
    var materials = {
        'diamond': 'DIAMOND',
        'emerald': 'EMERALD',
        'gold': 'GOLD_INGOT',
        'iron': 'IRON_INGOT',
        'book': 'BOOK',
        'apple': 'GOLDEN_APPLE',
        'enchant': 'ENCHANTED_BOOK'
    };
    
    // Check if item exists
    if (!materials[itemName]) {
        sender.sendMessage('§cUnknown item: ' + itemName);
        return;
    }
    
    // Get Material
    var Material = Java.type('org.bukkit.Material');
    var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
    
    var material = Material.valueOf(materials[itemName]);
    var item = new ItemStack(material, amount);
    
    // Give item
    player.getInventory().addItem(item);
    player.sendMessage('§aYou received §e' + amount + 'x ' + itemName);
    
    Console.log(player.getName() + ' received ' + itemName + ' x' + amount);
}, 'scriptslab.give');

Console.log('Command /give registered');

Kill Command

Kills target (self or other player).

/**
 * Command /kill [player] - Kill player
 */
Commands.register('kill', function(sender, args) {
    var target = sender;
    
    // If player specified
    if (args.length > 0) {
        // Check permissions
        if (!sender.hasPermission('scriptslab.kill.others')) {
            sender.sendMessage('§cNo permission!');
            return;
        }
        
        var targetName = args[0];
        target = Players.get(targetName);
        
        if (target === null) {
            sender.sendMessage('§cPlayer not found: ' + targetName);
            return;
        }
    }
    
    // Check: target must be player
    if (!target.isPlayer()) {
        sender.sendMessage('§cTarget is not a player!');
        return;
    }
    
    // Kill player
    target.setHealth(0.0);
    
    if (target === sender) {
        sender.sendMessage('§cYou committed suicide!');
    } else {
        sender.sendMessage('§aYou killed §e' + target.getName());
        target.sendMessage('§cYou were killed by §e' + sender.getName());
    }
    
    Console.log(sender.getName() + ' killed ' + target.getName());
}, 'scriptslab.kill');

Console.log('Command /kill registered');

Heal Other Command

Heal another player.

/**
 * Command /healother <player> - Heal another player
 */
Commands.register('healother', function(sender, args) {
    // Check arguments
    if (args.length === 0) {
        sender.sendMessage('§cUsage: /healother <player>');
        return;
    }
    
    // Check permissions
    if (!sender.hasPermission('scriptslab.healother')) {
        sender.sendMessage('§cNo permission!');
        return;
    }
    
    var targetName = args[0];
    var target = Players.get(targetName);
    
    if (target === null) {
        sender.sendMessage('§cPlayer not found: ' + targetName);
        return;
    }
    
    // Heal
    target.setHealth(target.getMaxHealth());
    target.setFoodLevel(20);
    target.setSaturation(20.0);
    
    target.getActivePotionEffects().forEach(function(effect) {
        target.removePotionEffect(effect.getType());
    });
    
    sender.sendMessage('§aYou healed §e' + targetName);
    target.sendMessage('§aYou were healed by §e' + sender.getName());
    
    Console.log(sender.getName() + ' healed ' + targetName);
}, 'scriptslab.healother');

Console.log('Command /healother registered');

Time Command

Sets time of day.

/**
 * Command /time set <day|night> - Set time
 */
Commands.register('time', function(sender, args) {
    // Check arguments
    if (args.length === 0 || args[0] !== 'set') {
        sender.sendMessage('§cUsage: /time set <day|night>');
        return;
    }
    
    if (args.length < 2) {
        sender.sendMessage('§cUsage: /time set <day|night>');
        return;
    }
    
    var timeType = args[1].toLowerCase();
    var world = sender instanceof org.bukkit.entity.Player 
        ? sender.getWorld() 
        : org.bukkit.Bukkit.getWorlds().get(0);
    
    // Set time
    var time = timeType === 'day' ? 1000 : 13000;
    world.setTime(time);
    
    var msg = timeType === 'day' ? '§eDay' : '§8Night';
    Server.broadcast('§aTime set to: ' + msg);
    
    Console.log('Time changed to ' + timeType);
});

Console.log('Command /time registered');

Weather Command

Sets weather.

/**
 * Command /weather <sun|rain|storm> - Set weather
 */
Commands.register('weather', function(sender, args) {
    // Check arguments
    if (args.length === 0) {
        sender.sendMessage('§cUsage: /weather <sun|rain|storm>');
        return;
    }
    
    var weatherType = args[0].toLowerCase();
    var world;
    
    if (sender.isPlayer()) {
        world = sender.getWorld();
    } else {
        world = org.bukkit.Bukkit.getWorlds().get(0);
    }
    
    // Set weather
    if (weatherType === 'sun') {
        world.setStorm(false);
        world.setThundering(false);
        Server.broadcast('§eWeather: Clear');
    } else if (weatherType === 'rain') {
        world.setStorm(true);
        world.setThundering(false);
        Server.broadcast('§eWeather: Rain');
    } else if (weatherType === 'storm') {
        world.setStorm(true);
        world.setThundering(true);
        Server.broadcast('§eWeather: Storm');
    } else {
        sender.sendMessage('§cUnknown weather: ' + weatherType);
        sender.sendMessage('§cAvailable: sun, rain, storm');
        return;
    }
    
    Console.log('Weather changed to ' + weatherType);
});

Console.log('Command /weather registered');

Clear Inventory Command

Clears player inventory.

/**
 * Command /clear - Clear inventory
 */
Commands.register('clear', function(sender, args) {
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    
    // Clear inventory
    player.getInventory().clear();
    player.getEquipment().clear();
    
    player.sendMessage('§aInventory cleared!');
    Console.log(player.getName() + ' cleared inventory');
});

Console.log('Command /clear registered');

Speed Command

Changes movement speed.

/**
 * Command /speed <number> - Change speed
 */
Commands.register('speed', function(sender, args) {
    // Check: players only
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    // Check arguments
    if (args.length === 0) {
        sender.sendMessage('§cUsage: /speed <1-10>');
        return;
    }
    
    var speed = parseFloat(args[0]);
    
    // Check range
    if (speed < 1 || speed > 10) {
        sender.sendMessage('§cSpeed must be between 1 and 10!');
        return;
    }
    
    var player = sender;
    
    // Set speed (player can be in Creative or Survival)
    // Note: this is a simplified example
    var Attribute = Java.type('org.bukkit.attribute.Attribute');
    var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
    var UUID = Java.type('java.util.UUID');
    
    player.sendMessage('§aSpeed set to §e' + speed);
    Console.log(player.getName() + ' changed speed to ' + speed);
});

Console.log('Command /speed registered');

Command Summary

Key + Command = Ready!

ScriptFileName
Healingheal_command.js/heal
Flightfly_command.js/fly
Teleportspawn_command.js/spawn
Warpswarp_command.js/warp
Itemsgive_command.js/give

Next Steps

StepDescription
EventsEvent handling
SchedulerTask scheduling
ItemsCustom items

Last updated Apr 29, 2026, 6:38 AM
Edit