Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [MISC] AbstractCooldown v1.1 - Многофункциональные кулдауны (задержки) на команды [1.8.8-1.12.2+]

AbstractCoder

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
AbstractCoder
upload_2018-7-5_8-50-54.png
Версия плагина 1.1
Для серверов 1.8.8-1.12.2
​
Описание:
Данный плагин позволяет создавать кулдауны (задержки) для команд. У плагина имеется обширный функционал, а вместе с удобной настройкой конфигурации он станет незаменимой вещью на Вашем сервере.

Особенности:

  • Автоматическая проверка алиасов команды.
  • Можно указывать специальные аргументы для кулдауна (к примеру для /fix hand - один кулдаун (или вообще нет кулдауна), а для /fix all - другой, подробнее в конфиге)
  • Низкая нагрузка на сервер.
  • Можно указать команды с общим кулдауном.
  • Можно указать минимальное количество аргументов для действия кулдауна.
  • Можно включить сохранение кулдауна после перезагрузки сервера для нужных Вам команд.
  • Можно указать необходимый permission для действия кулдауна.
  • Для каждой донат-группы можно указать свое время кулдауна.
  • Можно ставить кастомные сообщения для каждой команды.
  • Можно включить уведомление об истечении кулдауна для нужных Вам команд.
  • Оставшееся время ожидания форматируется в дни, часы, минуты, секунды
Зависимости:
  • Java 8 или выше
  • Spigot 1.8.8 или выше (Можно и на более ранних версиях если вручную закинуть библиотеку guava в ядро)
  • Vault (если нужны разные кулдауны для разных донат-групп)

Команды:
  • /abstractcooldown или /acd - главная команда плагина (выводит помощь по командам)
  • /acd reload - перезагрузить конфиг и сообщения
  • /acd clearplayer <игрок> - очистить кулдауны для указанного игрока
  • /acd clearall - очистить все кулдауны
Права:
  • abstractcooldown.reload - Право на команду /acd reload
  • abstractcooldown.clearplayer - Право на команду /acd clearplayer
  • abstractcooldown.clearall - Право на команду /acd clearall
  • abstractcooldown.bypassall - На игроков с этим правом не действуют кулдауны
Конфиг и сообщения:
upload_2018-7-6_23-25-39.png
upload_2018-7-6_23-25-45.png
upload_2018-7-6_23-25-50.png
upload_2018-7-4_23-21-27.png

ChangeLog:

  • Релиз плагина.
  • Добавлена возможность сохранения кулдаунов после перезагрузки сервера для нужных Вам команд.
  • Добавлена возможность уведомления о завершении кулдауна для нужных Вам команд.

Скачать последнюю версию:
Yandex Disk
Google Drive

Исходники на GitHub
 
Последнее редактирование:
Вроде уже и есть дофига похожего, но годно.
 
Вроде уже и есть дофига похожего, но годно.
Да, плагинов таких много, но в основном везде говнокод. Ну и еще я сделал некоторые фичи, которых в других плагинах вроде бы нет (автопроверка алиасов, специальные аргументы и т. д.)
В шапке опечатался, автопроверка алиасов, а не аргументов, в комментариях конфига про это подробно написано.
К примеру игрок использовал /ban, а потом захотел обойти кулдаун алиасом /eban, в других плагинов для решения этой проблемы в ручную нужно указывать все алиасы, этот же плагин имеет функцию автоматической проверки и вводить их вручную не обязательно.
 
Не используются шедуляры -> низкая нагрузка на сервер.
Один шедулер на 20 тиков, обрабатывающий мапу с задержками, не нагрузит сервер, но позволит сделать оповещение игрока при окончании задержки.
 
Один шедулер на 20 тиков, обрабатывающий мапу с задержками, не нагрузит сервер, но позволит сделать оповещение игрока при окончании задержки.
Ну это уже система оповещения, а не хранения кулдаунов. Я имел в виду, что на каждый новый кулдаун не запускается шедуляр, а систему оповещений в принципе можно сделать и давать возможность в конфиге указать для каких команд он нужен, а по дефолту сделать отключенным.
 
Ну это уже система оповещения, а не хранения кулдаунов. Я имел в виду, что на каждый новый кулдаун не запускается шедуляр, а систему оповещений в принципе можно сделать и давать возможность в конфиге указать для каких команд он нужен, а по дефолту сделать отключенным.
Так и не требуется запускать для каждой команды шедулер. Достаточно добавлять в мапу, потом она в общем шедулере перебирается.
 
Так и не требуется запускать для каждой команды шедулер. Достаточно добавлять в мапу, потом она в общем шедулере перебирается.
Ты не так понял, для оповещения кнч не нужно запускать отдельно шедуляр для каждого, я говорил про тех, кто создает кулдаун и убирает потом шедуляром и так для каждого кулдауна. А про отдельно для каждого имелось в виду boolean настройка в конфиге (оповещать или нет о завершении при прогоне Table с кулдаунами).
А за идею с оповещениями спасибо, вместе со следующей обновой сделаю.
 
Последнее редактирование:
Обновление 1.1
  • Добавлена возможность сохранения кулдаунов после перезагрузки сервера для нужных Вам команд.
  • Добавлена возможность уведомления о завершении кулдауна для нужных Вам команд.
Обновите language.yml удалив его перед перезагрузкой плагина или просто возьмите последнюю строчку с GitHub.
 
Жаль что не на 1.7.10
А так добавить бы ещё задержки на сообщения в чат в зависимости от количества игроков
 
Жаль что не на 1.7.10
А так добавить бы ещё задержки на сообщения в чат в зависимости от количества игроков
Плагин давно не поддерживается мной уже, исходники лежат, кто хочет может допилить для себя.
 
Чууувак, просто годнота. Спасибо за кастомни сообщения!!!
 
Команда /soulbound bound
В Pex указал для группы user
В конфиге не мог ошибиться
# =========================================
# Abstract Cooldown
#
# Связаться с автором - AbstractCoder.ru
# =========================================

# Использовать ли Vault? У вас должен быть установлен плагин Vault.
# Это необходимо для настройки разного кулдауна для разных донат-групп.
# Если Вам это не нужно, то можете отключить
useVault: true

# Настройка приоритетов донат-групп по убыванию (сначала более важные группы).
# Это позволит Вам не дублировать одинаковое время для последующих групп,
# так как плагин будет учитывать прироритет.
# Например, для команды ban не указана задержка для группы admin,
# так что у группы admin задержка будет такая же, как и для ultra.
#
# Если вы не используйте Vault, то можете смело удалить эту секцию
groupPriorities:
- vip
- user

# Команды для которых действует кулдаун
commands:

# Команда или любой из его алиасов.
ban:
# Если установлено true, то плагин автоматически проверяет
# алиасы (заменители) этой команды для наложения кулдауна.
# Можно убрать и будет работать.
checkAliases: true
# Здесь можно указать список команд, кулдаун для которых будет общим с этой командой.
# В данном примере, кулдаун для /ban и /tempban будет общим.
# Это также можно использовать для выслеживания алиасов команды, которых нет в plugin.yml
# Можно убрать и будет работать.
similarCommands: [tempban]
# Право, которое должно быть у игрока, чтобы кулдаун сработал.
# Тем самым, если игрок и так не может использовать команду, то кулдаун не будет наложен.
# Можно убрать и будет работать.
permission: 'essentials.ban'
# Минимальное количество аргументов, для того чтобы кулдаун сработал.
# Можно убрать и будет работать.
minArgsLength: 2
# Кастомное сообщение для команды, если игрок использует ее во время кулдауна.
# Можно использовать плейсхолдер {time} для указания оставшегося времени.
# Можно убрать и будет отправляться дефолтное сообщение из language.yml
customMessage: '&cНельзя банить так часто! Подожди еще &a{time}'
# Стандартное время кулдауна. Можно использовать d (дни), h (часы), m (минуты), s (секунды).
# В данном примере время - два с половиной часа.
defaultTime: 2h 30m
# Время кулдауна для определенных групп. Для работы нужен плагин Vault и useVault: true
# Время указывать в таком же формате. Дублировать одно и то же время для последующих групп не надо,
# если вы установили приоритеты в начале конфига, то плагин автоматически будет их учитывать.
groupsTime:
elite: 2h
ultra: 1h
# Если установлено true, то плагин будет уведомлять игрока об истечении кулдауна на эту команду.
notifyOnExpire: true
# Если установлено true, то кулдаун этой команды будет сохраняться даже после перезагрузки сервера.
# Можно использовать для команд с длительной задержкой (сравнимой со средним аптаймом сервера).
saveOnStop: true

bound:
checkAliases: true
permission: 'soulbound.bound'
defaultTime: 4d
notifyOnExpire: true
saveOnStop: true
customMessage: '&cЭта возможность будет доступна через: &a{time}'

fix:
checkAliases: true
permission: 'essentials.repair'
defaultTime: 1m
notifyOnExpire: true

# Плагин также позволяет указывать нужные аргументы для команд.
# Кулдауны для /fix и /fix all разные (1 минута и 5 минут).
# Это позволяет гибко настраивать кулдаун для некоторых команд.
# Обязательно заключайте подобные команды в одинарные кавычки, пример 'fix all'
'fix all':
checkAliases: true
permission: 'essentials.repair.all'
defaultTime: 5m
 
Команда /soulbound bound
В Pex указал для группы user
В конфиге не мог ошибиться
# =========================================
# Abstract Cooldown
#
# Связаться с автором - AbstractCoder.ru
# =========================================

# Использовать ли Vault? У вас должен быть установлен плагин Vault.
# Это необходимо для настройки разного кулдауна для разных донат-групп.
# Если Вам это не нужно, то можете отключить
useVault: true

# Настройка приоритетов донат-групп по убыванию (сначала более важные группы).
# Это позволит Вам не дублировать одинаковое время для последующих групп,
# так как плагин будет учитывать прироритет.
# Например, для команды ban не указана задержка для группы admin,
# так что у группы admin задержка будет такая же, как и для ultra.
#
# Если вы не используйте Vault, то можете смело удалить эту секцию
groupPriorities:
- vip
- user

# Команды для которых действует кулдаун
commands:

# Команда или любой из его алиасов.
ban:
# Если установлено true, то плагин автоматически проверяет
# алиасы (заменители) этой команды для наложения кулдауна.
# Можно убрать и будет работать.
checkAliases: true
# Здесь можно указать список команд, кулдаун для которых будет общим с этой командой.
# В данном примере, кулдаун для /ban и /tempban будет общим.
# Это также можно использовать для выслеживания алиасов команды, которых нет в plugin.yml
# Можно убрать и будет работать.
similarCommands: [tempban]
# Право, которое должно быть у игрока, чтобы кулдаун сработал.
# Тем самым, если игрок и так не может использовать команду, то кулдаун не будет наложен.
# Можно убрать и будет работать.
permission: 'essentials.ban'
# Минимальное количество аргументов, для того чтобы кулдаун сработал.
# Можно убрать и будет работать.
minArgsLength: 2
# Кастомное сообщение для команды, если игрок использует ее во время кулдауна.
# Можно использовать плейсхолдер {time} для указания оставшегося времени.
# Можно убрать и будет отправляться дефолтное сообщение из language.yml
customMessage: '&cНельзя банить так часто! Подожди еще &a{time}'
# Стандартное время кулдауна. Можно использовать d (дни), h (часы), m (минуты), s (секунды).
# В данном примере время - два с половиной часа.
defaultTime: 2h 30m
# Время кулдауна для определенных групп. Для работы нужен плагин Vault и useVault: true
# Время указывать в таком же формате. Дублировать одно и то же время для последующих групп не надо,
# если вы установили приоритеты в начале конфига, то плагин автоматически будет их учитывать.
groupsTime:
elite: 2h
ultra: 1h
# Если установлено true, то плагин будет уведомлять игрока об истечении кулдауна на эту команду.
notifyOnExpire: true
# Если установлено true, то кулдаун этой команды будет сохраняться даже после перезагрузки сервера.
# Можно использовать для команд с длительной задержкой (сравнимой со средним аптаймом сервера).
saveOnStop: true

bound:
checkAliases: true
permission: 'soulbound.bound'
defaultTime: 4d
notifyOnExpire: true
saveOnStop: true
customMessage: '&cЭта возможность будет доступна через: &a{time}'

fix:
checkAliases: true
permission: 'essentials.repair'
defaultTime: 1m
notifyOnExpire: true

# Плагин также позволяет указывать нужные аргументы для команд.
# Кулдауны для /fix и /fix all разные (1 минута и 5 минут).
# Это позволяет гибко настраивать кулдаун для некоторых команд.
# Обязательно заключайте подобные команды в одинарные кавычки, пример 'fix all'
'fix all':
checkAliases: true
permission: 'essentials.repair.all'
defaultTime: 5m

Нужно команду а не аргумент.
Вот так
'soulbound bound':
checkAliases: true
permission: 'soulbound.bound'
defaultTime: 4d
notifyOnExpire: true
saveOnStop: true
customMessage: '&cЭта возможность будет доступна через: &a{time}'
 
Один из лучших плагинов на кулдауны команд.
P.S. Знаю, что автор не поддерживает тему.
 
Один из лучших плагинов на кулдауны команд.
P.S. Знаю, что автор не поддерживает тему.
До 1.12.2 включительно я также считал его лучшим. Но создав сервер на 1.14.4 (у меня не запустился этот плагин) - я нашел аналоги куда лучше этого плагина. Как говорится, все лучшее у тех, кто не боится выйти из зоны комфорта.
 
До 1.12.2 включительно я также считал его лучшим. Но создав сервер на 1.14.4 (у меня не запустился этот плагин) - я нашел аналоги куда лучше этого плагина. Как говорится, все лучшее у тех, кто не боится выйти из зоны комфорта.
А можно эти аналоги? Просто искал, но не нашёл. (Если вдруг на 1.14+ перейду)
 

Поделиться этой страницей

Назад
Верх