CombatEdit
Серверный мод для Fabric, возвращающий боевую систему в стиле 1.8 в современные версии Minecraft.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 49 тыс.
- Подписчиков на Modrinth
- 26
- версии
- 24
- Обновлён
- 27 сентября 202627 сент.
- Опубликован
- в 2024
Коротко о моде
Нужен на сервере; в игре — по желанию
CombatEdit
Серверный мод для Fabric, возвращающий боевую систему в стиле 1.8 в современные версии Minecraft! Дополнительно позволяет настраивать стандартные атрибуты для всех сущностей и предметов, а также стандартные компоненты предметов.
Требования
Этот мод не требует установки на клиенте или Fabric API (необходимые модули Fabric API включены в мод), однако для настройки атрибутов через GUI требуется Mod Menu, чтобы открыть экран конфигурации.
Возможности
Настройки по умолчанию этого мода возвращают боевую систему в стиле 1.8. Дополнительно (начиная с версии 2.1) следующие параметры можно настроить либо через экран настроек, либо через файл конфигурации (см. Конфигурация):
- Стандартные атрибуты сущностей для живых сущностей (максимальное здоровье, урон от атаки, скорость атаки, скорость передвижения, ...)
- Стандартные модификаторы атрибутов предметов для всех типов предметов (дополнительный урон от атаки, скорость атаки, ...)
- Стандартные компоненты предметов для всех типов предметов (прочность, неразрушаемость, зачарования, ...)
- Какие звуки атаки должны быть включены или отключены
- Должен ли быть включён отбрасывание в стиле 1.8
Обратите внимание: хотя изменение стандартных значений предметов и сущностей прямо в мире возможно, и я старался сделать это как можно более бесшовно, это всё ещё может привести к неожиданному поведению и (вероятно, менее значительным) багам.
Конфигурация
CombatEdit использует разные концепции для своей настройки:
Файл настроек
Это основной способ настройки мода для игроков. Настройки, сделанные в файле настроек, имеют приоритет над конфигурациями базового профиля и расширений профиля, а также файл настроек определяет, какой базовый профиль использовать. Для пользователей основной способ настройки — использование экрана GUI, доступного через ModMenu в списке модов (по нажатию на кнопку с шестерёнкой после выбора CombatEdit). Файл настроек сохраняется в config/combatedit/settings.json относительно директории minecraft/server.
Чтобы настроить эти параметры на сервере, вы можете создать и сохранить свою конфигурацию на клиенте через экран конфигурации, а затем загрузить файл конфигурации (в config/combatedit/settings.json) в ту же директорию внутри директории сервера.
Базовые профили
Базовые профили определяют основную конфигурацию атрибутов сущностей и предметов. CombatEdit включает два базовых профиля:
- профиль 1.8 Combat (
combatedit:1_8_combat), который включён по умолчанию и устанавливает значения атрибутов сущностей и предметов так, чтобы они напоминали современную версию боевой системы 1.8 (используя те же значения урона, что и Bedrock Edition) - профиль Vanilla (
combatedit:vanilla), который оставляет стандартные атрибуты сущностей и предметов нетронутыми.
Создатели датапаков могут предоставлять свои собственные базовые профили (см. Датапаки) для создания разных базовых конфигураций.
Расширения профилей
Расширения профилей позволяют корректировать конфигурацию базового профиля (например, добавлять дополнительные модификаторы предметов или переопределять другие, заданные в базовом профиле). Они предназначены для разработчиков модов, которые хотят предоставить разные настройки предметов или сущностей для базовых профилей (например, изменив значения урона для профиля 1.8 Combat на пользовательских предметах, чтобы компенсировать отсутствие какой-либо перезарядки атаки в качестве меры баланса). См. Разработчики модов для получения дополнительной информации.
Датапаки
Как базовые профили, так и расширения профилей можно включить в датапак. Следующее дерево директорий описывает, куда помещать файлы базовых профилей и расширений профилей.
data: директория данных внутри вашего датапака<your_namespace>: Ваше пользовательское пространство имён датапакаcombatedit: Все файлы датапака, связанные с CombatEdit, находятся здесьprofile_extensions: Содержит расширения профилей.<profile_namespace><profile_name>: Содержит файлы расширений профиля.json, расширяющие базовый профиль<profile_namespace>:<profile_name>
base_profiles: Содержит файлы базовых профилей.json. Файл с именем<your_profile>.json, созданный здесь, создаст базовый профиль с ID<your_namespace>:<your_profile>.
Разработчикам модов
Разработчики модов могут включать базовые профили в формате JSON так же, как создатели датапаков, размещая файлы внутри своей директории ресурсов data, используя ту же структуру директорий, что упомянута выше для датапаков. Кроме того, можно предоставлять расширения профилей программно: просто создайте класс, реализующий интерфейс CombatEditInitListener, и укажите эту реализацию как новую точку входа с именем combatedit в вашем fabric.mod.json.
Спецификации формата JSON
В этом разделе объясняются форматы JSON различных типов конфигураций. Примеры датапаков для создания базового профиля и расширения профиля можно найти в директории examples.
Базовые профили
Базовый профиль в формате JSON — это объект JSON, содержащий следующие ключи:
name: Отображаемое имя вашего базового профиля. Может быть текстовым компонентом или простой строкой.description: Описание вашего базового профиля. Может быть текстовым компонентом или простой строкой.configuration: Конфигурация функций для этого базового профиля. См. Конфигурация функций.
Расширения профилей
Расширение профиля в формате JSON — это объект JSON, содержащий следующие ключи:
priority: Целое число, задающее приоритет этого расширения профиля. Большее значение приоритета означает, что это расширение профиля имеет приоритет над другими расширениями профилей, если переопределения в них конфликтуют друг с другом.configuration_overrides: Конфигурация функций, задающая переопределения, которые вносит это расширение. См. Конфигурация функций.
Конфигурация функций
Формат конфигурации функций является общим для базовых профилей, расширений профилей и файла настроек. Он имеет следующие ключи:
configuration_version: Целое число, задающее версию конфигурации функций, которая может меняться при внесении ломающих изменений в формат. Текущая версия конфигурации —3.entity_attributes: Массив объектов Атрибут сущности, задающих атрибуты по умолчанию для типа сущности.item_attributes: Массив объектов Атрибут предмета, задающих модификаторы атрибутов по умолчанию для предмета.item_components: Массив объектов Компонент предмета, задающих компоненты по умолчанию для предмета.enabled_sounds: Карта пар идентификатор звука — логическое значение, задающая, включены эти звуки или нет. В настоящее время настраиваются следующие звуки:minecraft:entity.player.attack.nodamageminecraft:entity.player.attack.knockbackminecraft:entity.player.attack.weakminecraft:entity.player.attack.strongminecraft:entity.player.attack.sweepminecraft:entity.player.attack.crit
misc_options: Объект, настраивающий Разные параметры.
Атрибут сущности
Записи атрибутов сущностей имеют следующую структуру:
entity_id: Идентификатор типа сущности, который нужно изменитьbase_values: Массив объектов базовых значений атрибутов, которые имеют следующие ключи:attribute: Идентификатор атрибута, значение которого изменяетсяbase_value: Базовое значение, которое нужно использовать для указанного атрибута
override_default: Логический параметр. Если установленоtrue, атрибуты сущности по умолчанию удаляются перед применением изменений, указанных в этой записи атрибута сущности
Атрибут предмета
Записи атрибутов предметов имеют следующую структуру:
item_id: Идентификатор предмета, который нужно изменитьmodifiers: Массив объектов модификаторов атрибутов, которые имеют следующую структуру:attribute: Атрибут, для которого нужно добавить модификаторmodifier_id: Уникальный идентификатор модификатора атрибута. Необязателен; если не указан, вместо него используется случайный идентификаторvalue: Значение для модификатораoperation: Тип операции для модификатора. Может быть одним из следующих:"add_value": Добавляет значение этого модификатора к базовому значению атрибута для сущности"add_multiplied_base": Умножает базовое значение атрибута на указанное значение и добавляет результат к общему значению атрибута"add_multiplied_total": Умножает сумму базового значения и всех модификаторов типа"add_multiplied_base"и добавляет результат к общему значению атрибутаslot: Слот, в котором должен находиться предмет, чтобы модификатор применился. Может быть одним из следующих:"any": Применяется во всех слотах"mainhand": Применяется, когда предмет держат в основной руке"offhand": Применяется, когда предмет держат во второй руке"hand": Применяется, когда предмет держат в любой руке"feet": Применяется, когда предмет надет в слот ботинок"legs": Применяется, когда предмет надет в слот штанов"chest": Применяется, когда предмет надет в слот нагрудника"head": Применяется, когда предмет надет в слот шлема"armor": Применяется, когда предмет надет в любой слот брони (на игроках или животных)"body": Применяется, когда предмет надет на животное"saddle": Применяется, когда предмет надет в слот седла лошади
override_default: Логический параметр. Если установленоtrue, модификаторы атрибутов предмета по умолчанию удаляются перед применением изменений, указанных в этой записи
Компонент предмета
Записи компонентов предмета имеют следующую структуру:
item_id: Идентификатор предмета, компоненты которого нужно изменитьchanges: Массив изменений компонентов, которые нужно внести, имеющих следующую структуру:component_type: Идентификатор типа компонента, значение которого нужно изменитьchange_type: Изменение, вносимое этой записью, которое может быть:"set", если нужно установить новое значение для этого типа компонента"remove", если значение по умолчанию для этого компонента нужно полностью удалить из предметаvalue: Значение, устанавливаемое для этого компонента. Необязательно, если у типа компонента нет значений или тип изменения —"remove"
Прочие параметры
enable_1_8_knockback: Логическое значение, указывающее, должен ли быть включён отбрасывание из 1.8 вместо стандартного отбрасывания в современных версиях Minecraft.disable_sweeping_without_enchantment: Логическое значение, указывающее, должны ли быть отключены эффекты размахивания, если используемый предмет не имеет зачарования на размахивание.
Частые вопросы
Как установить CombatEdit?
Установите Fabric под свою версию Minecraft, скачайте CombatEdit под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть CombatEdit?
У CombatEdit есть сборки для Minecraft 1.19–1.19.4, 1.20.4, 1.20.6–26.3.
Нужен ли CombatEdit на сервере?
Нужен на сервере; в игре — по желанию