Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@855637f Updated Upstream (CraftBukkit) (#7624) PaperMC/Paper@5eb61dd Buffer OOB setBlock calls PaperMC/Paper@7b46444 Properly create profiles with custom name/uuid (#7558) PaperMC/Paper@a686ff5 Add more missing entity API (#7592) PaperMC/Paper@993f828 Add TameableDeathMessageEvent (#5392) PaperMC/Paper@a939d6e Fix generator settings string for flat-type worlds (#7568) PaperMC/Paper@ab666a4 Deprecating remaining blockkey methods (#7638) PaperMC/Paper@e7d928a Fix EntityChangeBlockEvent#getBlockData for when sheep eats grass block (#7646) Pufferfish Changes: pufferfish-gg/Pufferfish@79b9d86 Updated Upstream (Paper) pufferfish-gg/Pufferfish@a9bdca9 Updated Upstream (Paper) pufferfish-gg/Pufferfish@9b5f954 Update Simple YAML pufferfish-gg/Pufferfish@b48e951 Updated Upstream (Paper) pufferfish-gg/Pufferfish@2499975 Updated Upstream (Paper) pufferfish-gg/Pufferfish@6f42f6f Update readme and use LF because we're not savages
Purpur
Purpur is a drop-in replacement for Paper servers designed for configurability, new fun and exciting gameplay features, and performance built on top of Paper.
Contact
Join us on Discord
Downloads
Downloads can be obtained from the downloads page or the downloads API.
Downloads API endpoints:
- List versions of Minecraft with builds available:
https://api.purpurmc.org/v2/purpur - List builds for a version of Minecraft:
https://api.purpurmc.org/v2/purpur/<version> - Download a specific build of a specific version:
https://api.purpurmc.org/v2/purpur/<version>/<build>/download - Download the latest build for a version of Minecraft:
https://api.purpurmc.org/v2/purpur/<version>/latest/download
License
All patches are licensed under the MIT license, unless otherwise noted in the patch headers.
See PaperMC/Paper, and PaperMC/Paperweight for the license of material used by this project.
bStats
API
Javadoc
Dependency Information
Maven
<repository>
<id>purpur</id>
<url>https://repo.purpurmc.org/snapshots</url>
</repository>
<dependency>
<groupId>org.purpurmc.purpur</groupId>
<artifactId>purpur-api</artifactId>
<version>1.18.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Gradle
repositories {
maven("https://repo.purpurmc.org/snapshots")
}
dependencies {
compileOnly("org.purpurmc.purpur", "purpur-api", "1.18.2-R0.1-SNAPSHOT")
}
Yes, this also includes all API provided by Paper, Spigot, and Bukkit.
Building and setting up
Initial setup
Run the following commands in the root directory:
./gradlew applyPatches
Creating a patch
Patches are effectively just commits in either Purpur-API or Purpur-Server.
To create one, just add a commit to either repo and run ./gradlew rebuildPatches, and a
patch will be placed in the patches folder. Modifying commits will also modify its
corresponding patch file.
See CONTRIBUTING.md for more detailed information.
Compiling
Use the command ./gradlew build to build the API and server. Compiled JARs
will be placed under Purpur-API/build/libs and Purpur-Server/build/libs.
To get a purpurclip jar, run ./gradlew createReobfPaperclipJar.
To install the purpur-api and purpur dependencies to your local Maven repo, run ./gradlew publishToMavenLocal
Special Thanks To:
YourKit, makers of the outstanding Java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for allowing us to use their software so we can make Purpur the best it can be.
