Перейти к содержимому

Further Difficulty Config

Мод прогрессивной сложности с настраиваемыми этапами. Этапы запускаются событиями, каждый повышает характеристики мобов (здоровье, броню и т.д.), есть чёрный список, четыре режима прогрессии, горячая перезагрузка и команды управления этапами.

NeoForge
Загрузчики
NeoForge
Скачиваний на Modrinth
462
Подписчиков на Modrinth
3
версии
2
Обновлён
20 апреля 202620 апр.
Опубликован
в 2026
Default: Entering the Nether triggers a message and enhances mob attributes. 默认设置下首次进入下界出现提示,并增强生物属性。 · свайп

Коротко о моде

Работает на NeoForge
Для Minecraft 1.21.1, 26.1
Нужен и в игре, и на сервере
Последняя версия — 1.0.0 от 20 апреля 2026
Лицензия MIT — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.21.1, 26.1
Описание переведено автоматическиПоказать оригинал (EN)

Further Difficulty

Further Difficulty — это мод для Minecraft на NeoForge, созданный для добавления прогрессирующей сложности через настраиваемую систему прогрессии мира. Вы можете задать несколько этапов, каждый со своими триггерами, чёрными списками мобов и модификаторами атрибутов (здоровье, броня, прочность брони, урон атаки). Вся настройка выполняется через простые JSON-файлы, а мод поддерживает перезагрузку командой прямо в игре и управление прогрессом.

✨ Возможности

  • Многоэтапная прогрессия — поддержка неограниченного числа этапов с уникальными ID.
  • Четыре режима прогрессии — strict, progressive, unordered и first_only для разных вариантов сложности.
  • Гибкие триггеры — этапы могут запускаться при входе в измерение (например, minecraft:the_nether) или при убийстве конкретного моба (например, minecraft:ender_dragon).
  • Чёрный список мобов — у каждого этапа свой чёрный список; мобы из заблокированных этапов не спавнятся естественным образом (яйца спавна всё ещё работают).
  • Модификаторы атрибутов — независимое умножение/прибавление к здоровью, броне, прочности брони и урону атаки.
  • Команда горячей перезагрузки — /furtherdifficulty reload перезагружает config/further_difficulty.json без перезапуска сервера.
  • Команды управления прогрессом

    • `/furtherdifficulty progress set ` — принудительно завершить этап.
    • /furtherdifficulty progress reset — сбросить весь прогресс (для тестирования/отладки).
  • Полная локализация — обратная связь команд поддерживает несколько языков (английский и упрощённый китайский встроены).
  • Открытый исходный код и лицензия MIT — свободно используйте, изменяйте и распространяйте.

📥 Установка

  1. Убедитесь, что у вас установлен NeoForge 1.21.1 или совместимая версия.
  2. Поместите скачанный further_difficulty-X.X.X.jar в папку mods.
  3. При первом запуске в директории config будет создан файл конфигурации по умолчанию further_difficulty.json.

⚙️ Конфигурация

Файл конфигурации находится по пути config/further_difficulty.json и использует формат JSON. Содержимое по умолчанию:

{
  "mode": "strict",
  "stages": [
    {
      "id": "nether_entry",
      "trigger": {
        "type": "dimension",
        "target": "minecraft:the_nether"
      },
      "triggerMessage": "A tremor echoes from the core...",
      "blacklist": [],
      "modifiers": {
        "healthMultiplier": 1.5,
        "healthAddition": 0.0,
        "armorMultiplier": 2.0,
        "armorAddition": 5.0,
        "toughnessMultiplier": 2.0,
        "toughnessAddition": 5.0,
        "attackMultiplier": 2.0,
        "attackAddition": 0.0
      }
    },
    {
      "id": "dragon_kill",
      "trigger": {
        "type": "kill",
        "target": "minecraft:ender_dragon"
      },
      "triggerMessage": "You have broken an ancient taboo...",
      "blacklist": [],
      "modifiers": {
        "healthMultiplier": 2.0,
        "healthAddition": 0.0,
        "armorMultiplier": 2.0,
        "armorAddition": 5.0,
        "toughnessMultiplier": 2.0,
        "toughnessAddition": 5.0,
        "attackMultiplier": 2.0,
        "attackAddition": 0.0
      }
    }
  ]
}

Поля верхнего уровня

ПолеТипОписание
modestringРежим прогрессии (см. таблицу ниже)
stagesarrayСписок этапов, заданных по порядку (индекс 0,1,2,...)

Поля этапа

ПолеТипОписание
idstringУникальный идентификатор этапа, используется в командах и хранении
triggerobjectУсловие срабатывания, содержит type и target
triggerMessagestringГлобальное сообщение, транслируемое при первом срабатывании этапа
blacklistarrayСписок ID сущностей (например, "minecraft:skeleton"), которым запрещён спавн, пока этот этап заблокирован
modifiersobjectНастройки модификаторов атрибутов (см. ниже)

Поля модификаторов

ПолеТипОписание
healthMultiplierdoubleМножитель здоровья
healthAdditiondoubleПлоская прибавка к здоровью
armorMultiplierdoubleМножитель брони
armorAdditiondoubleПлоская прибавка к броне
toughnessMultiplierdoubleМножитель прочности брони
toughnessAdditiondoubleПлоская прибавка к прочности брони
attackMultiplierdoubleМножитель урона атаки
attackAdditiondoubleПлоская прибавка к урону атаки

Примечание: Итоговое значение атрибута = (базовое значение × множитель) + прибавка. Модификаторы со всех разблокированных этапов применяются накопительно (множители перемножаются, прибавки складываются).

📈 Расширение этапов и ограничения

1. Ограничение количества этапов

Внутри мод использует битовую маску int для хранения индексов завершённых этапов, что поддерживает до 31 этапа (биты с 0 по 30). Это связано с тем, что Java int — 32-битный знаковый; старший бит (бит 31) является знаковым, оставляя 31 доступный бит. Если настроить больше 31 этапа, лишние этапы не будут сохранены или распознаны корректно.

Если нужно больше 31 этапа, можно изменить исходный код:

  • Сменить тип COMPLETED_CONDITIONS в ModAttachments.java с Codec.INT на Codec.LONG (поддерживает до 63 этапов) и обновить все битовые операции (заменить 1 << i на 1L << i).
  • Либо использовать BitSet и сериализовать его в массив байтов (теоретически без ограничений).

2. Как добавить новые этапы

Добавить новый этап просто: достаточно дописать новый объект этапа в массив stages в файле конфигурации. Учтите:

  • У каждого этапа должен быть уникальный ID (например, "ender_dragon_kill").
  • Порядок этапов важен:

    • В режиме strict этапы должны срабатывать по порядку (этап 0 → этап 1 → этап 2 → ...).
    • В режиме progressive завершение этапа N автоматически активирует все этапы с 0 по N (накопительно).
    • В режимах unordered и first_only порядок не важен, но список завершённых всё равно записывается по ID.
  • Добавление нового этапа не влияет на существующий прогресс. Список ID завершённых этапов остаётся тем же, но активная битовая маска пересчитывается согласно новому порядку этапов и текущему режиму. Пример: В режиме progressive, если игрок завершил этап 2, добавление нового этапа 3 не активирует этап 3 автоматически (игрок должен выполнить его триггер). Однако этапы 0–2 по-прежнему действуют.

Пример: Добавление третьего этапа (убийство Ender Dragon)

{
  "mode": "progressive",
  "stages": [
    // ... предыдущие этапы ...
    {
      "id": "ender_dragon_kill",
      "trigger": { 
        "type": "kill", 
        "target": "minecraft:ender_dragon" 
      },
      "triggerMessage": "Дракон падает, мир содрогается...",
      "blacklist": [],
      "modifiers": {
        "healthMultiplier": 3.0,
        "healthAddition": 10,
        "armorMultiplier": 1.5,
        "armorAddition": 2,
        "toughnessMultiplier": 1.5,
        "toughnessAddition": 2,
        "attackMultiplier": 2.0,
        "attackAddition": 3
      }
    }
  ]
}

🎮 Команды

Все команды требуют уровень разрешений 2 (обычно оператор/админ). Префикс команды — /furtherdifficulty.

КомандаОписание
/furtherdifficulty reloadПерезагрузить файл конфигурации config/further_difficulty.json
`/furtherdifficulty progress set `Принудительно завершить указанный этап (если он ещё не завершён)
/furtherdifficulty progress resetСбросить весь прогресс (очистить завершённые этапы)

Примеры

/furtherdifficulty reload
/furtherdifficulty progress set nether_entry
/furtherdifficulty progress reset

🧠 Режимы прогрессии

Название режимаЗначение в конфигеОписание поведения
StrictstrictЭтапы должны выполняться по порядку: этап 1 должен быть завершён до этапа 2, этап 2 до этапа 3 и т. д.
ProgressiveprogressiveЗавершение этапа N автоматически активирует все эффекты этапов с 0 по N (накопительно). Пример: завершение этапа 2 применяет этапы 0, 1 и 2.
UnorderedunorderedЭтапы могут срабатывать в любом порядке; эффекты каждого этапа применяются независимо и накопительно. Завершение этапа 0 и этапа 2 применяет оба.
First Onlyfirst_onlyДействует только первый сработавший этап; последующие этапы игнорируются (только транслируют своё сообщение).

💾 Хранение данных

Данные о прогрессе хранятся в level.dat оверворлда с помощью системы Attachment из NeoForge. Это значит:

  • Прогресс глобальный и влияет на все измерения.
  • Данные сохраняются вместе с миром и переживают перезапуски сервера.
  • В мультиплеере все игроки используют общий прогресс (определяется первым игроком, который запустил этап).

Сохраняемые данные:

  • completed_conditions: список ID завершённых этапов (`List`).
  • first_condition: ID первого завершённого этапа (String, используется для режима first_only).

🗑️ Заметки об удалении

  • Удалять мод напрямую безопасно; сохранение мира не повредится и не станет неоткрываемым.

  • Примечание: после удаления мода все существующие мобы, усиленные модом, сохранят свои повышенные атрибуты (например, больше здоровья). Только новые мобы вернутся к ванильной силе.

  • Если вы хотите полностью «очистить» мир, можете использовать команду /furtherdifficulty progress reset, чтобы сбросить прогресс перед удалением. Однако это не изменит атрибуты уже появившихся мобов.

📝 Информация для разработчиков

  • Автор: 盐灯水母
  • Версия: 1.0.0
  • Лицензия: MIT
  • GitHub: (пока нет)
  • e-mail:Jellyfishlamp0v0@outlook.com

Вы можете свободно включать этот мод в свой модпак. Указание авторства приветствуется, но не обязательно.

- 中文介绍:

Further Difficulty

Further Difficulty旨在通过可配置的世界进度机制,为游戏增加渐进式难度。

你可以定义多个阶段(Stage),每个阶段可独立配置触发条件、生物黑名单和属性增强(生命值、护甲、护甲韧性、攻击力)。

所有配置通过简单的 JSON 文件完成,并支持游戏内指令热重载和进度管理。

✨ 特性

多阶段进度系统:支持任意数量的阶段,每个阶段有唯一 ID。

四种进度模式:strict、progressive、unordered、first_only,满足不同难度设计需求。

灵活的触发条件:阶段可通过进入特定维度(如 minecraft:the_nether)或击杀特定生物(如 minecraft:ender_dragon)触发。

生物黑名单:每个阶段可独立配置黑名单,未解锁阶段中的生物将无法生成(允许刷怪蛋生成黑名单中的怪物)

属性增强:对生命值、护甲、护甲韧性、攻击力分别设置倍数和固定加值。

热重载指令:/furtherdifficulty reload 在不重启服务器的情况下重新加载 config/further_difficulty.json

进度管理指令:

  • 强制完成指定阶段
/furtherdifficulty progress set <stageId>
  • 重置所有进度
/furtherdifficulty progress reset

方便测试与调试。

完全本地化:指令反馈支持多语言(内置英文和简体中文)。

开源 & MIT 许可证:允许自由使用、修改和整合。

📥 安装

  • 确保已安装 NeoForge 1.21.1 或兼容版本。

  • 将下载的 further_difficulty-X.X.X.jar 放入 mods 文件夹。

  • 首次启动游戏会在 config 目录下生成默认配置文件 further_difficulty.json。

⚙️ 配置文件

  • 配置文件位于 config/further_difficulty.json,采用 JSON 格式。默认内容如下:
{
  "mode": "strict",
  "stages": [
    {
      "id": "nether_entry",
      "trigger": {
        "type": "dimension",
        "target": "minecraft:the_nether"
      },
      "triggerMessage": "地核某处传来一阵悸动...",
      "blacklist": [],
      "modifiers": {
        "healthMultiplier": 1.5,
        "healthAddition": 0.0,
        "armorMultiplier": 2.0,
        "armorAddition": 5.0,
        "toughnessMultiplier": 2.0,
        "toughnessAddition": 5.0,
        "attackMultiplier": 2.0,
        "attackAddition": 0.0
      }
    },
    {
      "id": "dragon_kill",
      "trigger": {
        "type": "kill",
        "target": "minecraft:ender_dragon"
      },
      "triggerMessage": "似乎打破了某种未知的禁忌...",
      "blacklist": [],
      "modifiers": {
        "healthMultiplier": 2.0,
        "healthAddition": 0.0,
        "armorMultiplier": 2.0,
        "armorAddition": 5.0,
        "toughnessMultiplier": 2.0,
        "toughnessAddition": 5.0,
        "attackMultiplier": 2.0,
        "attackAddition": 0.0
      }
    }
  ]
}

- 顶级字段说明

| 字段 | 类型 | 描述 |
| ----- | ----- | ----- |
| mode | string | 进度模式,可选值见下文 |
| stages | array | 阶段列表,按顺序定义(索引从0开始) |

- 阶段(Stage)字段

| 字段 | 类型 | 描述 |
| ----- | ----- | ----- |
| id | string | 唯一标识符,用于进度存储和指令操作 |
| trigger | object | 触发条件,包含 type 和 target |
| triggerMessage | string | 阶段首次触发时全局广播的消息 |
| blacklist | array | 该阶段未解锁时禁止生成的生物 ID 列表(例如 "minecraft:skeleton") |
| modifiers | object | 属性增强配置,见下表 |

- 修饰符(Modifiers)字段

| 字段 | 类型 | 描述 |
| ----- | ----- | ----- |
| healthMultiplier | double | 最大生命值倍数 |
| healthAddition | double | 最大生命值固定增加值 |
| armorMultiplier | double | 护甲值倍数 |
| armorAddition | double | 护甲值固定增加值 |
| toughnessMultiplier | double | 护甲韧性倍数 |
| toughnessAddition | double | 护甲韧性固定增加值 |
| attackMultiplier | double | 攻击力倍数 |
| attackAddition | double | 攻击力固定增加值 |

**注意**:最终属性值 = (基础值 × 倍数) + 固定增加值。所有已解锁阶段的修饰符会按顺序累积(倍数相乘,加值相加)。

**📈 阶段扩展与限制**

**1.阶段数量限制**

由于模组内部使用 int 类型的位掩码来存储已完成的阶段索引,理论上最多支持 31 个阶段(位 0 到 30)。

这是因为 int 在 Java 中为 32 位有符号整数,最高位(第 31 位)为符号位,实际可用 31 位。

如果配置的阶段数量超过 31,超出的阶段将无法被正确存储和识别。

- 若您确实需要更多阶段,可以自行修改源码:

将 ModAttachments.java 中 COMPLETED_CONDITIONS 的类型从 Codec.INT 改为 Codec.LONG(支持最多 63 个阶段),并同步修改所有位操作(将 1 << i 改为 1L << i)。

或改用 BitSet 并序列化为字节数组,理论上无上限。

**2.如何扩展阶段**

扩展阶段非常简单,只需在配置文件 stages 数组的末尾添加新的阶段对象。注意:

每个阶段必须有一个唯一的 id,建议使用语义化的字符串(如 "ender_dragon_kill")。

- 阶段顺序很重要:

在 strict 模式下,阶段必须按顺序触发(阶段0 → 阶段1 → 阶段2 → …)。

在 progressive 模式下,完成阶段 N 会自动激活 0 到 N 的所有效果。

在 unordered 和 first_only 模式下,阶段之间无顺序依赖,但已完成列表仍按 ID 记录。

- 新阶段不会影响已有进度。
- 已完成阶段的 ID 列表保持不变,但在新模式下会按照新的阶段顺序重新计算激活的位掩码。
- 例如,在 progressive 模式下,如果玩家已完成阶段2,新增阶段3后,阶段3不会自动激活(需要玩家完成阶段3的触发条件),但阶段0~2的效果仍然存在。

- 示例:添加第三个阶段(以击杀末影龙为例)

{ "mode": "progressive", "stages": [ // ... 原有阶段 ... { "id": "ender_dragon_kill", "trigger": { "type": "kill", "target": "minecraft:ender_dragon" }, "triggerMessage": "巨龙陨落,世界震颤...", "blacklist": [], "modifiers": { "healthMultiplier": 3.0, "healthAddition": 10, "armorMultiplier": 1.5, "armorAddition": 2, "toughnessMultiplier": 1.5, "toughnessAddition": 2, "attackMultiplier": 2.0, "attackAddition": 3 } } ] }




**🎮 指令系统**
所有指令需要 权限等级 2(通常为管理员/OP)。指令前缀为 /furtherdifficulty。

|指令    |描述|
| ----- | ----- |
|```/furtherdifficulty reload```    |重新加载 config/further_difficulty.json 配置文件|
|```/furtherdifficulty progress set <stageId>```    |强制完成指定 ID 的阶段(如果尚未完成)|
|```/furtherdifficulty progress reset```    |重置所有进度记录(清空已完成阶段)|

- 指令示例

/furtherdifficulty reload /furtherdifficulty progress set nether_entry /furtherdifficulty progress reset


**🧠 进度模式详解**
|模式名称    |配置值    |行为描述|
| ----- | ----- | ----- |
|严格前置    |strict|    阶段必须按顺序完成:完成阶段1后才能触发阶段2,完成阶段2后才能触发阶段3,以此类推。|
|递进式    |progressive|    完成阶段 N 时,自动激活阶段 0 到 N 的所有效果(即累积增强)。例如完成阶段2,则阶段0、1、2全部生效。|
|无序叠加    |unordered|    阶段可任意顺序触发,每个阶段独立生效,效果累积。完成阶段0和阶段2,则两者效果均生效。|
|仅首次    |first_only|    只有第一个触发的阶段生效,后续阶段被忽略(仅广播消息)。|


**💾 数据存储**
- 进度数据使用 NeoForge 世界附件(Attachment) 系统存储于主世界(overworld)的 level.dat 中,因此:

- 进度数据是全局的,影响所有维度。

- 数据随世界保存,重启服务器不会丢失。

- 多人游戏中,所有玩家共享同一进度(由第一个触发者决定)。

- 存储内容:

completed_conditions:已完成阶段的 ID 列表(List<String>)

first_condition:最先完成的阶段 ID(String,用于 first_only 模式)

**🗑️卸载说明**

- 直接卸载是安全的,存档不会因此损坏或无法打开。

- 注意:卸载模组后,所有因模组而获得增强的已存在生物将保留其强化后的属性(如高血量)。只有新生成的生物才会恢复原版强度。

- 如果你希望彻底“净化”世界,可以考虑在卸载前使用指令 /furtherdifficulty progress reset 重置进度,但这不会改变已生成生物的属性。

**📝 开发者信息**
- 作者:盐灯水母
- 版本:1.0.0
- 开源协议:MIT License
- github:暂时没有
- 邮箱:Jellyfishlamp0v0@outlook.com

你可以在整合包中使用,请保留原作者署名(非强制,但很感谢)

Частые вопросы

Как установить Further Difficulty Config?

Установите NeoForge под свою версию Minecraft, скачайте Further Difficulty Config под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Further Difficulty Config?

У Further Difficulty Config есть сборки для Minecraft 1.21.1, 26.1.

Нужен ли Further Difficulty Config на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее