Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@5e2a3bc Call EntityChangeBlockEvent with correct block when waxing (#12154) PaperMC/Paper@ab984a0 Always pass event block to damage source (#12158) PaperMC/Paper@7b4d44f Revert "Always pass event block to damage source (#12158)" PaperMC/Paper@e5a8ee8 Hide soul speed particles for vanished players (#12152) PaperMC/Paper@fcb2e81 Clear lastSection on game event listener removal PaperMC/Paper@636ae0c Add missing Paper comments to player movement patch PaperMC/Paper@9be4e07 Pin snapshot dependencies (#12185) PaperMC/Paper@f12d33f Track codec writing PaperMC/Paper@1d9b399 Add config option for failed beehive release cooldowns (#12186) PaperMC/Paper@5f2ee83 Fix first execution of async delayed/repeating tasks being sync (#12166) PaperMC/Paper@b00875f Add a method on Registry to get the size (#12182) PaperMC/Paper@ca26109 Don't process empty rcon commands (#12188) PaperMC/Paper@a501c45 Deprecate server config getters (#12189) PaperMC/Paper@7f3d359 Use MiniMessage#deserialize(String, Pointered) in sendRichMessage for send messages (#12177) PaperMC/Paper@9b9f046 Remove broken code (#12171) PaperMC/Paper@fc56c72 Add methods for Creaking (#12094) PaperMC/Paper@f63dbea Fix cancelled HangingPlaceEvent inventory desync (#12161) PaperMC/Paper@9421f22 Make CustomArgumentType use parse(reader,source) (#12191) PaperMC/Paper@0a6e743 Fix invulnerability damage and armour (#12190) PaperMC/Paper@b506626 Remove unused light queue size option (#12201) PaperMC/Paper@1d5e5a5 Document replacement for Skull owner profile methods (#12195) PaperMC/Paper@8de7e35 Add null check to level ref in Entity constructor (#12218) PaperMC/Paper@a866e36 Fix MenuType.SMITHING JavaDocs (#12226) PaperMC/Paper@5538d24 Fix "DEFAULT" SpawnReason of fish spawned by bucket (#12227)
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.19.3. 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
applyPatchestask 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 applyPatches task.
./gradlew applyPatches
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 applyPatches, you will need to run the cleanCache task.
./gradlew cleanCache
Building
The patches must be applied before building otherwise it will fail.
The task used for building is different on older versions, make sure that you use the correct command.
After 1.20.6
./gradlew createMojmapPaperclipJar
Before 1.20.6
./gradlew createReobfPaperclipJar
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.