

Set Effects
Активный0.0
Установок
Последнее обновление
Set Effects - Инструмент для создания персонализированных сетов брони
Set Effects открывает перед разработчиками возможность создавать в Minecraft полностью настраиваемые комплекты брони с уникальными свойствами. Используя гибкую систему KubeJS-скриптов, этот модификатор позволяет тонко настраивать бонусные эффекты и характеристики игровых сетов.
Основные возможности:
- Система бонусов на основе идентификаторов предметов - отслеживание срабатывания эффектов по ID конкретных элементов
- Поддержка всех слотов экипировки:
- Руки (включая основную и дополнительную)
- Броня (от шлема до ботинок)
- Аксессуары Curios
В рамках каждого комплекта вы можете:
- Добавлять зельевые эффекты любого уровня
- Модифицировать характеристики персонажа
- Настраивать отображение подсказок в интерфейсе
- Встраивать пользовательские функции для различных игровых ситуаций (прыжков, атак и других действий)
Пример реализации через KubeJS:
Суть работы сводится к загрузке пакетов контента SetEffects и распределению необходимой функциональности между менеджерами диапазонов и событий.
// Загружаем SetEffects из пакетов контента
const SetEffects = ContentPacks.getShared('server', 'com.whisent.seteffects')
// Менеджер диапазонов позволяет настраивать радиус действия эффектов
const SetRangeManager = SetEffects.setRangeManager
// Основной интерфейс - менеджер событий для создания и модификации серов
const SetEvents = SetEffects.setEvents
// Создаем базовый набор из кожаной брони
SetEvents.registry(event => {
event.create([
"minecraft:leather_helmet",
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots"
], "leather")
.setName('Leather Set')
.addAttribute("minecraft:generic.max_health", uuid, 10, 'addition')
.addPotionEffect('speed', 0, false, false)
.addAttribute("minecraft:generic.attack_speed", UUID.fromString('38663ac4-26e0-ea8c-f65f-edb9e930c57c'), 0.3, 'addition')
.setCounts(4)
.injectFallFunc((event, set) => {
event.setDistance(event.getDistance() - 3)
})
})
/* Модифицировать уже созданные сеты не менее просто:
получить доступ к конкретному сету, всем активным с вооружением
или соответствующей карте возможно стандартными методами APIs
**/
SetEvents.modification(event => {})