
LifeSteal
Архивирован0.0
Установок
Последнее обновление
Версии
LifeSteal
LifeSteal
Серверный мод для Fabric, реализующий механику кражи жизней, вдохновлённую популярными LifeSteal SMP-серверами.
Важная информация об обновлении до версии 2.0.0
Версия 2.0.0 содержит множество изменений по сравнению с v1.2.0, что привело к значительным изменениям в конфигурационном файле (в основном были добавлены новые возможности).
Если вы хотите отключить автоматический бан игроков при достижении нулевого уровня здоровья, обратите внимание на раздел punishment
в конфигурации, так как эта настройка была перемещена.
Необходимые зависимости
Для работы этого мода требуется BFAPI (Brad's Fabric API).
Команды
Мод добавляет специальную команду для управления и просмотра потерянного здоровья игроков. Основная структура команды выглядит следующим образом:
/псевдоним
[get [uuid/имя]]/[set [uuid/имя] значение]
Это позволяет администраторам регулировать здоровье игроков без необходимости перезапуска сервера.
Настройки конфигурации
Файл конфигурации находится по пути lifesteal.json
в директории config.
{
"comment-maxHealth": "Максимальное общее здоровье, которое можно получить. Если значение меньше 0, ограничение игнорируется",
"maxHealth": -1.0,
"comment-minHealth": "Минимальное общее здоровье игрока. При достижении этого значения игрок не может быть использован для получения сердец",
"minHealth": 0.0,
"comment-healthToLooseOnDeath": "Количество здоровья, которое теряется при смерти игрока",
"healthToLooseOnDeath": 2.0,
"comment-looseHealthOnlyOnPlayerRelatedDeath": "Определяет, теряет ли игрок здоровье только от смертей, вызванных другими игроками. Если true, то только от игроков",
"looseHealthOnlyOnPlayerRelatedDeath": false,
"punishment": {
"banWhenHealthReachesZero": true,
"banReason": {
"text": "Вы были забанены из-за достижения нулевого уровня здоровья!"
}
},
"comment-notEnoughHeartsMessage": "Сообщение, которое отображается при убийстве игрока, у которого недостаточно сердец для кражи",
"notEnoughHeartsMessage": {
"text": "У игрока не было сердец, которые можно украсть"
},
"command": {
"comment-enableCommands": "Следует ли регистрировать команды",
"enableCommands": true,
"comment-aliases": "Псевдонимы, под которыми будет зарегистрирована команда",
"aliases": [
"lifesteal",
"ls"
],
"comment-permission": "Разрешение, необходимое для изменения здоровья игрока. Если у вас нет базы данных разрешений, уровень можно установить на требуемый уровень оператора",
"permission": {
"node": "lifesteal.modify",
"level": "op_3"
},
"comment-successMessage": "Текст, отправляемый игроку при успешном изменении здоровья другого игрока",
"successMessage": {
"color": "green",
"text": "Готово!"
},
"comment-successMessageFile": "Текст, отправляемый игроку при установке здоровья другого игрока, когда тот не в сети (данные сохраняются для применения при входе)",
"successMessageFile": {
"color": "green",
"text": "Готово! (сохранено в файл)"
},
"comment-broadcastToOps": "Следует ли уведомлять всех операторов об изменении здоровья игрока",
"broadcastToOps": true
},
"recipe": {
"comment-allowCraftingOfHealth": "Следует ли регистрировать стандартный рецепт, если пользовательский рецепт не найден под lifesteal:health",
"allowCraftingOfHealth": true,
"comment-registerRequirements": "Не отключайте это, если нет конфликтующих ошибок. Рецепты других модов могут зависеть от этого",
"registerRequirements": true,
"comment-registerResults": "Не отключайте это, если нет конфликтующих ошибок. Рецепты других модов могут зависеть от этого",
"registerResults": true
},
"marks": {
"comment-enableMarks": "Следует ли отслеживать метки. Это необходимо для предметов здоровья",
"enableMarks": true,
"comment-marks": "Список меток, которые будут отслеживаться. При удалении/изменении любой из них убедитесь, что обновили метку в рецептах крафта",
"marks": [
"lifesteal",
"health"
],
"comment-limiter": "Максимальное количество раз, которое игрок может потребить здоровье до блокировки. Если значение <1, ограничение игнорируется",
"limiter": -1,
"output": {
"comment-markOutputSuccess": "Отправляется сущности при успешном потреблении помеченного предмета",
"markOutputSuccess": {
"text": "Вы потребили немного здоровья"
},
"comment-markOutputFailed": "Отправляется сущности при неудачной попытке потребления помеченного предмета из-за превышения лимита",
"markOutputFailed": {
"color": "red",
"text": "Вы уже потребили достаточно здоровья"
},
"comment-broadcastToOpsMarks": "Следует ли уведомлять операторов о потреблении игроком помеченного предмета",
"broadcastToOps": true
}
}
}
API интеграция
Мод предоставляет простой интерфейс LifeStealable
для использования в качестве API.
LifeStealable
позволяет другим модам получать и изменять потерянное здоровье игроков, а также реализовывать эту функциональность для пользовательских сущностей, чтобы их можно было использовать для получения здоровья при смерти.
Любая реализация LifeStealable
должна всегда вызывать setLostHealth
при каждом изменении здоровья.
Дополнения к BFAPI
Метки
LifeSteal добавляет настраиваемый набор меток (по умолчанию lifesteal
и health
), которые можно применять к предметам.
Когда помеченный предмет используется, игроку отправляется соответствующее сообщение:
Если игрок превысил лимит потребления здоровья, отправляется markOutputFailed
, в противном случае - markOutputSuccess
.
Рецепты
LifeSteal добавляет несколько новых требований и результатов для пользовательских рецептов.
Требования
Добавлены 3 новых требования для рецептов:
ID требования | Описание | Ожидаемый тип |
---|---|---|
losthealth> | Проверяет, что крафтер потерял как минимум указанное количество здоровья | Целое число |
losthealth< | Проверяет, что крафтер потерял меньше указанного количества здоровья | Целое число |
losthealth= | Проверяет, что крафтер потерял ровно указанное количество здоровья | Целое число |
Эти требования можно использовать для блокировки рецептов на определённых уровнях здоровья. Например, losthealth<
со значением -2
позволит крафтить только тем, кто получил дополнительное сердце.
Результаты
Добавлены 3 новых результата для рецептов:
ID результата | Описание | Ожидаемый тип |
---|---|---|
gainhealth | Даёт игроку указанное количество здоровья | Целое число |
loosehealth | Отнимает у игрока указанное количество здоровья | Целое число |
sethealth | Устанавливает потерянное здоровье игрока на указанное значение | Целое число |