Skip to content

How to build BeautyQuests

Youenn "SkytAsul" Le Jeune edited this page May 20, 2026 · 4 revisions

How to build the plugin?

Building the plugin by yourself may be useful if you want to make changes to the code that will stay private. Here is how to do so.


First step: downloading sources

Firstly, you'll need to download the sources on your computer. For this, download the ZIP file from here or clone the Git repository with this link: https://github.com/SkytAsul/BeautyQuests.git.


Second step: setup maven project

There are a lot of tutorials on how to do that on the Web, so I will not explain everything. Just know that BeautyQuests is a project with modules: it means that the api, the implementation, the distribution, Spigot, Paper and the NMS modules have separated pom.xml files (and a parent one). Please pay attention to that.


Third step: manage unused libraries

BeautyQuests has a lot of integrations, and some of them are premium plugins or do not have maven repositories.

The workaround used to implement those integrations in the code is to force maven to install JARs in your local workspace. To facilitate the manipulations, I created this script which can be ran like this:

./libs.sh <maven binary path> <jars directory>

Most integrations are grouped together in the integrations maven module, which makes it easier to deal with.

If you don't want to package any of the integrations in the build you are doing, simply exclude the integrations module from the parent pom.xml and from dist/pom.xml and you'll be good.

Otherwise, if you simply want to remove some integrations, follow those steps:

Maven manipulation

Remove the sections concerning the dependencies you want to exclude from integrations/pom.xml.

Code manipulation

Each dependency has an associated class file, in the package fr.skytasul.quests.integrations, usually named after the name of the plugin. You can delete every classes that are no longer used after the previous instructions. After that, go to fr.skytasul.quests.integrations.IntegrationsLoader and delete each piece of code corresponding to previously removed dependencies.


Fourth step: preparing NMS

Since we need to access some internal methods (usually named NMS), we need to depend on specific packages. For Spigot, the artifacts containing NMS are available in a CodeMC repository so there is nothing to do. For Paper, we are using a plugin that takes care of it but it should be invoked before the first build.

In the main directory, run the following:

mvn -pl paper paper-nms:init

Finale step: building!

Now you can finally build the plugin! mvn clean install should do it. The JAR is generated under /target. You can now put it in the plugins folder of your server.

Clone this wiki locally