[TO DELETE] Шаблон/каркас для старта разработки любого плагина (Maven).

Статус
Закрыто для дальнейших ответов.

Reality_SC

Старожил
Пользователь
Баллы
123
Имя в Minecraft
Reality_SC
UPD: тема автоматически самоустаревает, я её не поддерживаю!

Тем, кто хочет начать писать свои плагины, но не знает с чего начать:
TAB_mk сказал(а):
Вот хотел начать что-то делать, но у меня даже плагин, в котором ничего кроме активации и дезактивации нет, не запускается. Что делать? Возможно я что-то пропустил, только вот что не известно.
, посвящается.

Минимальный проект плагина, сборка через Maven (создан в NetBeans, скорее всего и в этих ваших Эклипсах/Идеях тоже пойдёт сразу, я хз), прописаны репозитории для нескольких популярных зависимостей, сами зависимости тоже есть, часть просто закомментирована. Есть config.yml и plugin.yml. Идёт процесс добавления примеров на произвольные темы.


Как это использовать?:
  • Скачать:
    • Через GitHub: там справа сразу ссылка на скачивание архива .zip.
    • Выкачать с него же при помощи git/svn.
    • Из вложения к этому посту (может устареть).
  • Открыть в вашей любимой IDE — NetBeans, Eclipse, IDEA. По хорошему, они все его немедленно откроют. Если нет, то надо слегка заморочиться и сделать им поддержку проектов Maven (обычно это расположено в настройках подключаемых модулей или т.п.).
  • Сразу же скомпилировать, чтобы Maven нашёл и скачал все нужные зависимости. До этого момента IDE может показывать ошибки (неразрешённые зависимости).
  • Для тех, кто впервые сталкивается на практике со словом Maven: вся сущность проекта описана внутри pom.xml, откройте его и попытайтесь разобраться.
  • Не обязательно, но очень желательно сразу поменять название пакета на то, чего надо Вам (da.imenno.vam.MyPlugin) — переименовать сам пакет и прописать в pom.xml новые groupId (da.imenno.vam) и archifactId (MyPlugin).
  • Профит, можно начинать кодить свой быдлокод.
Обновление от 4 марта 2015:
  • Пример сериализации (сохранения) и десериализации (восстановления) какого-то произвольного класса при помощи Google Gson в файл в формате .json. Команды:
    • /rbtmplt jw — сохранение
    • /rbtmplt jr — восстановление
  • Пример того, как при помощи maven-shade-plugin упомянутый выше Gson включён в .jar плагина, предварительно поменявши название пакета, дабы исключить возможные конфузы разных версий.
  • Обновлена обработка команд. Большинство тестовые:
    • /rbtmplt — выводит версию
    • /rbtmplt testwho
    • /rbtmplt testperm
    • /rbtmplt testdb
  • Одна рабочая по заявкам:
    • /rbtmplt reload
  • Добавлен код примеров для:
    • установления подключения к БД MySQL, создания в ней минимальной таблички и внесение строки в эту таблицу;
    • обновления файла настроек config.yml (намного более бесполезная штука).
  • Настроена автоматическая генерация javadoc файла.
  • bukkit-repo (последний Bukkit API 1.7.9-R0.2)
  • spigot-repo (Spigot API 1.8, включая Bukkit API 1.8)
  • sponge-repo (первый релиз, Sponge API 1.0)
  • sk89q-repo (WE/WG/т.п.)
  • vault-repo (на сегодня это Vault 1.5)
  • dynmap-repo (dynmap 2.0.0)
Возможны дополнения, призываю к обсуждению.
Следите за коммитами на GitHub, делайте свои Pull Request-ы.
 

Вложения

Последнее редактирование:
Там не всё переведено
 
Сам сперва начал с Eclipse, но Netbeans понравился больше. Мне нравятся его горячие клавиши xD
А на самом деле, разницы абсолютно нет. Дело исключительной привычки. Давайте закроем обсуждение IDE.
Чутка обновил код; залил на GitHub, прикрепил в верхнем посту.
 
Последнее редактирование:
NetBeans forever. Те кто его не уважает - идет лесом.
P.S О вкусах не спорят
 
Я люблю себе противоречить :) Но реально о вкусах не спорят, а нетбинс лучший :D
 
Не мог бы автор добавить в шаблон команду reload для плагина с соответствующими методами и т.д.?
команда присутствует практически во всех плагинах.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх