01Обзор механизма
Каждая группа питания — независимая шкала 0–100. Еда может влиять на несколько групп; при снижении голода группы уменьшаются с настроенной скоростью.
Вклад одной еды в разные группы различается: например, яблоко повышает фрукты и сахар. Различия между продуктами формируют структуру рациона.
Пример панели питания
Нажмите H, чтобы открыть панель. Названия групп, цвета и диапазоны этапов берутся из встроенного JSON основной ветки Forge; наведите или сфокусируйте этап клавиатурой, чтобы увидеть предпросмотр настроенных бонусов. У этапов по умолчанию нет ручных названий и описаний, поэтому подсказка показывает только диапазон, настроенные бонусы и необходимое уведомление о команде.
nutrition_groups.json и nutrition_stages/*.json, nutrition_bonuses/*.json стандартного датапака; цвета — из color_schemes.json. Например, у стандартных овощей initialValue 42, decayRate 6; 55% на рисунке лишь показывает бонус диапазона 46–60. Подсказки бонусов основаны на HealthyDietScreen и BonusTooltipUtil, а не на произвольных описаниях в стандартной конфигурации.02Рост и снижение
Прирост от еды и снижение от голода — два независимых пути расчёта.
Прирост примерно равен базовому значению еды × множителю получения группы; при пожизненном отвращении добавляется коэффициент снижения. После расчёта значение ограничивается 0–100. Команды администратора, естественное снижение и начальные значения не используют множитель получения.
- 1Диапазон всегда 0–100. Дроби сохраняются, после расчёта значение ограничивается границами.
- 2Этапы определяются по целым. Текущее значение округляется, затем сопоставляется этапу; например, 59.6 считается как 60.
- 3Смерть не очищает питание. При возрождении данные копируются вместе со способностями игрока.
/headiet и настройках сервера.03Этапы
Этап — диапазон питания и связанное поведение; заголовок, описание и команда клика редактируются на странице этапов, а постоянные эффекты и бонусы атрибутов для нескольких групп — на отдельной странице эффектов по условиям диапазонов.
Границы этапов целые. Редактор проверяет соседние диапазоны, чтобы значения не попадали в промежутки; при определении сначала округляется значение, затем ищется диапазон.
Настройки этапа
В игре /hdui stage: этап/команда/описание
Требуется OP4; слева только включённые группы питания. Три рисунка ниже показывают структуру каждой вкладки; ссылки на вкладки ведут к соответствующему рисунку. Кнопки и поля — только для чтения и не сохраняют настройки игры.
StageManageScreen.buildContentTabs/buildEffectButton/buildStageBottomButtons, buildCommandRows/buildDescriptionRows и текущие подписи zh_cn.04Бонусы и связи
Отдельная страница эффектов задаёт постоянные модификаторы атрибутов и эффекты зелий для комбинации диапазонов одной или нескольких групп; при выполнении всех условий срабатывает связанный бонус. Это не страница однократных эффектов после еды.
Отдельная страница эффектов и бонусов атрибутов
Вход — зелёная кнопка «Эффекты» на странице этапов; показываются только включённые группы. Нажатие этапа на полосе заполняет границы; после ручного ввода нажмите «Свой диапазон», чтобы отправить. Shift-клик добавляет/снимает этапы; при выборе нескольких групп каждая комбинация диапазонов сохраняется в nutrition_bonuses отдельно, это не таблица одного этапа.
EffectManageScreen.buildGroupRangeControls/buildBottomButtons/saveEffectRows и текущие подписи zh_cn. Однократные эффекты предмета см. в эффектах зелий при употреблении.05Условные правила
Обычный расчёт питания выполняется при еде; условные правила после него определяют дополнительные изменения или команды по диапазонам питания.
Правило может проверять несколько групп и при выполнении всех условий менять любую группу, выполнять команды или и то и другое. Группы условий и цели могут различаться.
Одно правило · пример
Две частые настройки
Условие: мясо 0–86. Цель: мясо +20.
При 80 еда поднимает максимум до 86; при 90 условие не выполняется и роста нет.
Условие: мясо 86–100. Цель: мясо -30.
При 95 еда снижает примерно до 86 и останавливается, не уходя в низкий диапазон.
06Редактор и варианты
Держите предмет и введите /hdui, чтобы открыть настройки этого предмета.
Редактор объединяет питание, пресыщение, жажду, голод, стак, качество, срок годности, эффекты, команды, условия и удаление эффектов. Рисунок ниже — схема, не скриншот.
Другой вход: вкладка питания /hdui create
/hdui create требует OP4 и создаёт/изменяет определения групп, а не текущие значения игрока. Качество и редкость — две другие вкладки того же редактора; схема качества, схема редкости.
HdCreateScreen.buildGroupForm/buildHeaderButtons/groupErrors; регистрация новых предметов — менеджер регистрации.Варианты NBT: отдельные настройки одного предмета
Один предмет можно разделить по NBT на варианты, каждый со своей настройкой; при еде используется настройка совпавшего варианта. Например, разные NBT одного зелья могут давать разное питание.
Частые входы
/hdui create(OP4): создание/изменение групп, качества и редкости; ID группы после создания не меняется, отдельные предметы не регистрируются./hdui stage(OP4): этап/команда/описание, зелёная кнопка «Эффекты» ведёт на отдельную страницу бонусов./hdui groups [игрок](OP4): экран управления значениями себя или указанного игрока, а не обычная панель и не определение группы./hdui registry(OP4): менеджер регистрации, просмотр, обновление и удаление записей; новые ID действуют по процедуре запуска./hdui tooltip(OP4): вход редактирования подсказки предмета; см. редактирование подсказки.
Определения групп хранятся в датапаке; создание и изменение в редакторе пишутся в оверлей настроек. Старая команда /hdgroups удалена.
07Управление и команды
Обычный игрок видит свою панель; изменение значений других игроков или приостановка групп требуют прав.
| Команда | Права / назначение и цель |
|---|---|
/headiet или /headiet open | Сам игрок, OP не нужен: отправить панель себе. |
/headiet open <игрок> | OP2: отправить панель указанному игроку, а не смотреть её за него. |
/headiet add <игрок> <группа> <значение> | OP4: увеличить значение группы; 0–100, можно дробь. |
/headiet subtract <игрок> <группа> <значение> | OP4: уменьшить значение группы; 0–100, можно дробь. |
/headiet set <игрок> <группа> <значение> | OP4: установить значение группы; 0–100, можно дробь. |
/hdui groups [игрок] | OP4: открыть экран управления питанием себя или игрока, менять значения или приостанавливать группы; не редактирование определений. |
08Итоги
- Диапазон 0–100. Дроби сохраняются, при определении этапа округляются.
- Питание снижается по расходу голода со своей скоростью. Насыщение не участвует; смерть не очищает.
- Этапы управляют постоянным состоянием, условные правила — однократным расчётом еды. Фактические группы, пороги и эффекты зависят от сервера.