
Expressions Provider
Плагин для MiniPlaceholders, который добавляет плейсхолдеры для сложных математических и текстовых выражений. Позволяет вычислять, форматировать строки, создавать условия - прямо в плейсхолдерах на сервере Minecraft.
Expressions Provider
Expressions Provider - это расширение для MiniPlaceholders, которое добавляет мощные плейсхолдеры для математических операций и работы со строками. Если стандартных плейсхолдеров на сервере Майнкрафт вам не хватает и хочется выводить динамические значения (например, результат вычислений, форматированные числа, объединённые строки) - этот плагин решит проблему.
С ним можно делать почти всё, что умеет обычный калькулятор или простой скриптовый язык, но прямо внутри плейсхолдеров: складывать, вычитать, умножать, округлять, брать случайные числа, склеивать строки, вырезать подстроки, проверять условия. И всё это - без установки сложных плагинов вроде Skript или Denizen.
Установка
- Установите MiniPlaceholders (если ещё не стоит).
- Поместите jar-файл Expressions Provider в папку
modsилиpluginsв зависимости от платформы (Fabric, Forge, Bukkit/Spigot).
Плагин не требует дополнительных настроек - после установки все плейсхолдеры сразу доступны.
Доступные плейсхолдеры
Базовые математические операции
- Сложение
<expr_add:n1:n2:...:nX>- складывает любое количество чисел.<expr_add:5:2:3>→ 10 - Вычитание
<expr_sub:n1:n2>- вычитает второе из первого.<expr_sub:10:3>→ 7 - Умножение
<expr_mul:n1:n2:...:nX>- перемножает числа.<expr_mul:5:2:3:6>→ 180 - Деление
<expr_div:n1:n2>- делит первое на второе.<expr_div:10:5>→ 2 - Остаток от деления
<expr_mod:n1:n2>.<expr_mod:5:2>→ 1 - Смена знака
<expr_neg:n>.<expr_neg:5>→ -5,<expr_neg:-5>→ 5
Округление и выбор
- Округление вниз (пол)
<expr_floor:n>.<expr_floor:5.05>→ 5 - Округление до ближайшего целого
<expr_round:n>.<expr_round:2.9>→ 3 - Округление вверх (потолок)
<expr_ceil:n>.<expr_ceil:5.05>→ 6 - Минимальное значение
<expr_min:n1:n2:...:nX>.<expr_min:5:10:15:2:500:9:69>→ 2 - Максимальное значение
<expr_max:n1:n2:...:nX>.<expr_max:5:10:15:2:500:9:69>→ 500 - Случайное число от 0 до 1
<expr_random>(аналогично<expr_random:0:1:0.01>). - Случайное целое от min до max
<expr_random:min:max>.<expr_random:1:100>→ 69 - Случайное число с шагом
<expr_random:min:max:step>.<expr_random:50:10:0.25>→ 68.75
Операции со строками
- Склеивание строк
<expr_concat:s1:s2:...:sN>.<expr_concat:hello:_:world>→ "hello_world" - Подстрока
<expr_substring:s:n1:n2>- символы с n1 по n2 (не включая n2).<expr_substring:hello:2:4>→ "ll" - Длина строки
<expr_length:s>.<expr_length:hello>→ 5 - Форматирование через Java String.format
<expr_format:format:arg1:...:argX>.<expr_format:'%s is not a %s':4drian3d:fruit>→ "4drian3d is not a fruit" - Условие (если равно)
<expr_if:o1:o2:r1:r2>- если o1 и o2 совпадают, выводит r1, иначе r2.<expr_if:1:2:Equals:NotEquals>→ "NotEquals" - Плейсхолдер для игрока по UUID
<expr_player:uuid:text>.<expr_player:4drian3dUUID:<player_name>>→ 4drian3d - Плейсхолдер для игрока по нику
<expr_player:name:text>.<expr_player:4drian3d:<player_ping>>→ 42 - Пользовательское выражение
<expr_user:name:arg1:...:argX>- вызывает ваш собственный шаблон.
Пользовательские выражения (User expressions)
Если стандартных плейсхолдеров мало, можно создать свои сокращения в файле expressions.properties на специальном языке EPL (Expression Provider Language). Например:
add_and_multiply=<expr_add:"<arg1>":"<expr_mul:'<arg2>':'<arg3>'>">
Тогда плейсхолдер <expr_user:add_and_multiply:2:3:4> будет вычислен как 2 + (3 * 4) = 14.
Примеры полезных пользовательских выражений
- Удалить первые n символов:
remove_first=<expr_substring:"<arg1>":"<arg2>":"<expr_length:'<arg1>'>"><expr_user:remove_first:hello:2>→ "llo" - Удалить последние n символов:
remove_last=<expr_substring:"<arg1>":0:"<expr_sub:'<expr_length:"<arg1>">':'<arg2>'>"><expr_user:remove_last:hello:2>→ "hel" - Форматировать число до заданного количества знаков:
decimals=<expr_format:"<expr_concat:'%.0':'<arg2>':'f'>":"<arg1>"><expr_user:decimals:1.234567:2>→ "1.23" - Дополнить целое число нулями слева:
pad_integer=<expr_format:"<expr_concat:'%0':'<arg1>':'d'>":"<arg2>"><expr_user:pad_integer:12:3>→ "012"
Вложенность плейсхолдеров
Одна из самых сильных сторон Expressions Provider - поддержка вложенности. Плейсхолдеры можно вкладывать друг в друга сколько угодно глубоко. Вот безумный, но рабочий пример:
/miniplaceholders parse me <expr_add:1:"<expr_add:1:'<expr_add:1:"<expr_add:1:'<expr_add:1:0>'>">'>">
На практике это позволяет строить сложные цепочки вычислений и форматирования прямо внутри одного плейсхолдера.
Зачем это нужно на сервере Майнкрафт
Часто админы хотят выводить в табе, чате или на скорборде не просто статичные данные, а что-то вроде:
- "Урон: 45.7" (округлённое значение из переменной)
- "Онлайн: 12/20" (соотношение, вычисленное на лету)
- "Твоя статистика: 89%" (процент от максимума)
- "Следующее событие через 2 дня 5 часов" (разница во времени)
Стандартные плейсхолдеры MiniPlaceholders такого не умеют - им нужна помощь. Expressions Provider даёт эти возможности без единой строчки кода на Java. Всё настраивается через конфиг и файл пользовательских выражений.
Сервер для плагина Expressions Provider - как у профи
Плагин Expressions Provider создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Expressions Provider для друзей можно за пару минут - BungeeHost всё уже подготовил.
