Перейти к основному содержимому

Быстрый старт

Создайте ваш первый скрипт за 5 минут.

Создание скрипта

  1. Откройте папку plugins/EasyScript/scripts/
  2. Создайте файл hello.js
  3. Добавьте код:
// Импорт класса события
const PlayerJoinEvent = Java.type('org.bukkit.event.player.PlayerJoinEvent');

// Подписка на событие входа игрока
events.on(PlayerJoinEvent, (event) => {
const player = event.getPlayer();
player.sendMessage("§aДобро пожаловать на сервер!");
});
  1. Перезагрузите скрипты: /es reload

Что доступно в скриптах

Глобальные объекты

ОбъектОписание
pluginЭкземпляр плагина
serverBukkit Server
loggerЛоггер
eventsAPI событий
commandsAPI команд
schedulerПланировщик
placeholderPlaceholderAPI
papiКастомные плейсхолдеры
BukkitКласс org.bukkit.Bukkit

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

// plugins/EasyScript/scripts/greeting.js

// Регистрация команды /hello
commands.register("hello", "Приветствие игрока", "/hello", (sender, args) => {
sender.sendMessage("§bПривет от EasyScript!");
});

Пример: Сообщение с задержкой

const PlayerJoinEvent = Java.type('org.bukkit.event.player.PlayerJoinEvent');

events.on(PlayerJoinEvent, (event) => {
const player = event.getPlayer();

// Мгновенное сообщение
player.sendMessage("§aДобро пожаловать!");

// Через 5 секунд
scheduler.runLater(100, () => {
if (player.isOnline()) {
player.sendMessage("§eНе забудьте прочитать правила!");
}
});
});

Пример: Использование плейсхолдеров

const PlayerJoinEvent = Java.type('org.bukkit.event.player.PlayerJoinEvent');

events.on(PlayerJoinEvent, (event) => {
const player = event.getPlayer();

// Обработка плейсхолдеров
const msg = placeholder.setPlaceholders(player,
"§6Привет, %player_name%! Баланс: %vault_eco_balance%$"
);

player.sendMessage(msg);
});

Пример: Создание кастомных плейсхолдеров

// Регистрация плейсхолдера: %easyscript_deaths%
papi.registerPlaceholder("deaths", (player, params) => {
if (!player.isOnline()) return "0";

const p = player.getPlayer();
return p.getStatistic(org.bukkit.Statistic.DEATHS).toString();
});

// Вызов: %easyscript_deaths% (сработает как с _, так и без)
примечание

Кастомные плейсхолдеры можно вызывать как с подчёркиванием в конце, так и без него:

  • %easyscript_deaths%
  • %easyscript_deaths_%

Оба варианта работают одинаково.

Горячая перезагрузка

После изменения скрипта выполните:

/es reload

Скрипты перезагрузятся без перезапуска сервера.

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