Краткое описание.
Создайте пропуск в данж, постройте платформу, активируйте портал и войдите в данж! Вас ждут различные угрозы, испытание вашей силы и награды за ваши усилия!

(В демонстрации выше использованы анимации атак из Better-Combat. Весь сторонний контент остается собственностью его оригинальных создателей)
Более подробное описание.
-Исследовали все ближайшие структуры и устали от часов поисков ради немного экшена?
-Хотите испытать свою экипировку в месте, где угрозы гарантированно присутствуют?
-Пытаетесь проверить удачу, чтобы получить сладкую добычу?
-Хотите заблудиться в случайно генерируемых данжах?
Я не могу гарантировать, что это решит все эти проблемы но, возможно, стоит попробовать!
Этот мод вводит новое измерение данжей, которое сосредоточено на повторяющихся забегах, с такими функциями, как:
-Ручное создание структур.
-Случайный подбор противников.
-Случайный подбор биомов.
-Сокровищницы.
Вы также можете использовать билеты Challenger Pass, чтобы повысить сложность забега в данже, что увеличивает характеристики врагов в обмен на больше добычи!
Эти билеты также складываются: если вы хотите сразиться с зомби, у которого 1000 HP и 100 сердец урона за удар, то ничто вас не остановит!
Предметы и механики.
- Dungeon Pass.
(Создается из 3 бумаги и любой части ванильного монстра)

Постройте плоскую платформу из Резного Каменного Кирпича и потолок из любого блока по вашему выбору, затем используйте Dungeon Pass на платформе, чтобы активировать портал в данж!

Используйте Dungeon Pass на активном портале, чтобы сбросить данж, вернув его к этапу 1 и сложности уровня 1!
- Challenger Pass.
(Создается из 3 бумаги и 4 частей ванильных монстров)

Используйте на активном портале, чтобы повысить сложность текущего забега в данже, увеличивая HP и урон врагов в обмен на больше добычи! Сбрасывается вместе с забегом.
- Stage Refill.
(Создается из Dungeon Pass и 4 булыжника)

Используйте на активном портале, чтобы пересоздать текущий этап. Предназначен для использования в таких ситуациях, как неполная генерация данжа, например, встреча только с тупиками.
- Dungeon Refill.
(Создается из Dungeon Pass и 8 булыжника)

Аналогично Stage Refill, используется на активном портале, но пересоздает все этапы.
(В отличие от Stage Refill, который пересоздает только текущий этап)
Добавление контента.
Следующее предназначено для создателей модов или тех, кто точно знает, что делает, так как неправильное изменение может вызвать неожиданные результаты, включая возможные сбои игры.
Дополнительные биомы, мобы и добыча могут быть добавлены в данж через датапаки или моды, следуя правильной структуре!
Чтобы добавить мобов:
Чтобы добавить мобов, создайте директорию по пути data/lrdynamicdungeon/enemy_pool/compatibility/
(например, data/lrdynamicdungeon/enemy_pool/compatibility/my_mod_id/
) и включите json-файл для каждого этапа (stage_1.json, stage_3.json и т.д., не обязательно иметь файл для каждого этапа). Туда вы можете добавить мобов (или группы мобов) в любой из этих файлов для этапа, на котором они должны появиться, следуя формуле:
{
>тип врага<: [
[
[>id врага<, >смещение по X<, >смещение по Y<, >смещение по Z<, >опциональные данные NBT<]
]
]
}
Например, чтобы добавить большого слизня в пул "ground":
{
"ground": [
[
["minecraft:slime", 0, 0, 0, { "Size": 2 } ]
],
>другие группы<
],
>другие типы<
}
Или группу врагов, например, 3 x пауков И 1 x зомби:
{
"ground": [
[
["minecraft:spider", 0, 0, 0],
["minecraft:spider", 0, 0, 0],
["minecraft:spider", 0, 0, 0],
["minecraft:zombie", 0, 0, 0]
],
>другие группы<
],
>другие типы<
}
Смотрите файлы этапов в data/lrdynamicdungeon/enemy_pool/stage/
для примера.
Все добавленные враги проходят фильтр, чтобы убедиться в их наличии в сборке модов, пропуская любую группу, содержащую недопустимые записи, и принимая остальные!
Чтобы добавить добычу из сокровищниц:
Чтобы добавить добычу, создайте директорию по пути data/lrdynamicdungeon/dungeon_loot/compatibility/
(например, data/lrdynamicdungeon/dungeon_loot/compatibility/my_mod_id/
) и включите json-файл для каждого этапа (stage_1.json, stage_3.json и т.д., не обязательно иметь файл для каждого этапа). Туда вы можете добавить добычу (или группы добычи) в любой из этих файлов для этапа, на котором она должна появиться, следуя формуле:
{
>категория, можно создать новую<: {
"weight": >ОПЦИОНАЛЬНО, перезаписывает вес категории<,
"weightAdd": >ОПЦИОНАЛЬНО, добавляет к весу категории<,
"loot": [
[
[ >id предмета<, >количество< ]
],
>группа добычи 2<,
>группа добычи 3<,
>и т.д...<
]
}
}
Например, чтобы можно было найти 2 x стака картошки, ИЛИ полстакана хлеба:
{
"consumable": {
"weightAdd": 1,
"loot": [
[
[ "minecraft:potato", 64 ],
[ "minecraft:potato", 64 ]
],
[
[ "minecraft:bread", 32 ]
]
]
},
>другие категории<
}
Имейте в виду, что если категория существует, она объединится с ней (в этом примере она объединится с "consumable")
Если категория не существует: она просто создаст новую категорию. Если "weight" не установлен, то по умолчанию будет равен 3.
Чем выше "weight" категории, тем больше шансов, что добыча выпадет именно из нее. Большинство категорий имеют вес около 3.
Смотрите файлы этапов в data/lrdynamicdungeon/dungeon_loot/
для примера.
Вся добавленная добыча проходит фильтр, чтобы убедиться в ее наличии в сборке модов (включая зачарования), пропуская любую группу, содержащую недопустимые записи, и принимая остальные!
Чтобы добавить биомы и комнаты данжа:
Биомы данжа зависят от двух частей: файлов структур для спавна комнат и json-файла, указывающего, где эти комнаты должны появляться.
Структуры и их расположение.
Структуры должны быть размещены по пути data/lrdynamicdungeon/structures/
. Затем вы можете создать директорию с названием биома по вашему выбору, например, data/lrdynamicdungeon/structures/swamp/
Каждый биом требует стартовую комнату, как минимум одну босс комнату и как минимум одну стандартную комнату, структурированные следующим образом:
data/lrdynamicdungeon/structures/your_biome/
├-start.nbt
├-start.meta
├-boss/
| ┕->ваши nbt + meta файлы босс комнаты<
┕-standard/
┕->ваши nbt + meta файлы стандартной комнаты<
Имейте в виду, что стартовая комната должна называться "start", иначе она не будет распознана!
Вы можете добавить сколько угодно босс комнат и стандартных комнат, они будут выбираться случайным образом в биоме, и вы можете давать комнатам любые имена по вашему выбору!
Создание комнат.
Каждая комната состоит из одного структурного файла .NBT и файла .META с совпадающими именами, например, crossing.nbt и crossing.meta, где nbt содержит структурную информацию (блоки, состояния блоков и т.д.), а meta-файл содержит информацию о позиционировании для размещения комнаты.
Вы можете создать файл структуры nbt любым предпочтительным способом! (Внутриигровые структурные блоки, или ПО, или написав код самостоятельно и т.д.). Общие правила:
-Не стройте комнаты внутри измерения данжа, так как это вызовет активацию логических блоков.
Двери (Блок соединения комнат):

-Создаются в виде вертикальной стены 3x3, они должны быть размещены на краю комнаты, чтобы работать.
-Вы можете изменить шанс появления сокровищницы, щелкнув ПКМ по центральному блоку (Изменение шанса на окружающих блоках ничего не даст).
-Я предлагаю сделать все двери обращенными к разным краям комнаты. Если вы разместите двери слишком близко друг к другу, вероятно, одна дверь не сможет сгенерировать комнату.
Блоки спавна врагов:

-Они отвечают за выбор случайного врага из соответствующей группы (наземные, летающие, босс и т.д.).
-Вы можете переключать типы, щелкая ПКМ по блоку.
Блоки замков:

-Создайте обычную дверь 3x3 (из Блоков соединения комнат) и замените центр блоком замка. Это добавит логику необходимости очистить комнату от врагов перед продолжением.
-Вы также можете щелкнуть ПКМ по этим замкам, чтобы изменить шанс сокровищницы при их разблокировке.
Стартовые комнаты:

-Включите портал данжа, чтобы игроки могли вернуться.
-Включите как минимум одну дверь.
Стандартные комнаты:

-Включите открытый 3x3 вход, обращенный на Юг (Таким образом, когда вы входите в комнату, вы смотрите на Север).
-Рекомендуется включить как минимум один блок спавна врагов.
-Включите как минимум одну дверь.
Босс комнаты:

-Включите открытый вход, обращенный на Юг (Таким образом, когда вы входите в комнату, вы смотрите на Север).
-Включите Блок спавна врагов Босса.
-Включите Блок портала на следующий этап где-нибудь в полу, нужен только один блок, он преобразует блоки вокруг себя после поражения босса.
Мета-файл для каждой комнаты:
-Эти файлы структурированы следующим образом:
{
"doors": [
{
"facing": "south",
"leftshift": >значение<,
"verticalshift": >значение<,
"backshift": >значение<
}
]
}
Эти значения используются как якорь для смещения комнаты при размещении. Самый простой способ рассчитать это - встать лицом на Север и измерить:
-leftshift: от центра входа до левой стены, и вычесть 1.
-verticalshift: от центра входа до самого нижнего блока, и вычесть 1.
-backshift: длина комнаты с севера на юг (включая стены).

Файл совместимости json.
Как только у вас есть базовые файлы структур (nbt и meta для стартовой комнаты, как минимум одной стандартной комнаты и как минимум одной босс комнаты) и вы разместили их по правильному пути (внутри data/lrdynamicdungeon/structures/your_biome/
), вы можете теперь создать файл совместимости json, который будет расположен по пути data/lrdynamicdungeon/dungeon/compatibility/
, например, data/lrdynamicdungeon/dungeon/compatibility/your_mod_id.json
. В этом файле вы хотите добавить следующее содержимое:
{
"requires": [ >массив требуемых модов< ],
"stages": {
>номер этапа<: [ >массив добавляемых биомов< ],
>повторить для других этапов<
}
}
Например;
Если вы создали 3 биома и хотите добавить один на этап 3, а два других на этап 5, убедившись, что "mod_1" и "mod_2" присутствуют, содержимое будет выглядеть так:
{
"requires": ["mod_1", "mod_2"],
"stages": {
"3": ["biome_1"],
"5": ["biome_2", "biome_3"]
}
}
Смотрите файлы по пути