Датапак-библиотека для Майнкрафт, упрощающая создание других датапаков. Она даёт готовые функции для чата, игроков, боя, мира, сущностей, инвентаря, звуков, телепортации и работы со счётчиками.

Возможности
- вывод сообщений в чат, всем игрокам, в заголовок экрана и над панелью быстрого доступа;
- полное лечение и восстановление сытости игрока, снятие эффектов и заморозка движения;
- нанесение урона и установка точного запаса здоровья;
- смена времени суток и погоды;
- проверка дня или ночи, ограничение числа в счётчике, модуль числа и случайное число в заданном диапазоне;
- уничтожение, подсчёт, заморозка и подсветка мобов выбранного типа;
- очистка ячейки инвентаря, безопасная выдача предметов при наличии свободного места и обмен предметами между основной рукой и второй рукой;
- воспроизведение звуков, сохранение и загрузка точек телепортации, обмен позициями двух игроков.
Команды
Параметры функций передаются через хранилище arlib:input, затем вызывается нужная функция:
data merge storage arlib:input {param1:"value1",param2:"value2"}
function arlib:<category>/<name> with storage arlib:input
Для чата используются arlib:chat/send, arlib:chat/broadcast, arlib:chat/title, arlib:chat/actionbar и arlib:chat/clear. У функций сообщений есть параметры prefix, color, message и, где нужно, target.
Управление игроками доступно через arlib:player/heal, arlib:player/feed, arlib:player/clear_effects и arlib:player/freeze; для заморозки укажите state:"freeze", для отмены — state:"unfreeze".
Для боя есть arlib:combat/damage с параметром amount, где единица равна половине сердца, и arlib:combat/set_health с параметром health от 1 до 20.
Время и погода меняются функциями arlib:world/time_set и arlib:world/weather_set: допустимые значения времени — day, noon, night, midnight, погоды — clear, rain, thunder. Проверки arlib:time/is_day и arlib:time/is_night записывают результат в #is_day arlib.temp и #is_night arlib.temp.
Для сущностей предусмотрены arlib:entity/kill_type, arlib:entity/count_type, arlib:entity/freeze_all, arlib:entity/glow и arlib:entity/glow_remove. Тип моба передаётся идентификатором, например minecraft:creeper.
Инвентарь управляется функциями arlib:inventory/clear_slot, arlib:inventory/give_safe и arlib:inventory/swap_offhand. Для ячеек используются пути вроде container.0, armor.head и weapon.offhand.
Для звуков используйте arlib:sound/play или arlib:sound/alert. Точки телепортации сохраняются через arlib:tp/save и загружаются через arlib:tp/load; обе функции нужно запускать от лица игрока: execute as @s run function .... Функция arlib:tp/swap меняет местами позиции двух игроков.
Требования
Для математических функций сначала должна быть выполнена arlib:load. Отладочные сообщения включаются командой scoreboard players set #debug arlib.dev 1 и видны только игрокам с тегом arlib.debug; тег выдаётся через tag @s add arlib.debug.
