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:
+10
-10
@@ -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 } } }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user