Healthy DietFEATURE GUIDEРусский
REFERENCE / CONFIGURATION

Справочник настроек: файлы и интерфейс игры

Расположение серверных и клиентских файлов, значения по умолчанию, схема экранов настроек и правила обновления.

server.jsondisplay.jsonПросмотр UIГраницы перезагрузки
Значения по умолчанию и просмотр: «по умолчанию» означает начальное значение нового файла или кода, а не текущее значение сервера. HTML-интерфейс только для чтения, не подключается, не сохраняет и не показывает живые данные. Поля _note_* только для пояснения.

01Файлы, владельцы и обновление

Если не указано иное, пути указаны относительно config/healthy_diet/. Записи датапака находятся в data/<пространство имён>/healthy_diet/. Фильтр работает по файлу, области и полю.

Файл / каталогОбластьНазначениеОбычное обновление
server.jsonСерверИгровые правила, приватность, объединение стаков, тестовые логиЭкран OP или /hdreload
display.jsonЛокальный клиентМакет подсказки, единица температуры, режимы отображенияСохранение на клиенте; после ручной правки перезапуск клиента
colors/color_schemes.jsonОбе стороны / оформлениеИменованные градиенты для групп, качества, подсказок и схем/hdreload на сервере; локальные файлы клиента отдельно
colors/solid_colors.jsonОбе стороны / оформлениеПалитра выбора цвета в редакторе/hdreload на сервере; локально отдельно
fatigue/fatigue_gradient.jsonОформлениеЦвет и анимация строк пресыщения и восстановления/hdreload
fatigue/fatigue_exempt.jsonИгровые правила сервераID предметов, исключённых из счётчика восстановления/hdreload
shelf_life/seasons.jsonИгровые правила сервераСезонные множители порчи; резерв без Ecliptic Seasons/hdreload
shelf_life/schemes/*.jsonСинхронизируемое отображениеШаблоны, цвета и сезонные названия срока годности/hdreload и отправка схемы клиентам
temperature/block_heat.jsonИгровые правила сервераПравила тепла блоков без ветки температуры LSO/hdreload или сохранение экрана температуры
temperature/weather_offsets.jsonИгровые правила сервераСмещения дождя/снега и грозы по 24 сезонам/hdreload или экран температуры
temperature/day_night_offsets.jsonИгровые правила сервераСмещения полудня/полуночи по 24 сезонам/hdreload или экран температуры
temperature/season_temperature.jsonИгровые правила сервераДополнительные смещения температуры по сезонам (поверх климата EC)/hdreload или экран температуры
bottle_fills.jsonИгровые правила сервераРасход и результат при ПКМ по источнику жидкости/hdreload
fog_effects.jsonЛокальный клиентРасстояние тумана под водой/в лаве для эффектовПеречитать локальный файл клиента, не сервер
item_rarities.jsonСервер / синхронизацияРезервные ID редкости уровня предмета/hdreload; /hdset rarity также обновляет
tooltip_templates.jsonЛокальный редакторЛокальные шаблоны строк подсказкиРедактор читает/пишет локальный экземпляр; не глобальная синхронизация
quality_registry/*.jsonРегистрация при запускеНовые ID предметов, источник, модель, качество, поведение, лимит стакаПерезапуск обеих сторон для новых/удалённых ID
datapack/data/<ns>/healthy_diet/Датапак мира + оверлей HDitems / tooltips / blocks / nutrition_* / quality_levels / rarities / effect_linesВанильный /reload для мира; /hdreload для оверлея HD
JSON настроек, датапак мира/HD и запись реестра при запуске имеют разные жизненные циклы. Копирование файла датапака в старый config/healthy_diet/items/ не делает его текущим определением предмета.

02server.json: разделы сервера

Один файл содержит разделы gameplay, privacy, shelfMerge. Старые отдельные файлы переносятся сюда и в migration_backup/.

ПолеПо умолчаниюПоведение
shelfTemperatureEnabledfalseГлавный переключатель срока годности и температуры. Выкл. приостанавливает порчу, температуру/свежесть, продукты и команды истечения, отказ по температуре, эффекты зон и связанные строки подсказки; данные предметов сохраняются, простой не начисляется задним числом.
lsoIntegrationEnabledtrueРазрешает hd:shelf читать полную среду LSO; не отключает остальную совместимость LSO.
ecIntegrationEnabledtrueРазрешает напрямую использовать климат EC и сезонные множители HD, не меняя данные EC от LSO.
proxyHeatstrokeEffecttrueСервер раз в 5 секунд зеркалит тепловой удар LSO в тепловой удар EC для размытия и снимает при отсутствии источника/иммунитете.
bonusUpdateTicks100Интервал обновления бонусов атрибутов (1–1 728 000 tick, около 5 секунд).
effectUpdateTicks200Интервал обновления бонусов зелий (1–1 728 000 tick, около 10 секунд).
ejectIllegalProtectedItemsfalseЕсли у недоверенного держателя защищённый предмет: true выбрасывает под ноги, false замораживает и предупреждает. По умолчанию false, чтобы не терять предметы при ошибке классификации.
removeOwnerOnDeathDropfalsetrue снимает защиту со всех выпавших при смерти; false ставит UUID умершего только на предметы без владельца и сохраняет существующих.
debugLogsfalseСерверные диагностические логи правого клика и размещённой еды; перечитать /hdreload, после проверки отключить.
privacy.sendCommandTextToAllPlayersfalseПо умолчанию текст команд этапа получает только OP4; true отправляет полную настройку этапа игрокам без OP, не меняя права выполнения.
shelfMerge.mergeRemainingMinutes5Максимальная разница оставшегося времени для стака (1–1 440 минут).
shelfMerge.mergeTempThreshold10.0Максимальная разница температуры для стака (0–100℃); NaN игнорируется.
shelfMerge.mergeColdFreshThreshold20.0Максимальная разница холодной свежести для стака (0–100).
Игровой экран OP сохраняет только gameplay. privacy и shelfMerge редактируются на диске, затем /hdreload. Файл только для чтения приводит к ошибке сохранения без изменения авторитетных значений в памяти.

03display.json: локальные настройки клиента

Локальное оформление и значения редактирования не участвуют в синхронизации игровых правил сервера. Правила сервера находятся в server.json → gameplay.

ПолеПо умолчаниюПоведение
nutritionPerLine6Максимум обычных строк питания/условий, затем многоточие; 1 означает только первую запись, а не одну на строку (1–100).
titleproWrapWidth1000Ширина переноса заголовка TitlePro в пикселях (1–100 000).
defaultConditionalGainEnabledtrueНачальный выбор «фактического прироста» для нового черновика условия, не переключатель сохранённых правил.
infoGapWidth20Фиксированный зазор между текстом и правым содержимым в режиме D (0–100 000).
maxInfoWidth320Максимальная ширина информационной панели D; подробности S не ограничены (0–100 000).
showUnifiedPotionStylefalseГлавный переключатель стиля зелий; false обходит выбор предмета и принудительное объединение.
enableEnchantmentInfotrueАвтоматически показывать описание книги зачарований в D при наличии ключей перевода.
enablePotionInfotrueУправляет блоком ванильных/HD/внешних эффектов, объединённых атрибутов и жажды LSO в D; обычные эффекты, зоны, JEI/свой текст и описания зачарований остаются.
hideSystemPrefixesfalseСкрывает только префиксы и пробелы строк HD, не пользовательские имена, разделители и сегменты.
temperatureUnitcelsiuscelsius или fahrenheit для подсказок/HUD клиента; сохранённые настройки и редакторы остаются в Цельсиях; недопустимое значение — Цельсий.
temperatureUnitChosenfalseВыбрал ли клиент единицу явно; локальное состояние первого запуска.
groupLocalizePromptedfalseЛокальное состояние запроса OP о переводе стандартных имён групп; не общая настройка.
defaultEffectsShiftOnlyfalseНачальная видимость новой строки зелья: всегда или только Shift; существующие строки сохраняют свой выбор.
defaultForceUnifyfalseНачальное принудительное объединение новых строк эффектов; только если у предмета уже есть подсказка/запись датапака.
defaultFoodBarDisplayModealwaysalways / shift / info / off. off возвращается к ванильным строкам пищевой ценности; влияет на ненастроенные предметы и новые строки.

Устаревшие смещения/ширина панели и поля тени текста в этом файле не используются. _note_* — справка только для чтения. Сохранение на экране клиента применяется сразу; после ручной правки перезапустите клиент.

04Датапак питания: группы, этапы и бонусы

Пути в data/<пространство имён>/healthy_diet/: nutrition_groups/<groupId>.json (одно определение), nutrition_stages/<groupId>.json (этапы + hideAutoBonus), nutrition_bonuses/<groupId>.json (примечание + бонусы). Оверлей HD — в config/healthy_diet/datapack/, имена файлов — ID групп. Максимум 64 группы.

Поля группы

ПолеПо умолчаниюОписание
displayNameGroupНазвание в UI/подсказках; встроенные значения могут иметь локализацию.
nutritionSymbolΨ Префикс строки питания; пусто — значение по умолчанию с пробелом.
order0Порядок по возрастанию; при равенстве — по ID группы.
color / colorStyle#FFFFFF / nullHEX-цвет или ключ схемы. style управляет dynamic/nameStyle/speed/steps/waveStep/pulseDelay/reversals/bold/italic/underlined для схем; для сплошного цвета игнорируется.
decayRate6.0Каждый потраченный пункт голода снижает питание на 1/decayRate; неположительное отключает естественное снижение.
iconemptyНеобязательный ресурс иконки; пусто — запасной вариант UI.
initialValue0Начальное значение новой группы/игрока, 0–100.
gainMultiplier1Множитель положительных и отрицательных изменений; 0 допустим; отрицательное/нечисловое — 1; итог ограничен 0–100.
enabledtrueОтключение скрывает/замораживает группу для всех, останавливает снижение, условия и бонусы.
requiredPlayerTagemptyТочный тег таблицы очков игрока; пусто — без ограничения. Не тег предмета/блока.
requiredModIdemptyТребуемый загруженный ID мода сервера; пусто — без ограничения.
nutritionTipColorsgeneratedЧетыре слота: обычный/условный × прирост/потеря; настройка решает, следует ли прирост за цветом имени группы.

Поля этапов и бонусов

ПолеПо умолчаниюОписание
stages[].min/max0/100Включительные целые границы; перед проверкой значение округляется. Соседние этапы не пересекаются и не оставляют пропусков.
stages[].label/tooltip/commandsempty / [] / []Необязательный заголовок, дополнительные строки и команды этапа; текст команд отправляется только OP4, если privacy не разрешает больше.
hideAutoBonusfalsetrue скрывает автоматический заголовок диапазона и предпросмотр бонусов во всех подсказках этапов группы.
remarkemptyМетка списка редактора; пусто — имя файла; на расчёт не влияет.
bonuses[].conditions{}ID групп → {min,max}; несколько условий — AND.
bonuses[].attributeBonuses[][]attribute (по умолчанию max_health), operation add/multiply_base/multiply_total (по умолчанию add), value.
bonuses[].effectBonuses[][]ID эффекта, level (0=I), duration tick (по умолчанию 200), showParticles (по умолчанию false).
Пример группы может использовать displayName «Fruit», nutritionSymbol «Ψ », decayRate 6, gainMultiplier 1 и ключ схемы «a»; это иллюстрация, а не требование одинаковой схемы для всех групп.

05Предметы, подсказки, блоки и качество

Каталоги датапака: items/<itemPath>.json, tooltips/<itemPath>.json, blocks/<blockPath>.json, quality_levels/<id>.json, rarities/<id>.json, effect_lines/<effectId>.json. Предметы/подсказки поддерживают .json.disabled, блоки — нет. Стиль строки эффекта переопределяет предмет только при включённом принудительном объединении.

Группы полей предмета

ПолеЗначение
nutritionID группы → изменение еды, умножается на множитель группы, пожизненный коэффициент и число порций.
effectsЗелья после еды: уровень, tick, вероятность, частицы, необязательная кривая свежести.
foodCooldownКраткие maxUses, cooldownCount, cooldownMinutes, restoreHunger.
foodFatigueПожизненные lossStart и aversionCount; линейное снижение только при обоих.
shelfБазовое время, температурные кривые, множители измерений, свежесть/холод, температура среды, эффекты еды.
onEatCommands / suppressEffectsКоманды еды и удаление собственных эффектов, у каждого своя задержка.
conditionalRulesУсловия питания → изменения цели, команды и подсказки, сохраняются целыми правилами.
stackSizeЛимит стака уровня предмета; 0 = ваниль; нужен перезапуск, отдельного лимита для NBT-варианта нет.
quality / rarityID качества/редкости; редкость: вариант → общая запись → item_rarities.json → ваниль.
nbtLock / variantNameСопоставление NBT и примечание; пустой nbtLock — общая запись предмета.

Поля взаимодействия с блоками

ПолеПо умолчаниюЗначение
state{}Подмножество свойств состояния; пусто — любое. Более конкретное состояние приоритетнее.
hand / itemsany / []any, пустая основная рука или предмет, совпавший с ID/#тегом при hand=item.
consumeItem0Расход из основной руки; творческий режим не расходует; недостаток количества не совпадает.
sneakanyany, требовать или запрещать приседание.
cooldownTicks20Кулдаун варианта, 0–72 000 tick; 0 не пишет кулдаун.
cancelVanillafalseОтменить ванильное взаимодействие при совпадении; влияет на дедупликацию длинного нажатия.
nutrition{}ID группы → изменение; множитель группы используется, пожизненное снижение и порции — нет.
effects / effectDelay[] / 0Зелья и задержка; здесь нет предмета срока годности, поэтому кривые свежести не действуют.
commands / commandsAtBlock[] / falseКоманды могут подставлять {x}, {y}, {z}; true меняет позицию на центр блока.
titles / commandDelay[] / 0Заголовки TitlePro и команды используют общую задержку tick.

06Поля срока годности и температуры

Значения shelf предмета отличаются от сезонных и средовых файлов в shelf_life/ и temperature/. Значения по умолчанию применяются к новой конфигурации; встроенная еда может их переопределять.

ПолеПо умолчаниюОписание
durationMinutes / durationUnit60 / minutesБазовые минуты 1–99 999; единицы редактора — минуты, часы, реальные дни (1 440 мин) или game_days (20 мин). Неверная единица — минуты.
resultItem / inheritTemperatureOnExpireminecraft:air / trueair — исчезновение; другой результат наследует только температуру, а не прогресс срока.
expireCommandemptyВыполняется от держателя при истечении в руке, не в контейнере/на земле.
baseDecayMultiplier1.0Неотрицательный базовый множитель порчи.
temperatureCurves[]До 16 кривых температура→порча с линейными концами и внешними буферами.
dimensionDecayMultipliers{}ID измерения → множитель; не указанные — ×1.
schemehd:shelf_enID схемы отображения; старый hd:shelf нормализуется к текущей схеме.
coldRetention / coldRecoveryRate / coldDegradationRatefalse / 1 / 15Включить восстановление при полной заморозке; минут за минуту 0–100; постоянное снижение предела за шаг 1–100% базового времени.
temperatureEffectCurves[]До 20 эффектов температурных зон при еде, независимо от кривых порчи.
common.minTemperatureC / maxTemperatureC / initialTemperatureC-30 / 100 / 10Абсолютные границы и начальная температура; встроенная еда может переопределить.
common.eatableMinTemperatureC / eatableMaxTemperatureC-5 / 35Вне этого диапазона Цельсия есть нельзя.
common.coldFreshStartC / freezingStartC / fullyFrozenC3 / -5 / -20Пороги холодной свежести и заморозки.
common.highTemperatureC / preservationRate30 / 0.8Начало горячей зоны и защита при 50% свежести.
naturalEnvironment.temperatureChangeC / temperatureChangeMinutes1 / 2Базовая среда: по умолчанию 1℃ за 2 минуты.
naturalEnvironment.lowSpeed* / highSpeed*separateШаг охлаждения/нагрева, разница температур и предел множителя.
naturalEnvironment.*SpeedMultiplierBonus0Дополнительная скорость изменения в зонах заморозки/низкой/обычной/высокой.
fridgeTemperature.*ChangeC / *Minutesfridge 5/2; freezer 10/2Базовые скорости холодильника/морозильника.
fridgeTemperature.*SpeedMultiplierBonus0Дополнительная скорость четырёх зон в холодильнике.
temperatureZoneEffectsnullВход миграции старых четырёх слотов; нормализуется в temperatureEffectCurves. Не использовать для новых записей.

Концы кривых и эффектов

МассивПоля / ограничения
temperatureCurves[]startTemperatureC < endTemperatureC; множители 0–100; необязательные startBufferTemperatureC / endBufferTemperatureC. Вне диапазона/буферов — ×1. Старые startBufferC/endBufferC только для чтения.
temperatureEffectCurves[]effectId; абсолютные start/end; includeStart/includeEnd (по умолчанию true); уровни 0–127 (0 = I); длительность 1–72 000 tick (20 tick = 1 с); particles по умолчанию true. Миграция старых зон может создать допустимый одноточечный диапазон.

Сезонные и средовые файлы

ПутьНазначение
shelf_life/seasons.jsonfallbackMultipliers.shelfLifeMultiplier по умолчанию ×1 без EC; seasons[]: ID, диапазон сезона 0–23, множитель 0–100, имя; старые шесть сезонов поддерживаются.
temperature/season_temperature.jsonterms[]: сезон 0–23 и смещение среды −100–100℃, добавляется к климату EC.
temperature/weather_offsets.jsonterms[]: дождь −1 и гроза −2 по умолчанию; без осадков смещения нет.
temperature/day_night_offsets.jsonterms[]: полдень/ночь по умолчанию 0, плавная интерполяция в течение дня и между сезонами.
temperature/block_heat.jsonentries[] block + rules[] температура −1000–1000 и свойства состояния; ветка без LSO, побеждает первое полное совпадение.

07Схемы оформления и утилиты

ФайлСтруктура и ограничения
colors/color_schemes.jsonID схемы → {colors:[#RRGGBB,...]}; два и более цветов дают видимый градиент; правка общей схемы влияет на все ссылки.
colors/solid_colors.jsonМассив образцов #RRGGBB для выбора; неверные значения игнорируются.
fatigue/fatigue_gradient.jsonenableGradient, fatigueLevelGradient, fatigueRecoveryGradient: scheme, stars, dynamic style, speed/steps/wave/pulse/reversals. Меняет только отображение, не пороги кулдауна.
fatigue/fatigue_exempt.jsonМассив ID; по умолчанию гнилая плоть, зелья, паучий глаз, ведро молока. Исключение — из счётчика восстановления, а не «никогда не устаёт».
tooltip_templates.jsonЛокальные текст/схема/звёзды/shiftOnly/dynamic/animation редактора; не общая настройка игроков.
item_rarities.jsonID предмета → ID редкости; резерв ниже NBT и общей записи.
bottle_fills.jsonМассив {item, fluid, result, resultNbt}; только блоки-источники; неверный resultNbt теряет NBT, но результат выдаётся.
fog_effects.jsoneffects (по умолчанию Night Vision), waterFogStart 80, waterFogEnd 160, lavaFogEnd 6; локальное расстояние, не цвет.
effect_lines/<effectId>.jsonИмя эффекта и единая схема/стиль/анимация; переопределяет строку только при force-unify.

Палитры дают цвета; макет и видимость подсказки решают, рисовать ли текст.

08Схемы интерфейса настроек

Меню настроек (/hdconfig)

/hdconfig — локальная команда клиента, сама проверяет OP4. Игрок без OP может войти в локальное оформление с других экранов, но не выполнить команду. Макеты только для чтения и не получают реальные значения.

Настройки мода · вид OP · Только для чтения, HTML-схема по макету игры; не скриншот и не живые данные сервера.
Настройки мода · вид OP
Оформление клиентаЛокальный display.json · доступен всем
Игровые правила сервераOP4 · раздел gameplay server.json
Интеграции температурыOP4 · пять таблиц сервера + отдельная температура мира LSO
Температура биомовOP4 · переопределения биомов и климат EC, если доступен
СохранитьНазад
Закрытие возвращает на предыдущий экран без сохранения черновиков подстраниц.

Оформление клиента · двенадцать строк

Оформление клиента по умолчанию · Только для чтения, HTML-схема; не скриншот и не живые данные.
Оформление клиента по умолчанию
Строки питания в подсказке6
Ширина переноса заголовка (px)1000
Зазор D / макс. ширина панели (px)20 / 320
Единый стиль зелий / зачарования / зельяВыкл / Вкл / Вкл
Скрыть префиксы / единица температурыВыкл / Цельсий
Эффекты только Shift / принудительноВыкл / Выкл
Строка пищевой ценностиВсегда
СохранитьНазад
Каждая ↺ сбрасывает черновик строки. Сохранение пишет display.json локально и применяет; назад отменяет. Файловые defaultConditionalGainEnabled, temperatureUnitChosen, groupLocalizePrompted не входят в двенадцать строк.

Игровые правила сервера · девять пунктов

Игровые правила сервера · OP4 · Только для чтения, HTML-схема; не скриншот и не живые данные.
Игровые правила сервера · OP4
Срок годности и температура / LSO / ECВыкл / Вкл / Вкл
Прокси теплового удараВкл
Обновление атрибутов / зелий (tick)100 / 200
Выброс незаконных предметов / снятие владельца при смертиВыкл / Выкл
Тестовые логиВыкл
Сброс стандартных определенийТребует подтверждения · отдельное опасное действие
СохранитьНазад
Здесь редактируется только server.json → gameplay; privacy и shelfMerge требуют правки файла и /hdreload. Сброс стандартных определений записывает встроенные группы, этапы, бонусы, качество и редкость в оверлей HD (перезаписывает те же ID, заполняет отсутствующие, сохраняет пользовательские ID) и сразу перезагружает. Сначала сделайте резервную копию; это не сброс девяти переключателей.

Интеграции температуры · пять таблиц + отдельный LSO

Пять вкладок таблиц используют один черновик и одно проверенное сохранение; при переключении несохранённые изменения сохраняются. Шестая открывает отдельную форму. Вкладки ниже только поясняют группы файлов и не меняют данные.

Множители порчи

Множитель 0–100 по ID сезона; по умолчанию ×1; нужен активный сезон EC и включённая интеграция EC. Старые шесть сезонов остаются шестью записями.

Порядок сезонов: начало весны, дожди, пробуждение насекомых, весеннее равноденствие, ясно, дождь зерна, начало лета, полное зерно, колошение, летнее солнцестояние, малая жара, большая жара, начало осени, конец жары, белая роса, осеннее равноденствие, холодная роса, иней, начало зимы, малый снег, большой снег, зимнее солнцестояние, малый холод, большой холод. Просмотр не загружает реальные 24 записи сервера.

Температура мира LSO и температура биомов

Форма измерения LSO · Только для чтения, HTML-схема; не скриншот и не живые данные.
Форма измерения LSO
ID измеренияПолный ID, например minecraft:the_nether; после загрузки только чтение
Базовая температураКонечное число температуры мира LSO −1000–1000, не ℃
Уровень моря / высотаЦелое sea_level_height (новый черновик 64); has_altitude включает охлаждение на высоте
Поиск / список / сохранитьПоиск не пишет. Удаление только для записей оверлея HD.
СохранитьНазад
Сохранение пишет оверлей датапака HD и требует отдельной перезагрузки LSO /reload. Закрытие отменяет черновик; старого поля day-cycle tick нет.
Форма климата биома · OP4 · Только для чтения, HTML-схема; не скриншот и не живые данные.
Форма климата биома · OP4
БиомОдин ID; ванильная базовая температура только для чтения и не ℃
Полдень/ночь и дождь/грозаПусто наследует глобальное; 0 — явное переопределение, не сложение
24 сезона ECДополнительная температура HD, смещение/осадки EC и оценка ℃
Поиск / обновить / сохранить / удалитьПоиск и обновление не пишут; удаление только переопределений погоды/дня-ночи HD
СохранитьНазад
Правка сезонов EC и инструменты средней температуры/осадков доступны только с EC. Оценка ℃ не включает блоки, погоду и день/ночь. Сохранение изменений EC требует его /reload. Без EC четыре поля переопределения биома HD работают.

09Сохранение и перезагрузка по владельцу

ИзменениеДействие / причина
server.jsonСохранить gameplay на экране OP; privacy и shelfMerge править вручную и /hdreload. Через экран передаётся только gameplay.
display.json, локальный туман/шаблоныСохранить на каждом клиенте; после ручной правки перезапустить клиент. Серверный /hdreload не меняет локальные файлы.
Оверлей HD групп, этапов, бонусов, предметов, подсказок, блоков, качества, редкости и строк эффектовСохранить и /hdreload для пересборки с диска и повторной синхронизации игроков. Для датапаков мира — ванильный /reload.
quality_registry/ или stackSizeРаспространить одинаковые определения и ресурсы; перезапуск для регистрации при запуске/свойства предмета.
Текстуры и шрифты клиентаУстановить на каждом клиенте; серверная ссылка не передаёт ресурсы.
/hdreload — не ванильный /reload: датапаки мира, другие моды и локальные файлы клиента имеют собственные механизмы перезагрузки.