Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Туториал Создаем кастомные патчи для Spigot

Discussion in 'Руководства, инструкции, утилиты' started by demkom, Apr 23, 2017.

  1. Автор темы
    demkom

    demkom Администратор Пользователь

    Trophy Points:
    76
    Skype:
    demkom1983
    Имя в Minecraft:
    G_demkom_G
    Оригинал: Клик

    Подготовка:

    -Maven [Как установить?]
    -Git
    -Java(JDK)
    -BuildTools [Jenkins]

    Что мы будем делать в этом уроке?
    Мы модифицируем spigot/craftbukkit, чтобы добавить код с помощью патчей.
    В качестве примера я добавлю метод, который отправит игроку сообщение «привет мир».

    Сам метод:
    Code:
    helloWorld()

    Введение:
    Система инъекции патчей - это мощная система, которая позволяет нам легко кастомизировать spigot.
    Главное её предназначение - это добавление патчей к bukkit/craftbukkit, но мы также можем использовать её и для своих целей.


    Что и как:
    Сначала вам нужно поместить BuildTools.jar в папку и скомпилировать его с помощью git bash
    [​IMG]
    [​IMG]
    Это займет некоторое время, это загрузка и компиляция spigot!
    Для этого он должен загрузить и декомпилировать craftbuikkit, применить патчи и перекомпилировать себя.
    По окончании процесса будут созданы все нужные нам файлы и папки.

    [​IMG]
    То что нас интересует, это папка Spigot.
    [​IMG]
    Мы можем закрыть терминал и посмотреть, что для нас создал BuildTools.
    В каталоге есть много других каталогов и некоторых файлов.
    Нас в основном интересуют такие папки: «Bukkit-Patches», «CraftBukkit-Patches», «Spigot-API», «Spigot-Server».
    Первые два каталога содержат патчи, которые были применены к spigot: первая специфицирует, что применять к bukkit api, последняя указывает те, которые добавляются к craftbukkit.
    Два других каталога содержат исходный код spigot, но первый содержит только API Spigot (bukkit), а второй содержит только материал, не необходимый для api (craftbukkit и др.),
    Нам нужно создать патч, но чтобы сделать процесс более простым (никто не хочет создавать файл .patch напрямую), мы изменим исходный код и разрешим Maven сделать грязную работу.
    Вы можете изменить источник с помощью любого текстового редактора, но в этом уроке я буду использовать идею Intellij.
    Сначала нам нужно открыть проект Maven:

    [​IMG]
    [​IMG]
    Нажмите «Далее», пока не попросит имя проекта, напишите «Spigot» или что-то подобное и завершите процесс.
    Среда даст предупреждение, связанное с maven, но нам нужно только изменить код, просто игнорируем его.
    Здесь идет интересная часть, пишите то, что вы хотите.
    Я сделал метод helloWorld ():

    [​IMG]
    Я мог бы упростить запись метода по умолчанию в классе Player, но это слишком просто:
    [​IMG]
    Хорошо, после того, как все написано сохранить и выйти, нам больше не нужна IDE.
    Нам нужно открыть консоль и добавить каждый файл, который мы модифицировали, «git add path\to\File.java»

    [​IMG]
    Как только мы закончим, нам нужно написать «git commit -m <message>», где аргумент «message» указываем название коммита. Просто пишите что хотите, ниже я написал то что изменил.

    [​IMG]
    ВНИМАНИЕ: вам нужно выполнить «git add/commit» два раза: один раз для Spigot-API, а другой для Spigot-Server
    [​IMG]
    Примечание: сообщения могут быть разными. Но сути это не меняет.
    Как только это будет сделано, нам просто нужно будет запустить «rebuildPatches.sh», и будет создан .patch файл.

    [​IMG]
    Чтобы экспортировать проект и получить кастомный spigot.jar, нам нужно написать "mvn clean install"
    Созданный .jar будет в «Spigot-Server \ target», это та папка, у которой нет оригинала.

    [​IMG]
    Вот наш .jar , теперь мы можем импортировать и использовать его!
    [​IMG]
    [​IMG]
    Не забудьте заменить оригинал, пропатченым ядром в директории сервера!


    Обратите внимание на:
    [Фикс пакетов книги | Сборка AweSomeCraft]
     
    Last edited: May 8, 2017
  2. Хостинг MineCraft
    <
  3. xBrainRTPx

    xBrainRTPx Новичок Пользователь

    Trophy Points:
    21
    Имя в Minecraft:
    Brat987
    Спасибо!
     

Share This Page