Pterohost docs

Создание плагина Minecraft

15 минутный гайд

Туториал по созданию плагинов для Minecraft

(Версии 1.8.8 – 1.21)

В этом новом руководстве по разработке плагинов для Minecraft я покажу, как создавать плагины для Bukkit, Spigot, Paper и Purpur – рекомендуемого ядра от нашего хостинга Pterohost. Данное руководство охватывает разработку плагинов для версий от 1.8.8 до 1.21.

Мы будем использовать IntelliJ IDEA с расширением для разработки плагинов Minecraft, что сделает процесс быстрым и лёгким.

Полное пошаговое руководство по разработке собственных плагинов для Minecraft:
Нажмите здесь для полного обучения разработке плагинов Minecraft.


1. Введение

Что такое Bukkit, Spigot, Paper и Purpur?

Bukkit, Spigot, Paper и Purpur – это модификации оригинального серверного ПО Minecraft от Mojang, которые добавляют поддержку плагинов, дополнительные настройки и улучшают производительность.

Что такое плагин для Minecraft?

Плагин для Minecraft – это расширение для серверов на базе Bukkit, Spigot, Paper и Purpur, позволяющее создавать события, команды, инструменты, мини-игры, монстров и многое другое.

Это отличается от модов для Minecraft, которые добавляют новые функции в саму игру и требуют установки у каждого игрока.


2. Начало работы

Установка IntelliJ IDEA

Скачайте и установите IntelliJ IDEA Community Edition. Именно в этой среде разработки я буду создавать плагины для Minecraft. IntelliJ используется официальными разработчиками Google при создании Android-приложений – он вас не подведёт.

Чтобы установить расширение для разработки плагинов Minecraft, откройте IntelliJ, перейдите в File > Settings > Plugins, введите «Minecraft» в вкладке Marketplace и установите плагин.

Installing Minecraft Plugin Development

Создание нового проекта

Нажмите New Project и настройте его, используя следующие параметры:

Creating A New Project

  • Name: Имя вашего плагина.
  • Location: Путь, где будет храниться код плагина локально.
  • Platform Type: Выберите Plugin.
  • Platform: Выберите Bukkit.
  • Bukkit Platform: Выберите Paper или Spigot (Рекомендуем: Paper)
  • Minecraft Version: Выберите нужную версию. Если хотите создавать плагин для 1.8.8 или другой версии, оставьте выбор «latest» и смотрите шаг ниже.
  • Plugin Name: Должно совпадать с именем плагина.
  • Main Class: Здесь указывается основной класс вашего плагина. Путь задаётся в формате обратного доменного имени, который может быть основан на вашем сайте (например, com.matejpacan), вашем email (например, com.gmail.matejpacan) или просто «me.matejpacan», после чего следует имя плагина (например, custommob) и название класса (например, CustomMob), то есть, например, org.mineacademy.custommob.CustomMob.
  • Build System: Выберите Maven.
  • JDK: Для Minecraft 1.20.5, 1.21 и выше выберите Java 21, для Minecraft 1.17–1.20.4 – Java 17, а для версий ниже – Java 8. Установите соответствующую версию по ссылке.

Нажмите Create New. Проект будет сгенерирован.

Структура проекта

Новый проект должен содержать следующую структуру:

Project Structure

  • Папка src/main/java – здесь находится ваш код. В ней создаётся основной пакет, имя которого основано на пути основного класса плагина, и сам основной класс плагина.
  • Папка src/main/resources – здесь располагаются конфигурационные файлы, например, plugin.yml, который сервер использует для поиска основного класса плагина и информации о нём.
  • Файл pom.xml – используется для сборки кода и ресурсов в один .jar-файл, который затем помещается в папку plugins/ вашего сервера.

Внимание для Minecraft 1.8.8 – 1.16

Так как Paper больше не хранит старые версии Minecraft в своём репозитории, необходимо переключиться на Spigot.

Посетите Spigot Maven Repository.

Замените секции <repository> и <dependency> с Paper на Spigot, как указано на странице.

Для Minecraft 1.8.8 это будет выглядеть примерно так:

<repositories>
      <repository>
          <id>spigot-repo</id>
          <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
      </repository>
      (...)
  </repositories>

  <dependencies>
      <dependency>
          <groupId>org.spigotmc</groupId>
          <artifactId>spigot-api</artifactId>
          <version>1.8.8-R0.1-SNAPSHOT</version>
          <scope>provided</scope>
      </dependency>
  </dependencies>

3. Сборка

В методе onEnable() основного класса плагина я добавил тестовую строку:

getLogger().info("Hello Pterohost.Com!");

Затем я выполнил задачу package для сборки плагина.

Compiling The Plugin

В консоли должно появиться сообщение о том, что сборка прошла успешно. Можно проигнорировать предупреждения:

Build Success

Готовый плагин будет находиться в папке target/ внутри папки исходного кода вашего плагина.

Target Folder


4. Тестирование

Запуск локального сервера Minecraft

Скачайте нужную версию Paper с papermc.io.

Затем создайте скрипт для запуска сервера в зависимости от вашей операционной системы.

Скрипт для Windows

Создайте файл run.bat со следующим содержимым:

java -Xms2G -Xmx4G -jar paperclip.jar nogui
pause

Скрипт для macOS

Создайте файл run.sh со следующим содержимым:

#!/bin/bash
cd "$(dirname "$0")"
exec java -Xms2G -Xmx4G -jar paperclip.jar nogui

Скрипт для Linux

Создайте файл run.sh со следующим содержимым:

#/bin/sh
java -Xms2G -Xmx4G -jar paperclip.jar nogui

Поместите файл paperclip.jar и соответствующий скрипт в одну папку, запустите сервер, примите условия eula.txt, затем остановите сервер командой «stop» для корректного завершения.

После этого перенесите .jar-файл вашего плагина из папки target/ в папку plugins/ и запустите сервер снова. Voilà – ваш первый плагин для Minecraft заработал!

При включении плагина в консоли вы увидите сообщение:

Plugin console Message

Подключение к вашему серверу

Запустите клиент Minecraft, откройте раздел Multiplayer, выберите «Direct Connection» и введите localhost в качестве адреса сервера.

После входа в игру введите команду /plugins – ваш плагин должен отображаться зелёным цветом. В моём случае он отображается как «CustomMob».

Loaded Minecraft Plugin

Авторство (copyright):