GenkaMistikCoder Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 Как создать плагин для серверов PaperMC (Minecraft) ? Сейчас вам расскажу. Что вам надо скачать - Java Jdk 17 Любой редактор кода (даже блокнот) Знание java Server paperMC 1.20.4 Давайте начнем. Зайдите в Intel IDEA и создайте новый проект - Gradle, kotlin. Подождите когда он скачается (Или забилдится). Если в "молотке" будет написано "Bild successful" то поставьте этот код в файл gradle (он открыт по умолчанию) - plugins { id("java") id("com.github.johnrengelman.shadow") version "8.1.1" } group = "org.genamistik" version = "1.0" repositories { mavenCentral() maven { url = uri("https://repo.papermc.io/repository/maven-public/") } } dependencies { compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT") testImplementation(platform("org.junit:junit-bom:5.10.0")) testImplementation("org.junit.jupiter:junit-jupiter") } tasks.named<Test>("test") { useJUnitPlatform() } tasks.named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") { archiveFileName.set("nameJar-${version}.jar") } tasks.named("build") { dependsOn(tasks.named("shadowJar")) } ВАЖНО - измените группу на вашу, в место "nameJar" название вашего выходного файла. Что ж, напишем первый код на java - package com.example; // Ваш пакет import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { @Override public void onEnable() { getLogger().info("Плагин успешно запущен!"); // Здесь инициализация вашего плагина } @Override public void onDisable() { getLogger().info("Плагин выключен"); } } Что он делает? При запуске сервера от имени файла будет в логах писаться "[PluginName] Плагин успешно запущен". PS - возможны проблемы с кодировкой! Но нам нужно файл yml "plugin.yml" - name: YourPluginName version: 1.0 main: com.example.Main api-version: 1.20 description: Описание вашего плагина author: Ваше имя После, плагин должен работать. Чтоб собрать плагин нужно написать в командную строку команды - ./gradlew build - соберет плагин и создаст shadow JAR ./gradlew shadowJar - только создаст fat JAR с зависимостями Собранный плагин будет находиться в build/libs/вашJarФайл-1.0.jar Как создать команду? для этого мы создадим команду /test В наш главный класс напишем следующие - @Override public void onEnable() { getCommand("test").setExecutor((sender, command, label, args) -> { if (sender instanceof Player) { Player player = (Player) sender; player.sendMessage("Тестовая команда работает!"); return true; } return false; }); } PS - возможны проблемы с кодировкой! После нам нужно добавить в plugin.xml commands: test: description: Тестовая команда usage: /test Пример слушателя событий Добавим в наш класс (не в onEnable!) событие при котором если игрок зайдет в мир то ему выведет сообщение Добро пожаловать {ник игрока}! - @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { // PlayerJoinEvent - Зашел ли игрок event.setJoinMessage("Добро пожаловать, " + event.getPlayer().getName() + "!"); // вывод в чат } После зарегистрируйте его в onEnable() getServer().getPluginManager().registerEvents(this, this); После этого забилдите проект. Как мне проверить работу плагина? Для начало скачайте версию PaperMC 1.20.4 После напишите в командной строке - java -jar paper-1.20.4.jar У вас в папке появится файл elua.txt, поставьте true за место false и напишите заново команду После откройте файл server.properties и найдите online-mode и замените true -> false. Поместите сой плагин в папку plugins После напишите команду - "C:\Program Files\Java\jdk-17\bin\java.exe" -Xmx2G -jar paper-1.20.4-499.jar --nogui Если в логах будет написано - "[PluginName] Плагин успешно запущен" то у вас он успешно запустился После зайдите в майнкрафт 1.20.4 и создайте сервер с доменом - localhost:25565 И у вас все должно работать. Удачной разработки плагинов! Ссылка на комментарий Поделиться на другие сайты Поделиться
GenkaMistikCoder Опубликовано 20 июня, 2025 Автор Поделиться Опубликовано 20 июня, 2025 РЕбЯТА я забыл написать что - Создайте файл src/main/resources/plugin.yml с метаданными плагина!!! Извиняюсь что пишу это в коментариях Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 у intelij idea есть плагин minecraft development, он автоматически создаст проект, но он недоступен на территории РФ и РБ (нужно будет обходить) Ссылка на комментарий Поделиться на другие сайты Поделиться
TikovKa Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 1 час назад, Shomen сказал: у intelij idea есть плагин minecraft development, он автоматически создаст проект, но он недоступен на территории РФ и РБ (нужно будет обходить) Он забанен для РФ) Даже проблемы с ВПН щас. Пусть немного учатся ручками это делать, как когда то было еще писали в eclipse. Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 3 минуты назад, TikovKa сказал: Пусть немного учатся ручками это делать, как когда то было еще писали в eclipse. для этого надо нормальный гайд, а не это Ссылка на комментарий Поделиться на другие сайты Поделиться
TikovKa Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 29 минут назад, Shomen сказал: для этого надо нормальный гайд, а не это Спорить не буду, гайд более детальный нужен. Там есть и более тонкие настройки. Да и уж, помимо Gradle, возможности использовать стандартные утилиты самой IDEA или того же maven. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 6 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти