Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@6e598f8 Fix incorrect createPath overload arguments, fixes #12043 (#12794) PaperMC/Paper@f7d5a0a [ci skip] Add remote build cache configuration through Gradle properties (#12797) PaperMC/Paper@b4466ec Dialog API (#12671) PaperMC/Paper@a939945 Fixup sendAllDataToRemote calls PaperMC/Paper@cb47e01 Remove more dead code, fix pre-existing desync when cancelling and closing container PaperMC/Paper@4076453 Specify the class loader when loading services (#12829) PaperMC/Paper@1bf6364 Update Mache for horse decompile fix PaperMC/Paper@76fb506 Add vanilla error message to precondition for DialogBaseImpl (#12831) PaperMC/Paper@fcfc6c3 Expose HexColor argument type (#12833) PaperMC/Paper@4000fcc Fix typo in PluginBootstrap javadocs (#12821) PaperMC/Paper@25d358c [ci skip] javadoc: Fix grammatical error for getState (#12817) PaperMC/Paper@ba7c982 Add missing Range annotations to dialog types PaperMC/Paper@533d93c Don't consume anchor charge if loc changes (#12835) PaperMC/Paper@d9b5003 Dried Ghast events and Happy Ghast spawn reason (#12788) PaperMC/Paper@bda8406 [ci skip] fix typo in AttributeInstance (#12843) PaperMC/Paper@94d60e1 Copy thrown pearls list for removal (#12840) PaperMC/Paper@21fb542 Do not write fall_distance tag unless it already existed before PaperMC/Paper@04f9519 Fix spawners converted from 1.21.4 not running finalisation logic PaperMC/Paper@22d80a3 [ci skip] Update Gradle wrapper and Fill plugin (#12846) PaperMC/Paper@a6e0c08 Add getRotation to Location (#12799) PaperMC/Paper@e792779 Allow AreaEffectCloud#setColor to reset color for null (#12760)
Sakura
This is a fork of Paper to optimise cannoning and provide essential features for cannon testing and faction servers.
There are branches from the latest version to 1.18.2. If you are looking for a 1.8.8 server jar check out the project Sakura was based on Blossom.
There are compiled binaries on the releases page
Compiling
Requirements
- Git
- JDK 21
Getting setup
Clone the repository
To get started you will need to clone the repository
git clone https://github.com/Samsuik/Sakura
Navigate into the newly cloned repository
cd Sakura
If you're looking for an older version of minecraft, you will need to switch branches.
git checkout <branch name>
The branches targeting minecraft versions before 1.21.4 have legacy/ in front of their name.
You can skip this step if you're ok with the latest version.
Applying Patches
If you're using Windows the file path limit causes the
applyAllPatchestask to fail. This is because of the highly nested structure of this repository and the use of long file names. There is a registry setting that can be changed to raise this limit. https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation
All you have to do is run the applyAllPatches task.
./gradlew applyAllPatches
If everything was successful, you should see that two directories have been created sakura-api and sakura-server these contain all the source code.
If you want to switch branches after running applyAllPatches, you will need to run the cleanCache task.
./gradlew cleanCache
Building
The patches must be applied before building otherwise it will fail.
The createMojmapPaperclipJar task will create a mojang-mapped paperclip jar.
./gradlew createMojmapPaperclipJar
You can find the built paperclip jar under build/libs.
Contributing
If you would like to contribute please read the upstream Contributing Guideline.
It contains a lot of useful information on how the project is structured and how to use the build tools.