Плагин [1.21.4] AkyAntiTeamer - Защита от тиминга и толпы в PvP [1.0]

[1.21.4] AkyAntiTeamer - Защита от тиминга и толпы в PvP
Краткое описание:
Защита от тиминга и толпы в PvP с наказанием для тиммеров
3
101
Для версий
  1. 1.21.✘
Исходный код
https://github.com/AkyRayy/AkyAntiTeamer
Написал плагин для Paper 1.21.4, который решает проблему несправедливых битв на PvP-аренах и выживании, когда одного игрока зажимают вдвоем или втроем (2v1, 3v1 и больше).

Что делает плагин:

  • [] Снижает урон по жертве. Если игрока бьют сразу несколько человек, входящий урон уменьшается в зависимости от количества нападающих.
    [
    ] Штрафует толпу. Урон вторичных атакующих режется, плюс их отталкивает назад (Knockback), чтобы жертва могла выбраться из окружения.
    [] Дает временные баффы. В момент начала 3х1 (например) плагин может выдать жертве скорость или поглощение на пару секунд.
    [
    ] Запрет вмешательства (Строгий 1v1). Опциональный режим в конфиге. Если два игрока дерутся, третий просто не сможет нанести урон ни одному из них.

Вся защита разбита на независимые модули — любую из этих функций можно настроить или полностью отключить в конфиге.

Особенности реализации:

  • [] Поддержка только актуальной версии: Paper 1.21.4 (Java 21).
    [
    ] Сообщения над хотбаром (Action Bar) и звуки работают через Adventure API (MiniMessage).
  • Внутренние таймеры и очистка устаревших данных о боях идут асинхронно. Лагов на основном потоке сервера нет, утечек памяти тоже.



Команды и права

Основная команда: /antiteamer (алиас: /at)


  • [] /at status [игрок] — посмотреть, сколько человек сейчас атакуют цель. (Право: akyantiteamer.command.use)
    [
    ] /at reload — перезагрузить конфигурацию без рестарта сервера. (Право: akyantiteamer.command.reload)
    [] /at stats — внутренняя статистика активных боев в памяти. (Право: akyantiteamer.command.use)
    [
    ] /at toggle — включить/выключить личные уведомления на экране. (Право: akyantiteamer.command.use)

Административные права:
akyantiteamer.admin — полный доступ к плагину.
akyantiteamer.bypass — иммунитет от ограничений анти-тиминга.



Конфигурация (config.yml)

YAML:
# ==============================================================================
#                      Конфигурация AkyAntiTeamer
# Защита игроков от толпы (2v1, 3v1 и т.д.) в Minecraft PvP (1.21.4)
# ==============================================================================

settings:
  # Главный переключатель работы плагина (true - включен, false - выключен)
  enabled: true
  # Список миров, в которых защита от тиминга отключена
  disabled-worlds:
    - "world_lobby"
    - "spawn"

combat:
  # Время в секундах, в течение которого сохраняется метка боя между игроками после удара
  tag-duration-seconds: 12
  # Игнорировать ли удары по NPC (например, Citizens, фейковые игроки) и от них
  ignore-npcs: true
  # Учитывать ли дальние атаки (стрелы, трезубцы) при подсчете количества атакующих
  include-projectiles: true

protection-modes:
  # Режим 1: Строгий режим дуэли 1v1
  # Если включен, третьим игрокам полностью запрещено атаковать участников текущей дуэли.
  strict-duel-enforcement:
    enabled: false
    block-message: "<red><b>[AntiTeamer]</b> <gray>Вы не можете атаковать <yellow>%victim%</yellow>! Игрок уже сражается в дуэли 1v1."

  # Режим 2: Снижение входящего урона жертве
  # Уменьшает получаемый урон игроку, которого атакуют 2 и более противников одновременно.
  damage-mitigation:
    enabled: true
    # Процент снижения урона за каждого дополнительного атакующего (сверх 1)
    # Пример: при 2v1 (1 лишний враг) -> 25% защиты. При 3v1 (2 лишних) -> 50% защиты.
    mitigation-per-extra-attacker-percent: 25.0
    # Максимальный предел (кап) снижения урона в процентах
    max-mitigation-percent: 65.0

  # Режим 3: Штраф и отталкивание для толпы атакующих
  # Снижает исходящий урон игроков, атакующих в большинстве, и отталкивает их от жертвы.
  attacker-penalty:
    enabled: true
    # Снижение урона атакующего в процентах
    damage-penalty-percent: 40.0
    # Применять ли отталкивание (Knockback) к атакующим в толпе
    apply-knockback: true
    knockback-strength: 0.55

  # Режим 4: Защитные эффекты (баффы) для жертвы
  # Выдает временные эффекты зелий игроку при первом попадании в ситуацию ганга.
  defensive-buffs:
    enabled: true
    # Перезарядка в секундах перед повторной выдачей баффов тому же игроку
    cooldown-seconds: 30
    # Длительность выдаваемых эффектов в секундах
    duration-seconds: 6
    # Список эффектов зелий (имя эффекта: уровень, где 0 = Уровень I, 1 = Уровень II)
    effects:
      SPEED: 0
      ABSORPTION: 0
      DAMAGE_RESISTANCE: 0

notifications:
  action-bar:
    enabled: true
    victim-message: "<green><b>[AntiTeamer]</b> <gray>Вас жмёт толпа <red>%attackers%:1</red>! Входящий урон снижен на <gold>%mitigation%%</gold>."
    attacker-message: "<red><b>[AntiTeamer]</b> <gray>Атака толпой (<red>%attackers%:1</red>)! Штраф к вашему урону: <gold>%penalty%%</gold>."
  sounds:
    enabled: true
    penalty-sound: "ENTITY_VILLAGER_NO"
    buff-sound: "BLOCK_BEACON_ACTIVATE"

Автор

JavaDefender

Еще ресурсы от JavaDefender

RaySocialReward - Плагин на выдачу наград через мессенджеры
RaySocialReward - Плагин на выдачу наград через мессенджеры
Плагин на выдачу наград через мессенджеры (vk,tg,ds)
[1.21.4] AkyMiniEvents — мини-ивенты, BossBar, награды, HEX/RGB
[1.21.4] AkyMiniEvents — мини-ивенты, BossBar, награды, HEX/RGB
мини-ивенты, BossBar, награды, HEX/RGB
AkyCheatCheck - интерактивная проверка на читы с веб-панелью!
AkyCheatCheck - интерактивная проверка на читы с веб-панелью!
интерактивная проверка на читы с веб-панелью, трофеями по окончанию проверок и т.п
ВерхНиз