Эта статья рассказывает о том, как настроить Ваше рабочее пространство в IntelliJ IDEA для разработки плагинов с использованием SpongeAPI и а системы сборки, таких как Maven или Gradle или Плагин разработки Minecraft.
Если вы хотите создать ваш проект полностью с нуля, пожалуйста, пропустите все до секции Gradle или Maven. Используя плагин Minecraft Dev, он установит точку старта и устранит ваши попытки понять что означают те или функции при поднятии вашего проекта «с земли».
Использование IDEA Minecraft Dev плагина для создания рабочей отправной точки
Плагин Minecraft Development для IntelliJ это отличный плагин, который делает процесс создания плагина гораздо проще, а также предоставляет некоторые аккуратные и полезные возможности для разработки. По умолчанию он создаст проект, который использует Gradle как инструмент сборки.
Установка Плагина Разработки Minecraft
Этот плагин доступен в репозитории плагинов JetBrains IntelliJ.
Благодаря нему, вы можете установить плагин через внутренний браузер IntelliJ. Перейдите в File -> Settings -> Plugins и нажмите на кнопку Browse Repositories. внизу окна. В окне поиска просто найдите Minecraft . Вы можете установить его там и перезапустить IntelliJ, чтобы активировать плагин.
♨️ Предметы | РАЗРАБОТКА ПЛАГИНОВ для МАЙНКРАФТ с НУЛЯ #7
Создание Вашего Проекта из Шаблона
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Minecraft в всплывающем меню.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Выберите Sponge plugin для типа вашего проекта, затем нажмите Next .
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
Перейдите в Gradle или Maven секцию, в зависимости от того, что вы выбрали при создании проекта.
Создание плагина с нуля – Gradle
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Gradle в раскрывшемся списке.
- Если вы хотите, выберите любые дополнительные библиотеки и фреймворки, например Kotlin.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
- Windows: File -> Settings -> Build, Execution, Deployment -> Gradle
- Mac: Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
Редактирование Скрипта Сборки
- Откройте build.gradle в навигаторе и добавьте зависимости.
- Отредактируйте build-скрипт, как описано в статье Настройка Gradle .
- Откройте Gradle tab в правой части окна программы и нажмите кнопку обновления (refresh).
- Установка Gradle завершена! Теперь Вы можете приступить к написанию кода Вашего плагина.
Создание плагина с нуля – Maven
Создание Вашего Проекта
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Maven в раскрывающемся списке.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
- Откройте pom.xml в навигаторе.
- Отредактируйте build-скрипт, как описано в статье Настройка Maven .
- Обновите Ваш проект Maven.
- Импортируйте изменения Maven, если появилась подсказка.
Тестирование Вашего Плагина
Следующие инструкции созданы для быстрого способа тестирования вашего плагина, но не являются самым эффективным способом для постоянной разработки.
Как сделать ПЛАГИН для Майнкрафт #1 — Подготовка | Spigot, Java
Для создания .jar файла, используя Gradle:
- Перейдите в View -> Tool Windows -> Gradle
- Под Tasks -> Build , нажмите на jar
- Процесс сборки должен создать jar в buildlibs
Для создания .jar файла, используя Mave:
- Перейдите в View -> «Tool Windows« -> Maven Projects
- В окне Maven Projects , укажите название вашего проекта
- В Plugins , укажите jar
- Сделайте двойной щелчок по jar:jar
- Процесс сборки должен создать jar в taget
Скопируйте ваш jar файл в директорию mods рабочего Sponge сервера, затем перезапустите сервер для проверки.
Для более эффективного процесса разработки, смотрите Отладка плагина для инструкций по запуску как на сервере Sponge, так и плагина внутри IDEA. Этот процесс позволяет вам изменять код плагина без перезапуска сервера.
Импорт Существующего Проекта (Gradle или Maven)
Если вы уже начали работу с вашим проектом и хотите снова импортировать его позже, вам необходимо его импортировать вместо повторного создания внутри вашей IDE:
- Нажмите Файл > Открыть или Импортировать Проект .
- Gradle: Переместитесь к файлу build.gradle и выберите его.
- Maven: Переместитесь к файлу pom.xml и выберите его.
- Убедитесь, что все настройки верны и нажмите Ок .
Git Интеграция
JetBrain предлагает документацию по интеграции Git:
Источник: docs.spongepowered.org
Getting Started with Add-On Development for Bedrock Edition
Add-Ons are the first step on our journey towards bringing even greater levels of customization to Minecraft: Bedrock Edition. Add-Ons allow players to transform the look of their worlds and even change the behavior of mobs. For example, you can change the blast radius of a creeper and the texture it’s wearing.
In this tutorial, you will learn the following.
- The file structure used by Minecraft Add-Ons.
- Software used for editing JSON files.
- Extensions that are available to help with Add-On development.
com.mojang
When Minecraft is installed on your computer, there is a folder called com.mojang that is generated in the AppData folder. You will need to find this folder so you can add your content to it.
To locate the com.mojang folder on your computer, you will need to have Hidden items checkbox set to true, as shown below. while you’re at it, go ahead and check the box for File name extensions, too.
Showing hidden items
- Open File Explorer from the taskbar.
- Select the View tab.
- In the Show/hide section, select the checkboxes for File name extensions and Hidden items.
Locating com.mojang
- Press Win+R to open Run.
- Copy and paste the following into the Open field: %localappdata%PackagesMicrosoft.MinecraftUWP_8wekyb3d8bbweLocalStategamescom.mojang
- Click OK.
Now would be a good time to save a shortcut to this folder on your desktop.
As shown in the image below, there are multiple subdirectories located within the com.mojang folder.
If you see more content in this folder than what is shown above, do not panic! This image shows a fresh install of Minecraft.
Behavior, Skin, and Resource Packs
There are three folders called behavior_packs, resource_packs, and skin_packs that will store finalized custom content that will be added to Minecraft: Bedrock Edition. Don’t worry about these folders right now — you are going to be developing content, so you will be working in the development versions of these folders, as discussed in the next section.
Development Packs
You will use the development_resource_packs and development_behavior_packs folders for the Resource Pack and Behavior Pack tutorials. The development_skin_packs folder is used for developing skin packs. Development pack folders are updated each time Minecraft is launched so you can quickly load and test the changes you made to their contents.
minecraftWorlds
minecraftWorlds contains each world that has been generated within the current build of Minecraft. Each folder will also contain resource and behavior pack folders to contain any packs that may be in use within the world.
It’s recommended that when installing a new build of Minecraft, you should save a copy of this folder to use as a back up to prevent any potential loss of Minecraft Worlds that you may have.
Visual Studio Code
JSON is a popular text file format that is used by Minecraft: Bedrock Edition to interact with content. JSON can be edited in any text editor such as Notepad or Word. However, Visual Studio Code is a free to use text-based editor that supports third party extensions, including some built specifically for Bedrock development.
Installing Visual Studio Code
Visual Studio Code Extensions
Visual Studio Code supports extensions created by the Visual Studio Code developer community. Extensions are a great way to help write and understand Minecraft syntax when working on resource and behavior packs.
Installing Extensions
- Click on this link to download Bedrock Definitions for Visual Studio Code.
- Click on this link to download Blockception’s Minecraft Bedrock Development for Visual Studio Code.
What’s Next?
Now that your development environment is set up, you can start creating your first Add-On and learn more about resource packs.
Alternatively, if you would like to get started with commands in Minecraft, head on over to Introduction to Command Blocks to learn how to use command blocks to chain together different commands.
Источник: learn.microsoft.com
Как создать плагин для minecraft
Для создания большинства собственных плагинов не нужны никакие особые инструменты, кроме графического редактора для текстур и текстового редактора для gui диалогов.
Структура файлов
Все плагины находятся в папке plugins в корне клиента и имеют следующую структуру:
(название плагина)/ info.json
icon.png
gui/
dialog.xml
texture.png
graph/
(структура соответствует структуре файлов в каталоге /media/graph/ клиента)
mob/
entity.png
block/
stone.png
res/
iron.png
diamond.png
Обязательным является только info.json, в котором находится полное описание плагина, icon.png — это иконка плагина размером 64 на 64 пикселя. Если иконка не задана, то будет отображаться та, что установлена по умолчанию.
Описание плагина (info.json)
Данный файл содержит полное описание плагина, он пишется в формате json с кодировкой UTF-8 и имеет следующий формат:
«name»: «Краткое название плагина 3-32 символа»,
«desc»: «Расширенное описание плагина 3-256 символов»,
«author»: «автор плагина (должен совпадать с ником, если плагин заливается на сайт)»,
«version»: «версия в формате: (мажорная версия).(минорная версия)»,
«gui|mob|graph|armor|terrain|misc|environment|art|fonts»: [
< «file»: «имя заменяемого файла», «hash»: «его md5 hash» >,
],
«block|item»: [
< «file»: «stone.png», «id»: 1, «meta»: 0 >
],
«ingame»: [
< «file»: «gui.xml», «hash»: «md5 hash» >
]
>
name — в этом поле указывается уникальное название плагина, которое не должно совпадать ни с каким другим названием в каталоге плагинов. После публикации плагина, изменить это название на данный момент времени невозможно, поэтому выбирать его следует аккуратно.
desc — небольшое описание плагина, которое будет отображаться в игре в настройках плагинов.
author — автор плагина (ваш ник на форуме и в игре).
version — версия плагина, должна соответствовать формату #.#, вы можете нумеровать свои версии как 0.1, 0.2, 1.0, 1.1, либо 1.0, 2.0, 3.0 и т.д.
Далее идут секции, описывающие замену конкретных файлов в клиенте. Название секции как правило соответствует аналогичному каталогу в клиенте игры, файлы из которого заменяются файлами плагина, за исключением секции ingame и block (о них см. ниже).
Параметр file в секции должен указывать на полный путь к файлу, т.е. иметь расширение и родительские каталоги, если таковые имеются. Параметр hash должен содержать md5hash оригинального файла клиента, который подменяется данным плагином. Именно по этому хешу клиент определяет может ли он заменить оригинальный файл файлом из вашего плагина. Сделано это для того, чтобы в случае обновления оригинального файла ваш плагин перестал работать до тех пор, пока вы не выпустите его обновление с учетом внесенных в оригинальный файл изменений.
Если оригинального файла в клиенте нет (такое возможно, когда заменяется xml диалог со своими текстурами), то параметр hash не указывается вовсе. Чтобы получить md5hash нужного файла достаточно оставить его пустым в конфиге, запустить клиент с открытой консолью и попробовать установить свой плагин. В консоле при этом будет выведена примерно такая ошибка:
[ERROR]: плагин [название вашего плагина] — файл gui.xml устарел: «» <> ddf78a91685a8f9f3bbec45b720e9a6d
В этой ошибке «ddf78a91685a8f9f3bbec45b720e9a6d» это и есть оригинальный md5hash файла, который ожидает увидеть клиент. Достаточно скопировать его и вставить в свой конфигурационный файл.
Пример файла info.json
«name»: «Тестер плагинов»,
«desc»: «Тестовый плагин, замена диалога торговки»,
«author»: «return»,
«version»: «0.1»,
«gui»: [
< «file»: «trader.xml», «hash»: «8746f5f12fa868d4a0b67562cd98f3ae» >,
< «file»: «stars.png», «hash»: «9caae1328d0a701b88b81c5a87202545» >
],
«mob»: [
< «file»: «spider.png», «hash»: «73e866c18e7d0a666b7f0ee026da16d4» >
],
«graph»: [
< «file»: «item/default/items3.png», «hash»: «518ccda1d0e0f68abe392689d37044dd» >
],
«block»: [
< «file»: «stone.png», «id»: 1, «meta»: 0 >,
< «file»: «tree.png», «id»: 6, «meta»: 0 >,
< «file»: «pumpkin.png», «id»: 86 >
]
>
Порядок применения плагинов
Все включенные плагины применяются последовательно один за другим. Сначала происходит проверка на соответствие hash суммы оригинального файла клиента тому, что указан в настройках и если они совпадают, то происходит замена файла. Если несколько плагинов меняют один и тот же файл, то в конечном счете применен будет тот, который загрузится последним.
На данный момент включение/выключение плагина из клиента практически всегда заменяет и возвращает все файлы без его перезагрузки.
Если хотя бы один из файлов плагина не может быть применен (не совпадает hash или не найден оригинальный файл), то плагин не будет применен полностью даже если все остальные файлы ошибок не вызывают.
Секция block (и item)
Секция block является особенной и работает немного иначе, чем все остальные секции. Если во всех остальных секциях конкретный файл клиента заменяется файлом из плагина, то в данной секции все файлы текстур из плагина заменяют лишь часть оригинальной текстуры terrain.png.
Чтобы клиент понимал, какую именно часть оригинальной текстуры заменить, ему нужно дать подсказки, а именно указать id блока (и номер metadata, если необходимо). Зная id блока, клиент может получить все текстуры, которые использует данный блок и именно их заменить на текстуры из плагина.
Большая часть блоков использует одну текстуру для всех сторон. В этом случае конфигурация будет самой простой:
«block»: [
< «file»: «stone.png», «id»: 1 >
]
При этом файл stone.png это небольшая текстурка размером 64×64 (для HD версии). Данная настройка изменит текстуру блока камня
. Если же необходимо изменить гранит, у которого такой же id, но другая метадата, то конфигурация будет уже такая:
«block»: [
< «file»: «stone.png», «id»: 1, «meta»: 1 >
]
Но как быть, если у блока с разных сторон разная текстура? Например у
три различные текстуры: текстура лица, сторон и верх/низ. В этом случае конфигурация остается такой же, как в случае с камнем:
«block»: [
< «file»: «pumpkin.png», «id»: 86 >
]
Однако файл pumpkin.png должен содержать уже не 1 текстуру, а все три и располагаться они должны следующим образом:
Порядок следования такой: низ, верх, сторона 1, сторона 2, сторона 3, сторона 4. Если у блока не все 6 текстур различны, то одинаковые просто пропускаются и в файле не указываются.
В случае с секцией item все работает точно так же, только тут одна текстура всегда будет соответствовать одному предмету с указанным id и meta.
Секция ingame
В настоящее время там может быть описан только один файл — gui.xml. Это файл с аналогичным названием, лежащий в каталоге /bin/media/xml/ клиента и отвечающий за расположение панелей на основном экране игры.
Быстрый старт
Самый простой способ максимально быстро получить работающий плагин это скачать один из уже готовых (например, плагин из demo набора https://forum.minecraft-galaxy.ru/plugins/#demo) и после скачивания в клиенте открыть папку с плагином и поменять в нем нужные файлы на свои. Затем уже изменить название, описание и иконку, если это необходимо.
Распространение
Любой плагин может быть передан любому другому игроку просто путем копирования папки с плагином из каталога /plugins/ вашего клиента в этот же каталог на компьютере игрока. Так следует делать в том случае, если вы не планируете делиться вашими работами с другими игроками.
Однако если вы все же хотите поделиться ими с другими игроками, то для этого плагин нужно опубликовать в каталоге плагинов на нашем сайте. Подробнее об этой не сложной процедуре читайте в статье Публикация плагина.
Источник: forum.minecraft-galaxy.ru