
Utils
Библиотека утилит для создания датапаков в Minecraft. Добавляет готовые функции для работы с сущностями, игроками, движением и хранением данных.
Utils - это датапак-библиотека для Майнкрафт (Minecraft), которая предоставляет набор готовых функций и инструментов для упрощения создания собственных датапаков. Если вы пишете функции на mcfunction и хотите избежать повторения одних и тех же команд - Utils сэкономит вам кучу времени.
Возможности
- Глобальные функции (очистка чата, скрытие сайдбара)
- Функции для сущностей (деспаун, сброс атрибутов, полное исцеление)
- Функции для игроков (очистка чата, сброс опыта, получение всех очков опыта, случайная телепортация)
- Движение сущности в направлении взгляда
- Хранилище данных для каждой сущности
- Константы (0-1000)
- ID игрока в виде счета
- Предикаты (проверка неба, эффектов, биомов, структур, измерений, освещения, погоды и т.д.)
- Модификаторы предметов (изменение количества, блеска зачарования, редкости, прочности и т.д.)
- Теги сущностей (группы мобов)
- Макро-функции
- Кастомный остаток использования
Команды
Глобальные
Очистить чат всем игрокам:
/function utils:global/clear_chat
Скрыть сайдбар:
/function utils:global/hide_sidebar
Сущности
Деспаун сущности/моба:
/execute as @n[type=zombie] run function utils:entity/despawn
Сброс всех атрибутов:
/execute as @n[type=zombie] run function utils:entity/reset_all_attributes
Полное исцеление:
/execute as @n[type=iron_golem] run function utils:entity/heal_full
Игроки
Очистить чат игроку:
/function utils:player/clear_chat
Сброс опыта:
/function utils:player/xp/reset
Получить все очки опыта:
/function utils:player/xp/get_all_points
Функция возвращает все очки опыта и сохраняет их в счет utils.player.xp.total_points.
Случайная телепортация (для пустых миров):
/function utils:player/random_tp
Движение
Пример с использованием макросов:
function utils:motion/calc
summon fireball ^ ^ ^.5
execute store result entity @n[type=fireball] Motion[0] double -0.00025 run scoreboard players get @s utils.motion.mx
execute store result entity @n[type=fireball] Motion[1] double -0.00025 run scoreboard players get @s utils.motion.my
execute store result entity @n[type=fireball] Motion[2] double -0.00025 run scoreboard players get @s utils.motion.mz
Или через Storage и Macro:
function utils:motion/storage {"value":"-0.00025"}
summon fireball ^ ^ ^.5
data modify entity @n[type=fireball] Motion set from storage utils:motion motion
Хранилище данных по сущности
Создание данных
Есть два способа: set (абсолютное значение) и append (добавление в массив).
# абсолютное
/function utils:entity/storage/set {"path":"lives","data":3}
/function utils:entity/storage/set {"path":"name","data":'"lullaby6"'}
# массив
/function utils:entity/storage/append {"path":"deaths","data":1}
/function utils:entity/storage/append {"path":"deaths","data":2}
/function utils:entity/storage/append {"path":"deaths","data":3}
Запуск функции с данными сущности
/function utils:entity/storage/function {"function":"namespace:say_lives"}
Файл say_lives.mcfunction:
$say $(lives)
Удаление данных
# абсолютное
/function utils:entity/storage/remove/data {"path":"lives"}
/function utils:entity/storage/remove/data {"path":"name"}
# массив
/function utils:entity/storage/remove/first {"path":"deaths"}
/function utils:entity/storage/remove/index {"path":"deaths","index":1}
Константы
Константы от 0 до 1000. Проверить значение:
/scoreboard players get <число> utils.const
Пример:
/scoreboard players get 1 utils.const
ID игрока
Получить ID игрока:
/scoreboard players get @s utils.player.id
Предикаты
Доступные предикаты:
can/see_skyhas/effect/<эффект>(speed, regeneration...)has/passengerin/biome/<биом>in/structure/<структура>(village, desert_pyramid...)in/dimension/<измерение>(overworld, the_nether...)in/light/<уровень>(0, 5, 10...)is/raining,is/thundering,is/baby,is/falling,is/flying,is/ground,is/on_fire,is/riding,is/sneaking,is/sprinting,is/swimmingrandom/<шанс>(0.1 = 10%, 0.5 = 50%...)
Пример:
/execute as @s if predicate utils:is/on_fire run say I am on fire D:
Модификаторы предметов
Доступные модификаторы:
- count/add/<число>, count/remove/<число>, count/set/<число>
- enchantment_glint_override/
- max_stack_size/<число>
- rarity/<редкость>
- remove_component/<компонент>
- repair_cost/<число>
- tooltip/<имя>/<show|hide>
- use_cooldown/<время> (1s, 2s...)
- damage/add/0.<число>, damage/set/0.<число>
- clear_bundle, clear_container
- death_protection
- enchant_randomly_compatible
- enchant_randomly
- furnace_smelt
- glider
- hide_additional_tooltip
- hide_tooltip
- non_consumable
- one_use
- remove_container_loot
- repair
- unbrekeable
Пример:
/execute if items entity @s weapon.mainhand minecraft:raw_iron run item modify entity @s weapon.mainhand utils:furnace_smelt
Теги сущностей
Группы тегов: all_boats, animals, aquatics_animals..., team_player. Пример:
/effect give @e[type=#utils:team_player] glowing 1 0
