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

[DEV] Фреймворк для команд.

CatCoder

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
CatCoder
CommandFramework - простой фреймворк для команд
Версия: 1.0
​
Здравствуйте, уважаемые форумчане! Давненько на этом сайте не появлялись разные фреймворки. Так вот, я создал максимально компактный фреймворк для создания нескольких команд и их обрабатывания.

В самом фреймворке есть пример его использования. Сама структура команд построена на аннотациях (me.catcoder.cframework.Command).

Как мне использовать его?
Всё достаточно просто. Разжую всё пошагово.
1. Создание объекта класса CommandCenter:
Код:
CommandCenter center = new CommandCenter(myplugin);
2. Регистрация команд:
Код:
center.register(MyClassInstance); //регистрация команд

Более подробный туториал есть на гитхабе. (см. ниже)

* GitHub (собственно, оттуда Вы можете его скачать)

Ну что же, на этом всё. Если вы нашли какой-нибудь недочёт или у Вас есть предложения для улучшения фреймворка - смело стучитесь в личку (сюды). Спасибо за внимание! :)
 
Какую логику?!
Какие "адекватные плагины"?!
Почему я должен смотреть код?!
Ты выложил так называемый "фреймворк", и я всего-лишь попросил объяснить, какой смысл мне использовать твой так называемый "фреймворк"? А ты написал какую-ту фигню...
Тихо. Собственно, смысл фреймворка - создание нескольких команд в одном классе, также их можно не регистрировать в plugin.yml. И ещё он автоматически удаляет конфликтующие команды.
 
Что значит тихо? Вот очень интересно, серьезно...
Насчет всего остального... Сомнительное удовольствие, ради таких фич (которые можно сделать вот прямо очень легко), подключать чей-то фреймворк...
С удалением конфликтующих команд.. Эм.. Что?..
Ладно, тебя его использовать я не заставляю. Не нравится - не используй.
 
Как мне использовать его?
Всё достаточно просто. Разжую всё пошагово.
1. Создание объекта класса CommandCenter:
  • CommandCenter center = new CommandCenter(myplugin);
2. Регистрация команд:
  • center.register(MyClassInstance); //регистрация команд
Более подробный туториал есть на гитхабе. (см. ниже)

* GitHub (собственно, оттуда Вы можете его скачать)
На гитхабе тот же тутор, только на английском.
 
Эм... Так это же автоматическая фича? Ну, в бакките, когда ты ты делаешь команду которая уже есть в майне, твоя команда заменяет стандартую..
Нет. Вроде как, просто minecraft:ban попробуй
 
Ну, я это и имел ввиду, типо твоя команда станет основной, а стандартная уже только через "minecraft:ban"..
Фреймворк убирает полностью конфликтующую команду, т.е удаляет её из мапы команд.
 
Хм... Это конечно может быть полезно, но это вполне может быть и неудобно, если я хочу оставить стандартную майновскую команду..
А смысл тогда делать команду на подобие майновской, если ты её хочешь оставить?
 
А смысл тогда делать команду на подобие майновской, если ты её хочешь оставить?

Удалять команду совсем ни к чему. Мысли у кодеров бывают сходятся. И если кому-то нужно два плагина с одинаковой командой, то удаление - это не лучшая идея. Ты фактически ломаешь другой плагин, который человек зачем-то устанавливал.
 
Удалять команду совсем ни к чему. Мысли у кодеров бывают сходятся. И если кому-то нужно два плагина с одинаковой командой, то удаление - это не лучшая идея. Ты фактически ломаешь другой плагин, который человек зачем-то устанавливал.
Ну если он не хочет убирать команды, то единственное решение - сделать другую, иначе никак. В фреймворке есть функция, если сама команда была создана в нем, то она не удаляется с мапы команд бакита.
 
Я не хочу, чтобы Ваши плагины и плагины тех, кто последует по Вашим стопам, ломали мои плагины удаляя их команды.
Понимаете, когда мне напишут: "я выполняю команду а ничего не происходит", я не хочу заниматься декомпиляцией всех плагинов пользователя, чтобы определить, что автор одного из них решил, что его плагину важнее использовать команду чем моему.
 
Я не хочу, чтобы Ваши плагины и плагины тех, кто последует по Вашим стопам, ломали мои плагины удаляя их команды.
Понимаете, когда мне напишут: "я выполняю команду а ничего не происходит", я не хочу заниматься декомпиляцией всех плагинов пользователя, чтобы определить, что автор одного из них решил, что его плагину важнее использовать команду чем моему.
Ну хорошо. На днях сделаю эту функцию опциональной, то есть разработчик сам будет решать удалять-ли конфликтующую команду.
 
Да йоп вашу мать.
https://github.com/CatCoderr/CommandFramework/blob/master/src/me/catcoder/cframework/Command.java#L8
Подчищай мусор перед тем, как пушить на гит.
И не "альяс", а "алиас".

Хм... Это конечно может быть полезно, но это вполне может быть и неудобно, если я хочу оставить стандартную майновскую команду..
Майнкрафтовских команд нет в commandMap.
 

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

Назад
Верх