MCalc
Активный0.0
Установок
Последнее обновление
Версии
MCalc
Универсальная библиотека для разработчиков датапаков, предлагающая набор полезных функций для упрощения создания сложных механик в Minecraft.
Основные возможности
- Генерация случайных чисел в заданном диапазоне через систему очков
- Реализация движения объектов в определенном направлении
- Мгновенное удаление существ без анимации смерти
- Сброс опыта игрока (уровни и очки)
- Защита существ от возгорания с помощью специального тега
- Дополнительные теги для существ: #animals, #breedable, #tameable и #undead
Примеры использования
Генерация случайного числа
Задайте минимальное и максимальное значение для генерации случайного числа:
scoreboard players set <entity> mcalc.min 1
scoreboard players set <entity> mcalc.max 10
execute as <entity> run function mcalc:random
Результат сохраняется в очках "mcalc.random":
tellraw @a {"score":{"name":"<entity>","objective":"mcalc.random"}}
Движение объектов
Пример создания файрбола с заданным направлением:
function mcalc:calc
summon minecraft:fireball ^ ^1.5 ^.5 {Tags:["test.fireball"]}
data modify entity @e[tag=test.fireball,limit=1,sort=nearest] Owner set from entity @s UUID
execute store result entity @e[tag=test.fireball,limit=1,sort=nearest] power[0] double -0.00025 run scoreboard players get @s mcalc.mx
execute store result entity @e[tag=test.fireball,limit=1,sort=nearest] power[1] double -0.00025 run scoreboard players get @s mcalc.my
execute store result entity @e[tag=test.fireball,limit=1,sort=nearest] power[2] double -0.00025 run scoreboard players get @s mcalc.mz
tag @e[tag=test.fireball,limit=1,sort=nearest] remove test.fireball
Запуск функции:
execute as <entity> at @s run function <datapack>:throw_fireball
Быстрое удаление существа
execute as <entity> at @s run function mcalc:kill
Сброс опыта игрока
execute as <player> run function mcalc:reset_xp
Защита от огня
Создайте существо, которое не может загореться:
summon zombie ~ ~ ~ {Tags:["mcalc.unfire"]}
Новые теги существ
Используйте расширенные теги для фильтрации:
kill @e[type=#undead]