Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@e0ba395 Add missing plugin ticket comparator fixes #13130 PaperMC/Paper@21b4930 Fix diff in FlowingFluid#canPassThroughWall PaperMC/Paper@dcd7847 Improve server tick loop PaperMC/Paper@a4a7461 Rebase fixups PaperMC/Paper@dc66e8c Return Server#getTPS over minute intervals instead of seconds PaperMC/Paper@b63dc92 Restore currentTick counter increment as temp feature patch PaperMC/Paper@523efa4 Flatten currentTick incr into file patches PaperMC/Paper@4dcd837 Add CommandSourceStack to UnknownCommandEvent (#13083) PaperMC/Paper@ffd5158 Update 1.21.9 reobf mappings data (#13135) PaperMC/Paper@b4b1f11 [ci skip] Add docs for virtual createMerchant in MerchantInventoryViewBuilder#merchant (#13125) PaperMC/Paper@b3d2158 Disable javadoc.io links PaperMC/Paper@8483163 Yield millis from Bukkit#getAverageTickTime
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.