1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [ADMIN] RulesBan v2.0 - наказание игроков по правилам. [1.7.2- 1.9.4]

Тема в разделе "Неподтвержденные плагины", создана пользователем CoolBoy, 25 апр 2016.

  1. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    RulesBan
    Версия плагина: 2.0
    Протестирован на версиях: [1.7.2 - 1.9.4]
    (Может работать и на более старых версиях)
    Зависимости: Essentials
    (Может работать и с другими менеджерами "банов")

    О плагине:
    Решил написать небольшую "обёртку" для Essentials в виде более удобного менеджера наказаний для игроков.
    Включает в себя набор правил, по которым можно "наказать" игрока, в случае, если он их нарушил.

    Особенности:
    • Даже не знаю, плюс это, или минус. Плагин работает без каких-либо баз данных, не сохраняет какую-либо информацию о банах/мутах. Для этой цели используется Essentials.
    • Набор правил может быть дополнен в любой момент.
    • Легко настраиваемый.
    Команды:
    • /rb - вывод "help" странички.
    • /rb <правило> [игрок] - применить наказание к игроку, который нарушил правило.
    • /rb reload - перезагрузка конфигурации.
    • /rb unmute [игрок] - размутить игрока. (Работает аналогично команде "/mute" в Essentials)
    • /rb unban [игрок] - разбанить игрока.
    • /rb unbanip [игрок / IP-адрес] - разбанить IP-адрес.

    Permissions:
    rulesban.action.kick -
    позволяет использовать правила, в которых, в качестве наказания, выступает кик нарушителя.
    rulesban.action.mute - позволяет использовать правила, в которых, в качестве наказания, выступает мут нарушителя.
    rulesban.action.ban - позволяет использовать правила, в которых, в качестве наказания, выступает бан нарушителя.
    rulesban.action.tempban - позволяет использовать правила, в которых, в качестве наказания, выступает временный бан нарушителя.
    rulesban.action.banip - позволяет использовать правила, в которых, в качестве наказания, выступает бан айпи нарушителя.
    rulesban.command.unmute - позволяет использовать команду "/rb unmute".
    rulesban.command.unban - позволяет использовать команду "/rb unban".
    rulesban.command.unbanip - позволяет использовать команду "/rb unbanip".

    Конфигурация:
    Код:
    #|-----------------------------------------------------|
    #| Плагин написан @CoolBoy 25.04.2016                  |
    #| Мой старый никнейм - Cross Faer (Cross Fatal Error) |
    #| Часть кода принадлежит Dereku (правки)              |
    #| Skype: thecoolboy2070                               |
    #| VK: http://vk.com/thecoolboy2070                    |
    #| VK[x2]: http://vk.com/cross_fatal_error             |
    #|-----------------------------------------------------|
    
    # Включение сообщения о бане по всему серверу.
    Broadcast: true
    # Правила.
    # Перечень правил. Может быть дополнено.
    # Действие. Может быть - kick/mute/ban/tempban/banip. При kick/banip строчку time указывать не нужно.
    # Время. Обычно указывается число и разряд. y - год, m - месяц, d - день, h - час, m - минута, s - секунда.
    # Причина. Можно использовать цетовые коды.
    # Сообщение, которое будет выведено остальным игрокам, после применения наказания. Плейсхолдеры: %player% - игрок, который получил наказание, %bannableby% - игрок, который выдал наказание.
    Rules:
      swear:
        action: "kick"
        reason: "&cНарушение правила 1.1."
        broadcast: "&cИгрок &a%player% &cнарушил правило &91.1 &cи получил наказание от &6%bannableby%."
      caps:
        action: "mute"
        time: 60s
        reason: "&cНарушение правила 1.2"
        broadcast: "&cИгрок &a%player% &cнарушил правило &91.2 &cи получил наказание от &6%bannableby%."
      grief:
        action: "ban"
        reason: "&cНарушение правила 1.3"
        broadcast: "&cИгрок &a%player% &cнарушил правило &91.3 &cи получил наказание от &6%bannableby%."
      relog:
        action: "tempban"
        time: 300d
        reason: "&cНарушение правила 1.4"
        broadcast: "&cИгрок &a%player% &cнарушил правило &91.4 &cи получил наказание от &6%bannableby%."
      cheats:
        action: "banip"
        reason: "&cНарушение правила 1.5"
        broadcast: "&cИгрок &a%player% &cнарушил правило &91.5 &cи получил наказание от &6%bannableby%."
    # Маски команд для выполнения команд unmute, unban, unbanip.
    # Права создаются из части названия маски. Тоесть: разрешение для маски unban - rulesban.command.unban, для unmute - rulesban.command.unmute. Дальше - по аналогии.
    CommandsMask:
        unban: "unban %player%"
        unbanip: "unbanip %player%"
        unmute: "mute %player%"
    # Сообщения. Можно использовать цветовые коды.
    Messages:
      No-permissions: "&cУ вас недостаточно прав."
      Plugin-reloaded: "&aКонфигурация плагина успешно перезагружена."
      Target-offline: "&cИгрок, к которому вы хотели применить правило - оффлайн."
      Unknown-argument: "&cНеизвестный аргумент. Используйте /rb help."
    

    Скачать: [Ссылка]

    To-Do:
    • Добавить функцию jail.

    Лог изменений:
    Версия 2.0:
    • Переписан весь код. Воспользовался советами Ninja и Dereku.
    • Добавлено boolean значение - Broadcast. Если "true" - после применения наказания, весь сервер оповестит об этом.
    • Добавлены маски для команд "unban", "unbanip", "unmute".
    Версия 1.1:
    • Поправил код, изабвился от "статики" там, где это было необходимо.
    Версия 1.0:
    • Релиз.
     
    Последнее редактирование: 16 май 2016
  2. IVLAD

    IVLAD Новичок Пользователь

    Баллы:
    11
    пермы ещё напиши, и по мойму ты забыл /rb mute
     
  3. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Все наказания происходят строго по правилам. Отдельных команд, вроде - "/rb mute" / "/rb ban" и т.д - нет.
     
  4. NINJA

    NINJA Старожил Пользователь

    Баллы:
    123
    Точно такой не так давно себе написал, но со своими плюшками.
     
  5. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Там писать то нечего =)
    Просто так немного удобнее, как по мне, выдавать наказания игрокам. К тому же, им (плагином) также можно неплохо ограничить хелперов.
     
  6. NINJA

    NINJA Старожил Пользователь

    Баллы:
    123
    У меня все это скорее дополнение к плюшкам. Так как их самих больше. Глянул код , порадовался. Мой лучше.:lol:
     
  7. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Поделитесь? :)
     
  8. NINJA

    NINJA Старожил Пользователь

    Баллы:
    123
    C хорошими людьми поделюсь. В паблик же не выкладываю. Никто не оценит труды. :coffee:
     
  9. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    [HotFix]

    Ловил NullPointerException если указанный аргумент не совпадал ни с одним из правил в списке. У кого не работает - перекачайте.

    Перезалито.
     
  10. Sonicxd2

    Sonicxd2 Активный участник Пользователь

    Баллы:
    76
    ♥ лучше чем у меня:DD
     
  11. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    В commands один говнокод. Да и статических методов много. Уж никак не пойму чем они плохи. В любом случае стоит commands переписать.

    Я вот думаю, оставить его так, как есть - "допилом" к Essentials, или сделать из него полноценный менеджер наказаний?

    P.S я бы твой плагин и менеджером то не назвал. Он многофункциональный)
    Его не обязательно можно использовать для банов / мутов.
    Кому не сложно, проверьте плагин на более древних версиях.
     
    Последнее редактирование: 25 апр 2016
  12. Create_Everything

    Create_Everything Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    CreateEvery
    На 1.9.2 пойдет?
     
  13. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Проверь, отпишись =D
    В теории - должен. На практике - не довелось проверить.
    Там в основе своей я везде цепляюсь за Essentials. Так что проблем возникнуть не должно.
     
    Последнее редактирование: 25 апр 2016
  14. sanjee

    sanjee Активный участник Пользователь

    Баллы:
    78
    на своем же сервере нарушил правила получил бан ._______.
     
  15. Create_Everything

    Create_Everything Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    CreateEvery
    Работает :), добавь так же защиту от бана))
     
  16. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    В Essentials же есть?
    Хочу побороть свою природу, и избавится от всей статики в классах. Исключая интерфейс с конфигурацией само-собой.
    Ещё заметил, что если попробовать забанить оп'а, то Essentials напишет, что этого сделать нельзя, однако сообщение о бане будет выведено.
    [Обновлён]

    Немного поправил код, избавился от статики (там где это было необходимо).
    Спасибо за разьяснения Dereku и NINJA, за исходный код его плагина.
    (Так и не воспользовался им :) )

    Перезалито.
     
  17. Niksmile

    Niksmile Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Smiley
    Добавь еще тюрьму
     
  18. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Типо - jail? Добавил в To-Do.
    Будет время - обновлю :)
     
  19. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    А и не нужно. Ведь это только пример.

    Посмотрел код, поржал: Парсинг действия в командах, сообщения не перезагружаются.
    Пилю более красивую версию на костях твоего плагина.
    Что то я совсем увлёкся, и в итоге от твоего плагина остались лишь название пакета и команда.
    http://puu.sh/oCGeS/f0b9c41d6e.zip
     
    Последнее редактирование: 2 май 2016
  20. Автор темы
    CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    В каком смысле? Каким образом сообщения должны перезагружаться?
    На счёт github - он у меня уже есть, нужно только код залить. На счёт переписанного плагина - плохо поступили. Плагин то был мой, а теперь фактически - ваш. Да, код не идеален, да и не стремлюсь пока к идеалу - далеко ещё. Тем неменее - он работал и достаточно хорошо.

    Хотели бы нормально помочь - закинули бы исходники вашего творения мне в ЛС. Я бы уже решил что с ними делать.
     
    Последнее редактирование: 2 май 2016

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