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

Статус
Закрыто для дальнейших ответов.
Хватит сраться по поводу IDE >_< Какая разница в IDE, компилирует всё равно JDK :)
Не мог бы автор добавить в шаблон команду reload для плагина с соответствующими методами и т.д.?
Готово.
 
Что да?
 
Вот вспомнил почему это ерунда. В Maven есть архетипы, если делать всё по уму, то делать шаблонный проект с помощью архетипа.
 
А вот это кстати не совсем так. В клипсе свой собственный компилятор.
The JDT Core infrastructure has no built-in JDK version dependencies, it also does not depend on any particular Java UI and can be run headless.
Спасибо за просвещение, не знал. Тем не менее, вряд ли это имеет весомое значение для новичков. Плюс,
In particular, it allows to run and debug code which still contains unresolved errors.
это может быть даже вредным для них, имхо.
Вот вспомнил почему это ерунда. В Maven есть архетипы, если делать всё по уму, то делать шаблонный проект с помощью архетипа.
Буду рад конструктивным предложениям и соответствующим Pull Request-ам. Я знаю, что ты можешь :)
С другой стороны, я с ходу не вспомню ни одного известного по миру плагина, автор которого промышлял бы этим.
 
Здравствуйте!
Программирую я давно, а вот плагинами/модами на майн я никогда не занимался. Подскажите, если не сложно. Мне нужно знать направление, куда "копать".
Правильно ли я понимаю? Bukkit - это только серверное API? Если мне, например, нужно добавить в игру какой-то блок, то его нужно создать на стороне сервера с помощью API, и создавать его же на стороне клиента с помощью какого-то клиентского API (Forge, ModLoader, ...)? Как вообще состыковывается дописанное на стороне сервера с клиентом? Клиент же должен как-то понимать то, что ему посылает сервер.
Может быть, я не туда пишу. Тогда подскажите правильную тему.
Благодарю за внимание!
 
Bukkit - это только серверное API
Да
Как вообще состыковывается дописанное на стороне сервера с клиентом?
В качестве загрузки&обработки мода используется Forge (и т.п.) на стороне клиента и сервера. Моды пишутся именно под API Forge (и т.п.).
Bukkit - Server API
CraftBukkit - Серверная оболочка.
 
Тогда какая часть пишется на самом Bukkit, а какая на Forge? Если Forge есть серверный и клиентский. Какое участие тут принимает сам Bukkit?
Грубо говоря, для каких задач мне читать доки по Bukkit, а для каких по Forge?
 
Forge и Bukkt исходно были параллельные несовместимые вещи. Forge — для модов, которые работают на клиенте и/или сервере, а Bukkit — только для серверных плагинов. Причём Bukkit используется многими из-за того, что писать под него легче и быстрее, да и плагины остаются совместимыми с разными версиями серверов, тогда как моды Forge следует перекомпилировать под каждую отдельную версию. Их объединили только в MCPC (ныне Cauldron).
Для того, чтобы добавить в игру новый блок, единственным вариантом является написание мода для Forge. Он должен быть установлен и на сервере, и на клиенте. Bukkit API для этого использовать совершенно необязательно.
Я не являюсь разработчиком Forge и, к сожалению, ничего не могу подсказать тебе, в каком направлении копать. Эта тема предназначена исключительно для быстрого старта нового Bukkit плагина.
 
Ок. Множество вопросом прояснилось одним махом. Спасибо! Основная цель - написание под ядро Spigot.
Тогда вопрос в Вашем направлении: если bukkit - API только для серверной части, как клиент понимает дописанное на стороне сервера?
 
Ок. Множество вопросом прояснилось одним махом. Спасибо! Основная цель - написание под ядро Spigot.
Тогда вопрос в Вашем направлении: если bukkit - API только для серверной части, как клиент понимает дописанное на стороне сервера?

Клиент воспринимает лишь пакеты от сервера. Ему без разницы в каком порядке они будут посланы. Все, что дописывается на сервере(не изменяющие протокол обмена данными) на клиент никак не влияет.
 
Если я,например, добавлю свой блок в игру, то клиент же тоже должен оттуда-то о нём знать?
 
Фордж мод должен быть установлен и на сервере, и на всех клиентах, очевидно.

Сам Фордж следит за тем, чтобы клиенты без модов не подключались.
 
Ок. Я так понял, что на Bukkit такое не делается. Нужно топать в Forge.

P.S. - Может быть, есть человек, который не против поотвечать на странные вопросы в скайпе/аське/вк? Или писать тупые вопросы тут на форуме - это нормально?
 
Может быть, есть человек, который не против поотвечать на странные вопросы в скайпе/аське/вк? Или писать тупые вопросы тут на форуме — это нормально?
Писать на форуме — вполне все пишут, только создай свою тему :)
 
Тем, кто хочет начать писать свои плагины, но не знает с чего начать
Скачал и начал, спасибо! Не подскажете как добавить репозитории (или как оно правильно называется) плагина AuthMe Reloaded? Так как ссылка MavenRepository, на странице плагина никуда не ведет, или я не понимаю как ее правильно использовать...
 
Не подскажете как добавить репозиторий (или как оно правильно называется) плагина AuthMe Reloaded?
Репозиторий — каталог (на веб-основе) любых программ/библиотек, в том числе их различных версий. Чтобы система автоматической сборки Maven (или Gradle) могли собрать проект, они должны иметь представление о зависимостях, на которые основывается проект. Если указанной зависимости нет в локальном репозитории (а maven всегда имеет его для кеширования зависимостей), идёт поиск указанной библиотеки указанной версии по всем прописанным в pom.xml репозиториям.

Увы, указанный репозиторий для AuthMe Reloaded действительно отсутствует. Как вариант, можно поступить следующим образом:
  • Создать в папке проекта папку lib (название не важно, но в 99% её называют именно так).
  • Скачать в эту папку .jar плагина AuthMe Reloaded.
  • Прописать в pom.xml зависимость:
    XML:
    <dependency>
       <groupId>fr.xephi.authme.AuthMe</groupId>
       <artifactId>AuthMe</artifactId>
       <version>3.5-SNAPSHOT</version>
       <scope>system</scope>
       <systemPath>${project.basedir}/lib/AuthMe_v3.5.dev.jar</systemPath>
    </dependency>
    (данные я взял из pom.xml с гитхаба, не факт, что 100% совпадают, но это всё равно сработает, т.к. для scope = system достаточно только указания systemPath).
Возможно, в обозримом будущем автор отреагирует на месячный Issue на гитхабе о том, что репо пропал, и поднимет старый/новый.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх