🧰 Введение
Интеграция мода Sanity с KubeJS, предоставляющая разработчикам расширенный контроль над функциональностью системы рассудка. Пользователи KubeJS получают возможность настраивать и модифицировать различные аспекты механики безумия.
🔧 Реализованные возможности
1. События в KubeJS
Система событий позволяет реагировать на изменения уровня рассудка игрока:
SanityEvents.change(event => {
// Получаем предыдущее и текущее значение рассудка
let oldSanity = event.getPreviousSanity();
let newSanity = event.getSanity();
// Пример: применение эффектов при низком рассудке
if (newSanity <= 20) {
event.getEntity().addPotionEffect('minecraft:nausea', 200, 1);
}
});
SanityEvents.indicatorRender(event => {
event.cancel();
})
2. Методы управления рассудком
Набор инструментов для прямого управления значениями рассудка:
getSanity(): Возвращает текущий уровень рассудкаgetPreviousSanity(): Показывает значение рассудка до измененияsetSanity(value): Устанавливает конкретное значение рассудка (0-100)addSanity(value): Увеличивает рассудок на указанное количествоplayer.getSanity(): Прямое получение рассудка игрока
3. Вспомогательные функции
Математические утилиты для работы с значениями рассудка:
clampNorm(value): Нормализует число в диапазон от 0 до 1unclampNorm(normalizedValue): Преобразует нормализованное значение обратно в читаемое числоapproximation(value, n): Округляет число до n знаков после запятой для точных расчетов
🔍 Планы по улучшению
Расширение системы событий для полного контроля над функцией tickPlayer мода Sanity. Добавление дополнительных событий рендеринга для более тонкой настройки визуальных эффектов. Включение новых источников изменения рассудка, таких как воздействие окружающей среды или взаимодействие с определенными мобами.
🔄 Будущие разработки
Реализация пассивных источников восстановления рассудка с возможностью горячей перезагрузки. Настройка видимых правил в зависимости от текущего уровня рассудка игрока. Эти улучшения сделают интеграцию Sanity с KubeJS еще более гибкой и интерактивной для разработчиков и игроков.