
Ouch!
Мод Ouch! для Minecraft (Fabric/Quilt) добавляет настраиваемые частицы с цифрами урона, лечения и смерти. Больше не нужно гадать, сколько хп осталось у моба - всё отображается прямо в игровом мире. Полностью конфигурируется под ваш сервер.
Ouch!
Надоело гадать, сколько урона ты нанёс мобу? Или хочется сделать бои чуть зрелищнее? Тогда этот мод для тебя.
Ouch! - серверная модификация для Fabric (и Quilt), работающая на базе Polymer. Она добавляет частицы с цифрами урона, лечения и смерти (по умолчанию видны только урон и лечение). Мод полностью настраивается: можно менять цвет, размер, движение, время показа - и всё это в зависимости от типа урона, жертвы, источника и атакующего. Можно даже выводить несколько разных частиц для одного и того же события - хочешь забавные сообщения? Легко.
В ванильном Майнкрафте нет встроенного индикатора урона, что особенно неудобно на PvP-серверах или при фарме мобов. Ouch! решает эту проблему, добавляя всплывающие частицы с цифрами. При этом мод работает только на сервере - клиентам ничего устанавливать не нужно (спасибо Polymer).
Скачать на Modrinth
Настройка
Файл конфига хранится в ./config/ouch.json.
Выбор пресета
По умолчанию конфиг использует формат выбора пресета - можно быстро переключиться между встроенными стилями.
{
"preset": "default"
}
Доступные пресеты: default, minimal.
Полный конфиг
Позволяет менять любой текст и его поведение. Используется для продвинутой настройки.
Все кастомные тексты используют формат QuickText. Предикаты работают через Predicate API.
Строки с // - это комментарии, их в реальном конфиге быть не должно.
{
// Все значения отображения для урона.
"damage": [
// Верхний уровень массива определяет списки, в которых будут искаться текст/настройки.
// Используется только одно определение из каждого вложенного массива. Поиск идёт сверху вниз.
[
// Определение текста/отображения.
{
// [Необязательно] Сопоставляет урон по типу: одиночная запись ("minecraft:generic"),
// тег ("#minecraft:is_fire") или список записей (["minecraft:mob_attack", "minecraft:player_attack"]).
// По умолчанию (не задано) - подходит всё.
"type": "...",
// [Необязательно] Предикат для жертвы (получившей урон сущности).
// По умолчанию всегда успешен.
"victim": {
"type": "..."
},
// [Необязательно] Предикат для атакующего (сущности, которая нанесла урон).
// По умолчанию всегда успешен.
"attacker": {
"type": "..."
},
// [Необязательно] Предикат для источника (снаряд или атакующий).
// По умолчанию всегда успешен.
"source": {
"type": "..."
},
// [Необязательно] Минимальное количество урона для отображения.
// По умолчанию не задано.
"min_value": 0,
// [Необязательно] Максимальное количество урона для отображения.
// По умолчанию не задано.
"max_value": 999999,
// [Необязательно] Число с плавающей точкой от 0 до 1 (включительно), описывающее вероятность
// выбора этого сообщения. 1 - всегда выбирается, если остальные свойства совпадают,
// 0.5 - 50%, 0 - никогда.
// По умолчанию 1.
"chance": 1,
// [Необязательно] Множитель скорости частицы каждый тик.
// Число от 0 до 1.
// По умолчанию: 0.7
"per_tick_velocity_multiplier": 0.7,
// [Необязательно] Гравитация (вниз), действующая на частицу.
// Число от -1 до 1.
// По умолчанию: 0.05
"gravity": 0.05,
// [Необязательно] Время (в тиках, 20 тиков = 1 секунда), в течение которого частица видна.
// Число больше 0.
// По умолчанию: 20
"staying_time": 20,
// [Необязательно] Масштаб/размер частицы.
// Число от 0 до 5.
// По умолчанию: 0.8
"text_scale": 0.8,
// [Необязательно] Переопределяет рассчитанную скорость статической.
// По умолчанию не задано / используется рассчитанная.
"velocity_override": [0, 2, 0],
// Текст для частицы урона. Имеет плейсхолдеры:
// ${value} - округлённый урон с одним знаком после запятой.
// ${value_rounded} - округлённый до целого.
// ${value_raw} - сырое значение урона.
"text": "<red>-${value}"
}
]
],
// Все значения отображения для текста смерти.
"death": [
// Верхний уровень массива определяет списки, в которых будут искаться текст/настройки.
// Используется только одно определение из каждого вложенного массива. Поиск идёт сверху вниз.
[
// Определение текста/отображения.
{
// [Необязательно] Сопоставляет урон по типу: одиночная запись ("minecraft:generic"),
// тег ("#minecraft:is_fire") или список записей (["minecraft:mob_attack", "minecraft:player_attack"]).
// По умолчанию (не задано) - подходит всё.
"type": "...",
// [Необязательно] Предикат для жертвы (получившей урон сущности).
// По умолчанию всегда успешен.
"victim": {
"type": "..."
},
// [Необязательно] Предикат для атакующего (сущности, которая нанесла урон).
// По умолчанию всегда успешен.
"attacker": {
"type": "..."
},
// [Необязательно] Предикат для источника (снаряд или атакующий).
// По умолчанию всегда успешен.
"source": {
"type": "..."
},
// [Необязательно] Минимальное количество лечения для отображения.
// По умолчанию не задано.
"min_value": 0,
// [Необязательно] Максимальное количество лечения для отображения.
// По умолчанию не задано.
"max_value": 999999,
// [Необязательно] Число с плавающей точкой от 0 до 1 (включительно), описывающее вероятность
// выбора этого сообщения. 1 - всегда выбирается, если остальные свойства совпадают,
// 0.5 - 50%, 0 - никогда.
// По умолчанию 1.
"chance": 1,
// [Необязательно] Множитель скорости частицы каждый тик.
// Число от 0 до 1.
// По умолчанию: 0.7
"per_tick_velocity_multiplier": 0.7,
// [Необязательно] Гравитация (вниз), действующая на частицу.
// Число от -1 до 1.
// По умолчанию: 0.05
"gravity": 0.05,
// [Необязательно] Время (в тиках, 20 тиков = 1 секунда), в течение которого частица видна.
// Число больше 0.
// По умолчанию: 20
"staying_time": 20,
// [Необязательно] Масштаб/размер частицы.
// Число от 0 до 5.
// По умолчанию: 0.8
"text_scale": 0.8,
// [Необязательно] Переопределяет рассчитанную скорость статической.
// По умолчанию не задано / используется рассчитанная.
"velocity_override": [0, 2, 0],
// Текст для частицы смерти. Имеет плейсхолдеры:
// ${message} - сообщение о смерти.
// ${victim} - имя жертвы.
// ${attacker} - имя атакующего.
"text": "<red>${message}"
}
]
],
// Все значения отображения для лечения.
"healing": [
// Верхний уровень массива определяет списки, в которых будут искаться текст/настройки.
// Используется только одно определение из каждого вложенного массива. Поиск идёт сверху вниз.
[
// Определение текста/отображения.
{
// [Необязательно] Предикат для исцелённой сущности.
// По умолчанию всегда успешен.
"entity": {
"type": "..."
},
// [Необязательно] Число с плавающей точкой от 0 до 1 (включительно), описывающее вероятность
// выбора этого сообщения. 1 - всегда выбирается, если остальные свойства совпадают,
// 0.5 - 50%, 0 - никогда.
// По умолчанию 1.
"chance": 1,
// [Необязательно] Множитель скорости частицы каждый тик.
// Число от 0 до 1.
// По умолчанию: 0.7
"per_tick_velocity_multiplier": 0.7,
// [Необязательно] Гравитация (вниз), действующая на частицу.
// Число от -1 до 1.
// По умолчанию: 0.05
"gravity": 0.05,
// [Необязательно] Время (в тиках, 20 тиков = 1 секунда), в течение которого частица видна.
// Число больше 0.
// По умолчанию: 20
"staying_time": 20,
// [Необязательно] Масштаб/размер частицы.
// Число от 0 до 5.
// По умолчанию: 0.8
"text_scale": 0.8,
// [Необязательно] Переопределяет рассчитанную скорость статической.
// По умолчанию не задано / используется рассчитанная.
"velocity_override": [0, 2, 0],
// Текст для частицы лечения. Имеет плейсхолдеры:
// ${value} - округлённое количество лечения с одним знаком после запятой.
// ${value_rounded} - округлённое до целого.
// ${value_raw} - сырое значение лечения.
"text": "<green>+${value}"
}
]
]
}
Скачайте мод Ouch! и настройте индикаторы под свой вкус - играть станет нагляднее и интереснее.
Как поиграть с друзьями с модом Ouch!?
Мод Ouch! куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Ouch! будет готов за пару минут - BungeeHost сделает всё за вас.
