Files
teltnite/energative/08-hbm-addon.md
T
2026-07-29 16:04:53 +03:00

36 KiB
Raw Blame History

Техническое задание: аддон для HBM's Nuclear Tech Mod

Целевая платформа — HBM's Nuclear Tech Mod, Minecraft 1.12.2 (основная версия мода; для обкатки механик допустима 1.18.2). Аддон добавляет новый тип излучения, замкнутую производственную цепочку, эндгейм-вооружение, линейку защитного снаряжения и две генерируемые локации.

Физическое и лорное обоснование всех механик — в остальных документах комплекта. Здесь фиксируются только игровые правила.

1. Механика EF-дозы

Для игрока ведётся скрытая переменная energetive_dose в диапазоне 0–1000. Она не заменяет стандартную радиацию HBM, а работает параллельно ей.

Пороговое насыщение

Принципиальное отличие от радиации HBM: доза не растёт бесконечно. Каждый источник имеет два параметра — speed (скорость заполнения) и cap (потолок, выше которого этот источник поднять шкалу не может).

Элемент EF cap Состояние игрока на потолке
Энергит (EG) 1 300 Утомление I, Медлительность I. Умереть невозможно
Айгерит (ER) 2 550 Тошнота I, Медлительность II, Слабость I. Здоровье не страдает
Фюрцит (VR/FC) 3 800 Слепота, Тошнота II, Медлительность III, Слабость III. Полная беспомощность без урона по здоровью
Алленит (AL) 4 950 Максимальные дебаффы комы. До точки смерти остаётся 50 единиц
Риценит (RC) 5 нет Пробивает 1000, запускает тик кастомного урона. Смерть за 0,5–1 с

Слабый источник физически не способен убить игрока сколь угодно долгой экспозицией — этим EF-система отличается от урана HBM, где даже микродоза со временем дожимает шкалу до конца.

Фазы дебаффов

Доза Оповещение и эффекты
100300 Сообщение в чат: «Во рту появился странный привкус...» Утомление I, Медлительность I
300600 Медлительность II, Слабость I, Тошнота I
600900 Слепота, Слабость III, Медлительность III, Тошнота II
9001000+ Кастомный Energetive Damage, 1–2 сердца в секунду. Сообщение о смерти: «[Игрок] умер от тотальной мышечной релаксации»; для RC — «[Игрок] мгновенно заснул вечным сном при контакте с Риценитом»

Спад дозы и снятие эффектов

После выхода из зоны доза автоматически снижается. Слепота, тошнота и урон уходят первыми (20–40 секунд), медлительность и слабость держатся дольше — это симулирует лорный период пробуждения (20 минут — 4 часа).

Дебаффы реализованы штатными эффектами зелий, поэтому снимаются ведром молока. Это осознанное балансное решение:

  • ведро молока не стакается и занимает целый слот, поэтому запас антидота конкурирует с боеприпасами и ресурсами;
  • время выпивания (около 1,5 с) достаточно при поражении 3–4 класса и заведомо недостаточно при контакте с Риценитом.

Три источника облучения

Разделение сделано ради производительности сервера: постоянный просчёт излучения от десятков EntityItem на земле перегружает процессор.

1. Предметы в инвентаре. Проверка инвентаря на PlayerTickEvent. Лежащий в сундуке или валяющийся дропом предмет пассивен; как только он попадает в слоты игрока, доза устремляется к своему cap. Дебаффы навешиваются длительностью 30 секунд — 8 минут (Фюрцит — до 2–3 минут, Алленит — до 8) и не исчезают при выбрасывании предмета: резонанс уже вошёл в нервную систему. Инвентарь при этом не блокируется — игрок сохраняет возможность действовать, просто действует ослеплённым и заторможенным.

2. Слой пыли на земле. Выброшенная из инвентаря пыль превращается в блок-слой (по аналогии с ванильным снегом) с мерцающей сине-зелёной текстурой. Триггер — onEntityWalk / onEntityCollision: стоящий рядом игрок в безопасности, наступивший получает резкий скачок дозы. Для риценитового слоя наступание без экранированной обуви означает мгновенную смерть. Механика позволяет «минировать» подступы к базе: лазутчик либо погибает (RC), либо засыпает на пороге (AL, FC), выронив снаряжение.

3. Площадное заражение. Для крупных объектов — старая БЭС в бункере, эпицентр взрыва, аварийный РЭС — спавнится технический блок-маркер, раз в секунду сканирующий сферу (AABB) радиусом порядка 32 блоков и начисляющий дозу всем живым внутри. Маркер имеет таймер: через 20–40 минут интенсивность падает, затем блок исчезает, оставляя местность чистой.

HUD

Индикатор EF-дозы выводится отдельно от шкалы радиации HBM. Иконка — красный трёхсекционный тессеракт (тот же символ, что на знаках ТБ): за счёт схожести с радиационным трилистником игрок мгновенно понимает характер угрозы. При росте дозы иконка пульсирует. Цветовая градация шкалы — от зелёного к бирюзовому и фиолетовому.

2. Иммунитет мобов (конфигурация)

Аддон должен позволять владельцам серверов и сборок задавать белый список сущностей, невосприимчивых к EF-излучению (по лору — роботы, киборги, автоматика).

Java, Forge 1.12.2 — через стандартный @Config:

package com.yourname.energetives.config;

import net.minecraftforge.common.config.Config;
import com.yourname.energetives.ModInfo;

@Config(modid = ModInfo.MODID, name = "energetives_expansion")
public class EnergeticsConfig {

    @Config.Comment("Белый список сущностей, полностью игнорирующих EF-излучение. Формат: modid:entity_name")
    public static String[] ef_radiation_whitelist = new String[] {
        "minecraft:wither",
        "minecraft:iron_golem",
        "hbm:cyber_zombie"
    };
}

Проверка в точке наложения эффектов:

public static void applyEFRadiation(EntityLivingBase entity) {
    String entityID = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
    if (Arrays.asList(EnergeticsConfig.ef_radiation_whitelist).contains(entityID)) {
        return; // сущность в белом списке — излучение не действует
    }
    entity.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, 200, 0));
    // ...остальные эффекты и начисление дозы
}

MCreator — через плагин «Configuration Files»: на On mod loading создаётся файл ef_whitelist.txt со значениями по умолчанию; в процедуре тика источника выполняется IF (File contains line [registry name of target entity]) → пустая ветка (иммунитет), ELSE → наложение эффектов.

Версии 1.18.2+ — предпочтительный путь через теги сущностей: файл data/energetives/tags/entity_types/ef_immune.json, проверка сводится к одной строке if (entity.getType().is(ModTags.EntityTypes.EF_IMMUNE)) return;. Сборщики смогут дополнять список датапаками, не касаясь конфигов.

3. Материалы и производственная цепочка

Ступень Что делает игрок Машина
Добыча TT Поиск метеоритной руды или демонтаж экранов и обшивки в Шахте №0 Кирка, разборочный стол
TT → EG Бомбардировка Тельтнита гелием Линейный ускоритель / циклотрон HBM + баллоны с гелием
EG → ER → VR Последовательная бомбардировка ядрами нарастающей массы (Fe/Ni, затем Cu/Zn) Ускоритель частиц
Синтез энергии и AL Штатный цикл на фюрцитовой пыли РЭС (многоблочный)
AL → RC Форсаж реактора либо точечный перевод слитка РЭС в критическом режиме / Лазерный диспергатор
Активные элементы → TT Принудительное обеднение Химический экстрактор (кислота HBM + иридиевый порошок)
TT + Ir → Т-Иридий Выплавка сплава Электродуговая печь сверхвысокого давления + аргон
Формовка TT Горячая штамповка при 3200–3500 °C Индукционный термо-пресс (3×3×4, тераватты HE) + вольфрамовые формы
Литьё в обход пресса Отливка детали из Фюрцита → обеднение иридием, расчёт усадки 12 % Плавильная печь HBM + экстракционная ванна
Энергативная ткань Магнетронное напыление TT на кевлар Вакуумная камера напыления + аргон + рулон ткани
Многослойный комбинезон Сшивание слоёв ткани с пропиткой гелем Продвинутый швейный станок
Сборка БЭС Ядро-наковальня + фюрцитовое кольцо + медно-золотая фольга + ВВ и детонаторы Прокатный стан (фольга) + стол сборки зарядов

Дополнительное оборудование: криостат / магнитная ловушка (хранение RC и изотопов 6–9, постоянный расход энергии), экранированный транспортный сейф (снимает фон переносимых изделий), промышленный пылесос и распылитель (дезактивация), центрифуга HBM (разделение остывшей смеси 50/50 на TT и VR).

Замкнутый цикл автоматизации

        [ TT ] ──(He)──> [ EG ] ──(Fe/Ni)──> [ ER ] ──(Cu/Zn)──> [ VR ] ──> БЭС / топливо РЭС
          ▲                                                        │
          │                                                        │ (Ag/Cd, слабый синтез)
          │                                                        ▼
          │                                                     [ AL ] ──> броня Mk. IV, лучемёты
          │                                                        │ (форсаж / диспергатор)
          │                                                        ▼
          └────────── центрифуга ◄── остывшая смесь ◄── [ RC ] ──> распад 50/50 в TT + VR

Долгосрочная цель игрока — полностью автоматизированный завод, бесконечно гоняющий энергативы по кругу и вырабатывающий энергию из обычных ванильных металлов. Безотходность обеспечена характером распада RC.

РЭС

  • Топливо: фюрцитовая пыль + пыль обычных металлов. Подача инжекторами; прекращение подачи гасит реакцию, взрыв «изнутри» невозможен.
  • Штатный режим: стабильная выработка HE + наработка слитков Алленита. Показатели в GUI зелёные, режим пригоден для длительной автоматической работы.
  • Критический форсаж: экстремальное лазерное сжатие прессованного Алленита. Показатели уходят в красную зону, GUI дрожит, прочность конструкции падает, в криостаты поступает риценитовая пыль. Требует ручного контроля.
  • GUI: температура, давление, подача пыли, шкала Singularity State (%) — при 100 % в зоне на наносекунды зажигается элемент-11, что даёт пиковую выработку; без своевременного сброса давления реактор разрушается и засыпает чанк Риценитом.
  • Обвязка: трубы и коллекторы из Тельтнита (иначе фон пробивает наружу), контуры водяного или хладагентного охлаждения, паровые турбины. Без охлаждения — перегрев и авария.
  • Отходы: активная пыль → бункеры-отстойники → слитки Тельтнита.

Тепловая механика хранения

Слитки и блоки Фюрцита и Алленита пассивно нагреваются. Плотный склад Алленита раскаляет помещение: деревянные сундуки могут воспламеняться, игрок без систем охлаждения базы получает дебафф горения поверх энергативной комы. Блок Алленита в холодном биоме подтапливает снег и лёд.

4. БЭС в игре

Изделие

  • Форма: вертикальный двойной блок высотой 2 (по принципу двери или кровати), не сущность.
  • Текстура: массивная имплозивная сфера на стальных подпорках, покрытая пылью и ржавчиной; сквозь трещины корпуса и разбитые окошки манометров едва мерцает бирюзовое свечение активного сердечника. На корпусе — трафарет знака EF-HAZARD.
  • Детонация: кратер в форме полусферы с испарением прочных материалов; ослепительная сине-зелёная вспышка; кастомное плазменное облако; побочный энергативный импульс на радиус в 2–3 раза больше кратера с максимальными дебаффами для всех выживших; осадки активной пыли слоями по всей зоне поражения.
  • Осадки: слой RC → через 2–3 минуты превращается в тусклый серый налёт («остывшая энергативная смесь»), безопасный для сбора лопатой или пылесосом. Разделяется в центрифуге на Тельтнит и Фюрцит.
  • Хранение: благодаря сроку жизни Фюрцита изделие можно крафтить заранее и держать на складе неограниченно долго, не теряя мощности.

Добыча найденного изделия

Условие Результат
Кирка с Шёлковым касанием Детонаторы демонтируются аккуратно, предмет гарантированно попадает в инвентарь. Риск взрыва 0 %
Алмазная или кастомная кирка HBM без Silk Touch 98 % успеха, 2 % мгновенной детонации
Рука или каменная кирка Дропа нет, риск детонации возрастает до 50 %
Старое изделие в заброшенном бункере, без Silk Touch Риск детонации 1015 %

Дополнительный саспенс: при ударах обычной киркой блок издаёт прерывистый нарастающий писк — до последнего момента игрок не знает исхода. В грозди детонация одного изделия немедленно подрывает соседние.

Ошибочная сборка

Если игрок заложит в чертёж вместо Фюрцита более тяжёлый Алленит, мод отрабатывает лорную физику: вместо кратера — хлопок силой обычной связки динамита, разрушающий пару блоков, но вся округа в радиусе 100+ блоков заражается фоном 5-го уровня (успевает сформироваться некоторое количество RC). Полигон на несколько минут становится зоной мгновенной смерти, затем — зоной 3-го уровня. Ресурсы потрачены, цель не поражена.

5. Локации

«Забытый бункер» (тир-1, знакомство)

  • Генерация: под землёй в обычных биомах на средней глубине. Полуразрушенный бетонный комплекс с разбитой аппаратурой.
  • Содержимое: одно старое нестабильное изделие БЭС на ржавом стапеле.
  • Особенности: медно-золотые слои частично окислились, тельтнитовый экран дал микротрещины — изделие постоянно фонит по площади. В помещении игрок сразу получает металлический вкус и дебаффы. Риск детонации при добыче без Silk Touch — 10–15 %. При разборке даёт меньше ресурсов, Фюрцит «грязный», но это лучший способ получить первые образцы.
  • Лут: ржавые патроны, старые защитные костюмы, документы.

«Шахта №0» (эндгейм)

  • Генерация: ультра-редкая структура (порядка одной на несколько тысяч чанков), чаще под экстремальными биомами, уходит до основания мира. На поверхности — только бронированные гермоворота.
  • Содержимое: декоративная ракета Н-1, собранная из блоков, в обтекателе — 3–6 полностью исправных БЭС в магнитных захватах. Изделия стабильны, наружу не фонят, при разборке дают 100 % чистых материалов: идеальный Фюрцит, высокочистый Тельтнит, золото, медь.
  • Испытание: паркур по ржавым конструкциям, лесам и внутренностям ракеты на высоту двадцатиэтажного дома; падение смертельно. Дополнительные факторы — возможное старое фонящее изделие в грозди, законсервированные турели и лазерные датчики.
  • Катастрофа: провал 2 % при разборке подрывает всю гроздь, испаряет верхнюю часть ракеты, частично обрушивает шахту и засыпает комплекс риценитовой пылью. У выжившего есть 2–3 минуты, чтобы либо бежать, либо — в костюме высшего класса и с криостатом — собрать свежайшую RC прямо с обломков. Это единственный способ получить Риценит без собственного РЭС.
  • Лут: продвинутые схемы HBM, баллоны с гелием, чертежи РЭС, документы Проекта.

Перенос готовой постройки Н-1 с 1.18.2 на 1.12.2

  1. Подготовка в мире-источнике. Заменить блоки, отсутствующие в 1.12.2 (глубинный сланец, туф, капельник, медь, новые породы дерева), на классические аналоги: //replace deepslate_bricks stone_bricks и подобные. Иначе при переносе на их месте останутся дыры.
  2. Экспорт. Выделить постройку топором WorldEdit (//pos1 у основания, //pos2 над вершиной обтекателя), //copy, затем //schematic save n1_rocket — обязательно в кросс-версионном формате .schem (старый .schematic не читается между версиями).
  3. Конвертация ID. Открыть схему или карту в Amulet Editor, выделить ракету, экспортировать с целевой версией Java 1.12.2. Программа переведёт ID в legacy-формат, неизвестные блоки заменит на указанный материал.
  4. Вставка. В 1.12.2 с установленными HBM и WorldEdit: //schematic load n1_rocket, //paste.
  5. Доводка. Точечно заменить ванильную обшивку на блоки HBM (ржавое железо, стальные леса, бронеплиты), в сопла установить декоративные излучатели, в обтекателе освободить место под двойные блоки БЭС.

6. Снаряжение

Полная линейка Mk. 0 – Mk. V описана в 06-protection.md. Игровые особенности:

  • Разделение обязанностей: Т-иридиевый каркас пассивно даёт 100 % иммунитет к EF-полю и жёсткой радиации HBM (шкала не растёт вообще); весь кинетический, взрывной и термический урон берёт на себя проектор силового поля, расходуя энергию (порядка 50 HE за единицу урона).
  • Прочность: классическая durability отсутствует; состояние комплекта привязано к заряду батарей. При критическом попадании поле отключается на перезагрузку (~10 секунд).
  • Слоты модификаций (Armor Modification Table HBM): батарея / квантовый элемент, Field Tweaker (например, «кинетический фокус» — лучше держит пули, быстрее разряжается от взрывов), Heatsink Cladding (без него в зоне RC броня нагревает носителя).
  • Беспроводная подзарядка: Mk. IV получает модуль приёма с лимитом входного потока, Mk. V — без лимита. Связка «броня + Flux Networks» делает Mk. V фактически неуязвимым, пока энергосеть базы выдаёт миллионы HE в секунду. Опционально — индикатор связи с сетью на шлеме.
  • Балансные уязвимости Mk. V: обесточивание базы (диверсия против Flux-сети или реакторов) и стационарный риценитовый излучатель, работающий через структуру поля.
  • Штрафы: тяжёлые комплекты без экзоскелета накладывают Медлительность I; экранирование глушит встроенный радар и навигатор.
  • Т-иридиевый клинок: высокий бронебойный урон плюс Слабость IV и Медлительность IV на 2–3 секунды при каждом ударе. Не горит в лаве, не разрушается взрывами.

7. Достижения

Название Условие Описание
Космическая доктрина Впервые войти в структуру «Шахта №0» и обнаружить ракету «Луна должна была стать нашей. Найти последний стратегический резерв ушедшей эпохи»
Квантовая кузница Впервые выплавить Т-иридиевый композит «Соединить несоединимое. Создать идеальный металл, ломающий законы волновой физики»
Ватные ноги Набрать 800+ дозы, ослепнуть, выбраться из зоны и дождаться полного очищения «Пережить фазу тотального расслабления и снова почувствовать свои пальцы»
Сапёр ошибается один раз Добывать БЭС без Шёлкового касания и попасть в 2 % детонации «Упс. За секунду до сине-зелёной вспышки ты понял, что Silk Touch был хорошей идеей»
Повелитель Рицена Вывести РЭС на пиковый форсаж и собрать первую единицу риценитовой пыли в криостат «Обуздать ультра-хрупкую смерть»
Опыт номер 17 (скрытое испытание) Находиться в радиусе 30 блоков от БЭС в момент детонации и остаться в живых «Если ты готов к экспериментам и готов сражаться, то удачи пережить опыт с номером 17»

Достижение «Опыт номер 17» — двойная отсылка (эксперимент №17 из Half-Life и прямая цитата из русскоязычного трека про Гастера). Иконка — сердечник БЭС в бирюзовом пламени либо литера λ из Т-Иридия. Выполнить без полностью заряженного силового поля и укрытия за толстой стеной Тельтнита невозможно.

Шаблон файла data/energetives/advancements/subject_17.json:

{
  "display": {
    "icon": { "item": "hbm_energetives:bes_bomb_core" },
    "title": { "text": "Опыт номер 17", "color": "dark_purple" },
    "description": {
      "text": "Если ты готов к экспериментам и готов сражаться, то удачи пережить опыт с номером 17.",
      "color": "gold"
    },
    "frame": "challenge",
    "show_toast": true,
    "announce_to_chat": true,
    "hidden": true
  },
  "parent": "hbm_energetives:find_n1_silo",
  "criteria": {
    "survived_bes_blast": {
      "trigger": "minecraft:entity_hurt_player",
      "conditions": {
        "damage": {
          "type": "hbm_energetives:bes_explosion",
          "source": { "distance": { "absolute": { "max": 30.0 } } }
        }
      }
    }
  }
}

8. Визуальный и звуковой стиль

  • Палитра: бирюзовый (черенковское свечение) и зелёный (ионы меди) на матово-чёрной базе Тельтнита. Цвет однозначно кодирует класс опасности — см. визуальный паспорт в 03-periodic-table.md.
  • Маска свечения (glowmask) обязательна для блоков знаков, слитков Алленита, слоёв риценитовой пыли и прожилок Энергита: в темноте коридоров светятся только активные элементы.
  • Знаки ТБ: декоративная пластина (крафт из железа и красного красителя) для развешивания на базе + трафарет прямо на текстурах РЭС и корпуса БЭС.
  • Звук: энергативный дозиметр гудит, а не трещит, тон растёт с дозой; термо-пресс — тяжёлый бьющий удар и гул трансформаторов; риценитовый излучатель — низкий гул; отдельный звук шипящего затухания резонанса при выпивании молока.
  • Частицы: «кипящий» слой риценитовой пыли (постоянное броуновское движение), дрожание воздуха вокруг Фюрцита, бирюзовая подсветка от блоков Алленита.

9. Пути реализации

Три маршрута, от простого к полному.

Путь 1. Встроенные средства HBM и датапаки. Через JSON-конфигурацию мода можно добавить блоки и руды (Тельтнит), рецепты для ускорителей, центрифуг и химкомбината (например, «Тельтнит + гелий = Энергит»), а также генерацию структур: Шахта №0 и бункер строятся в креативе, сохраняются как .nbt и раскидываются по миру стандартными механизмами. Дебаффы накладываются штатными зельями. Ограничение: сложная логика брони, силовых полей и беспроводной зарядки так не реализуется.

Путь 2. MCreator + плагины. Визуальное создание блоков, предметов, структур, всей линейки костюмов и достижений; процедуры для накопления дозы через кастомные переменные игрока и наложения эффектов; плагины поддержки сторонних API для работы с энергией (FE/RF/HE) и логикой восстановления щита. Достаточно для 90 % задуманного без ручного кода.

Путь 3. Java + Forge API. Исходный код HBM открыт: рабочий подход — взять шаблон простого аддона, изучить реализацию существующих бомб мода и адаптировать классы под БЭС, заменив тип радиации на EF-поле. Даёт полную свободу: кастомный HUD, силовые поля, точное взаимодействие с Flux Networks.

Порядок работ

  1. Ресурсы. Пиксель-арт 16×16 для слитков, пыли и руд всех материалов, иконки шести ступеней снаряжения, текстуры знаков. Готовая графика задаёт темп остальной работе.
  2. Макет. Перенос ракеты Н-1 на целевую версию и проверка, как в обтекатель укладываются двойные блоки БЭС.
  3. Первая сборка. Простейший предмет (слиток Тельтнита) + одно достижение — для проверки цепочки инструментов.
  4. Механика дозы. Переменная, три источника облучения, пороги насыщения, HUD.
  5. Машины и цепочка синтеза, затем РЭС.
  6. Оружие, локации, снаряжение — в последнюю очередь, как эндгейм-слой.