LifeSteal — Minecraft Моды — MetaMods

LifeSteal

Архивирован

Установок

0

Последнее обновление

3 года назад

Версии

1.17.1 — 1.18.1
Сервер
Fabric
Утилиты

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 Устанавливает потерянное здоровье игрока на указанное значение Целое число
Участники проекта
bradbot1

bradbot1

Разработчик

Создан: 28 авг 2021

ID: 12411