chore: инициализация репозитория и правка расхождений канона

Добавлен CLAUDE.md: разделение канон/первоисточник/временное, карта
"где чей канон" по числам, инварианты вселенной, конвенции разметки.

Заведён .gitignore (.tmp/, .idea/). Производные артефакты разбора
первоисточника вынесены из git в нетрекаемую .tmp/ — на диске сохранены,
источником истины остаётся energative/.

Исправлены два расхождения в каноне:
- 02-biology: шкала EF описана как пятибалльная при таблице классов 0-6;
- 08-hbm-addon: транслитерация "энергатив" двоилась (energetive/energative),
  а путь датапака не совпадал с неймспейсом. Принят вариант energatives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 16:17:04 +03:00
co-authored by Claude Opus 5
parent 56208a4a25
commit c2a1814c50
24 changed files with 99 additions and 5803 deletions
+10 -10
View File
@@ -6,7 +6,7 @@
## 1. Механика EF-дозы
Для игрока ведётся скрытая переменная `energetive_dose` в диапазоне 0–1000. Она не заменяет стандартную радиацию HBM, а работает параллельно ей.
Для игрока ведётся скрытая переменная `energative_dose` в диапазоне 0–1000. Она не заменяет стандартную радиацию HBM, а работает параллельно ей.
### Пороговое насыщение
@@ -29,7 +29,7 @@
| 100–300 | Сообщение в чат: *«Во рту появился странный привкус...»* Утомление I, Медлительность I |
| 300–600 | Медлительность II, Слабость I, Тошнота I |
| 600–900 | Слепота, Слабость III, Медлительность III, Тошнота II |
| 900–1000+ | Кастомный `Energetive Damage`, 1–2 сердца в секунду. Сообщение о смерти: *«[Игрок] умер от тотальной мышечной релаксации»*; для RC — *«[Игрок] мгновенно заснул вечным сном при контакте с Риценитом»* |
| 900–1000+ | Кастомный `Energative Damage`, 1–2 сердца в секунду. Сообщение о смерти: *«[Игрок] умер от тотальной мышечной релаксации»*; для RC — *«[Игрок] мгновенно заснул вечным сном при контакте с Риценитом»* |
### Спад дозы и снятие эффектов
@@ -61,12 +61,12 @@
**Java, Forge 1.12.2** — через стандартный `@Config`:
```java
package com.yourname.energetives.config;
package com.yourname.energatives.config;
import net.minecraftforge.common.config.Config;
import com.yourname.energetives.ModInfo;
import com.yourname.energatives.ModInfo;
@Config(modid = ModInfo.MODID, name = "energetives_expansion")
@Config(modid = ModInfo.MODID, name = "energatives_expansion")
public class EnergeticsConfig {
@Config.Comment("Белый список сущностей, полностью игнорирующих EF-излучение. Формат: modid:entity_name")
@@ -93,7 +93,7 @@ public static void applyEFRadiation(EntityLivingBase entity) {
**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;`. Сборщики смогут дополнять список датапаками, не касаясь конфигов.
**Версии 1.18.2+** — предпочтительный путь через теги сущностей: файл `data/energatives/tags/entity_types/ef_immune.json`, проверка сводится к одной строке `if (entity.getType().is(ModTags.EntityTypes.EF_IMMUNE)) return;`. Сборщики смогут дополнять список датапаками, не касаясь конфигов.
## 3. Материалы и производственная цепочка
@@ -217,12 +217,12 @@ public static void applyEFRadiation(EntityLivingBase entity) {
Достижение «Опыт номер 17» — двойная отсылка (эксперимент №17 из Half-Life и прямая цитата из русскоязычного трека про Гастера). Иконка — сердечник БЭС в бирюзовом пламени либо литера λ из Т-Иридия. Выполнить без полностью заряженного силового поля и укрытия за толстой стеной Тельтнита невозможно.
Шаблон файла `data/energetives/advancements/subject_17.json`:
Шаблон файла `data/energatives/advancements/subject_17.json`:
```json
{
"display": {
"icon": { "item": "hbm_energetives:bes_bomb_core" },
"icon": { "item": "energatives:bes_bomb_core" },
"title": { "text": "Опыт номер 17", "color": "dark_purple" },
"description": {
"text": "Если ты готов к экспериментам и готов сражаться, то удачи пережить опыт с номером 17.",
@@ -233,13 +233,13 @@ public static void applyEFRadiation(EntityLivingBase entity) {
"announce_to_chat": true,
"hidden": true
},
"parent": "hbm_energetives:find_n1_silo",
"parent": "energatives:find_n1_silo",
"criteria": {
"survived_bes_blast": {
"trigger": "minecraft:entity_hurt_player",
"conditions": {
"damage": {
"type": "hbm_energetives:bes_explosion",
"type": "energatives:bes_explosion",
"source": { "distance": { "absolute": { "max": 30.0 } } }
}
}