Ship a disk example pack so last-wins, patches and create-with-a-mod are tested for real.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 01:06:12 +03:00
co-authored by Cursor
parent edd3d35c79
commit 505b1429ab
20 changed files with 405 additions and 14 deletions
+6 -1
View File
@@ -218,6 +218,10 @@ create раскладка замораживается вместе с набо
Моды — подпапки на диске сервера, например `mods/<id>/`. Ядро — мод `core`: тот же формат папки,
но **всегда включён**, в UI создания его нельзя снять. Остальные папки — чекбоксы.
Живой образец — [`../../src/HSchool.Server/mods/example/`](../../src/HSchool.Server/mods/example/):
`pack.jsonc`, две черты, набор имён, патч, last-wins и одна комната. Пока его не выбрали, ваниль
не меняется. README внутри папки — как добавить своё.
```
mods/
core/
@@ -227,7 +231,7 @@ mods/
en.jsonc
maps/
default.jsonc # ванильная раскладка
furniture-pack/
example/ # образец, не контент; выключается в create
defs/
patches/ # правки чужих def, не копии
localizations/
@@ -284,6 +288,7 @@ mods/
| Пустая комната | Можно; граф связный, двор всегда в графе |
| Действия | Заготовки в def, без исполнения и без приказов |
| Моды | `mods/<id>/`; `core` всегда первый и не снимается; остальные — UI create |
| Образец пака | `mods/example/`: настоящая папка рядом с `core`, не контент |
| Коллизии имён | Последний пакет победил (defs и локали), warning в лог |
| Наследование | `parent`, `abstract`; поле ребёнка заменяет, не мержит массивы |
| Патчи | `patches/` после наследования; ops: add / replace / remove; неизвестный op — ошибка |