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

Плагин [MECH] EasterEggs v2.0 | Пасхалки на ваш сервер | [1.10.2 - 1.12.2]

bristol

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
bristol
EasterEggs​
Версия плагина: 2.0
Версия сервера: 1.10.2 - 1.12.2

Описание:

Данный добавит на ваш сервер что то вроде пасхалок. Плагин находиться в разработке, все найденные вами баги будут фикситься.

Особенности:
  • Все сообщения можно изменить и настроить под себя.
  • Редактирование локации пасхалки.
  • В качестве пасхалки можно использовать любой блок.
  • Пасхалку можно найти только один раз.
  • Авто-завершение аргументов команды.
  • Возможность отключать авто-завершение.
Команды:
  • /eastereggs - Основная команда плагина. Так же, у неё имеются алиасы: /easter, /easters
  • /eastereggs set/add/create [Название] - Данная команда создаст пасхалку. Блок на который вы смотрите будет пасхалкой.
  • /eastereggs remove/delete/del [Название] - Данная команда удалит пасхалку.
  • /eastereggs set-location/set-loc [Название] - Данная команда установит локацию уже готовой пасхалке. Блок на который вы смотрите станет новой локацией пасхалки.
  • /eastereggs info/information [Название] - Данная команда выдаст информацию о пасхалке.
  • /eastereggs list - Данная команда выдаст информацию о всех пасхалках.
  • /eastereggs reload - Перезагрузка плагина.

Permissions:
  • eastereggs.use - Дает право на просмотр всех команд.
  • eastereggs.set - Дает право на создание пасхалок.
  • eastereggs.remove - Дает право на удаление пасхалки.
  • eastereggs.list - Дает право на просмотр информации о всех пасхалках.
  • eastereggs.info - Дает право на просмотр информации о определенной пасхалке.
  • eastereggs.set-location - Дает право на изменение локации пасхалки.
  • eastereggs.reload - Дает право на перезагрузку плагина.

Файл сообщений:
Код:
prefix: '&6[EasterEggs] '
 
messages:
  help:
  - '&e[EasterEggs] &6&l| &7Пасхалки:'
  - '&e/easter set [Название] &7- Установить пасхалку.'
  - '&e/easter remove [Название] &7- Удалить пасхалку.'
  - '&e/easter set-location [Название] &7- Установить локацию пасхалки.'
  - '&e/easter info [Название] &7- Получить информацию о пасхалке.'
  - '&e/easter reload &7- Перезагрузка плагина.'
  - '&e/easter list &7- Лист пасхалок.'
 
  General:
    only-player: '&cВы должны быть игроком!'
    no-perm: '&cУ вас нету прав!'
    command-not-found: '&cТакой команды не существует!'
    format-info: '&f%name &8&l| &fX: %x &8&l| &fY: %z &8&l| &fZ: %z &8&l| &fМир: %world'
 
  Create:
    usage: '&aИспользуйте: &c/easter set [Название]'
    already-exists: '&cТакая пасхалка уже существует!'
    sucess-create: '&aВы успешно создали пасхалку!'
 
  Remove:
    usage: '&aИспользуйте: &c/easter remove [Название]'
    not-exists: '&cТакой пасхалки не существует!'
    sucess-remove: '&aВы успешно удалили пасхалку!'
 
  SetLocation:
    usage: '&aИспользуйте: &c/easter set-location [Название]'
    not-exists: '&cТакой пасхалки не существует!'
    sucess-setlocation: '&aВы успешно изменили локацию пасхалки!'
 
  Info:
    usage: 'Используйте: &c/easter info [Название]'
    not-exists: '&cТакой пасхалки не существует!'
 
  List:
    usage: 'Используйте: &c/easter list'
    not-eastereggs: '&cПасхалок не существует!'
    header: '&fВсе пасхалки:'
 
  Found:
    title: '&aВы нашли пасхалку %name!'
    subtitle: '&fНайдено: %found_size/%max_found'
 
  Reload:
    usage: '&aИспользуйте: &c/easter reload'
    sucess-reload: '&aКонфигурация успешно перезагружена!'

Лог изменений:
1.0 - Релиз плагина.
2.0 - Добавлено авто-завершение аргументов. Добавлена команда /easter reload. Немного изменены права. Добавлен конфиг файл с маленькой настройкой авто-завершения.

TODO:
Добавить команду /eastereggs player-info для получения информации о найденных игроком пасхалках.
Добавить награду за нахождение пасхалки в виде команды.
Перепис плагина.
Ваши идеи.

Скачать:
https://github.com/bristik/EasterEggs/releases
GitHub:
https://github.com/bristik/EasterEggs

Жду критики кода. Не поливания говном, а нормальной критики, с объяснением ошибок.

P.S - Удалил ссылку на плагин, так как там лютое говно, потом может быть перепишу.
 
Последнее редактирование:
Ничего оригинальнее нельзя придумать? А то вроде как такой плагин есть.
 
Залил на GitHub.
 
Последнее редактирование:
Обновление: Версия плагина 2.0
Добавлено:
  • Команда для перезагрузки плагина: /easter reload
  • Право на использование команды /easter reload: eastereggs.reload
  • Авто-завершение аргументов команд.
  • Добавлен конфиг файл с небольшой настройкой авто завершения.
 
Что это, убери статическое говно.
upload_2018-4-14_14-10-14.png
Обработчик команд тоже хреново сделан
upload_2018-4-14_14-11-28.png
Во первых, вместо сравнения каждого алиаса сравнивай по switch-case args[0].toLowerCase(). Во вторых зачем тебе else если в конце везде return? Ну и в третьих лучше вообще не костылить это и сделать нормальный обработчик команд с использованием ООП, тогда не придется столько кода переписывать.

Про DataManager, MessageManager и подобные ему. Во первых публичный доступ к полям это бред, инкапсуляции нет. Во вторых, ты в них постоянно переписываешь код для загрузки файла, сохранения и так далее. Опять же, используй ООП, чтобы не переписывать код.

Рекомендую переписывать с нуля, ибо столько говнокода убирать дольше будешь.
 
Что это, убери статическое говно.
Посмотреть вложение 50591
Обработчик команд тоже хреново сделан
Посмотреть вложение 50592
Во первых, вместо сравнения каждого алиаса сравнивай по switch-case args[0].toLowerCase(). Во вторых зачем тебе else если в конце везде return? Ну и в третьих лучше вообще не костылить это и сделать нормальный обработчик команд с использованием ООП, тогда не придется столько кода переписывать.

Про DataManager, MessageManager и подобные ему. Во первых публичный доступ к полям это бред, инкапсуляции нет. Во вторых, ты в них постоянно переписываешь код для загрузки файла, сохранения и так далее. Опять же, используй ООП, чтобы не переписывать код.

Рекомендую переписывать с нуля, ибо столько говнокода убирать дольше будешь.
О, спасибо за нормальный ответ. Буду потихоньку исправлять.
 

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

Назад
Верх