Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@c1b4899 Fix dupe uuid check on entity add (#6735) PaperMC/Paper@3f043f7 Async catch modifications to critical entity state PaperMC/Paper@bc43f40 Update jline and TCA (#6829) PaperMC/Paper@d9e2817 Update paperweight to 1.1.13 (#6866) PaperMC/Paper@3e310e0 Remove redundant and unneeded repos, reorder repos (#6867) PaperMC/Paper@485d15f Update paperweight to 1.1.14 (#6868) PaperMC/Paper@09d50a9 Added missing mappings (#6810) PaperMC/Paper@0968cdd Move async catches back to where they were (#6869) PaperMC/Paper@6f71b7c Deduplicate strings in ObfHelper (#6841) PaperMC/Paper@ada930b Updated Upstream (Bukkit/CraftBukkit) (#6872) PaperMC/Paper@06d82e0 Cache palette array (#6767) PaperMC/Paper@70fe58d Expose the potential player cause of a lightning (#6782) PaperMC/Paper@c20c9d3 Fix CraftNamespacedKey shenanigans (#6825) PaperMC/Paper@29bb5a9 Add PlayerDeathEvent#getPlayer for clarity (#6859) PaperMC/Paper@124d079 Fix issues with mob conversion (#6831) PaperMC/Paper@22b0238 Add API for checking if a zombie has the option to break doors (#6855) PaperMC/Paper@5af80b0 Add isCollidable methods to various places (#6870) PaperMC/Paper@32ba088 Fix setPatternColor on tropical fish bucket meta (#6877) PaperMC/Paper@87121ce Move `getTrackedPlayers` up from Player to Entity (#6569) PaperMC/Paper@a923e33 Make despawn distance configs per-category, improve per category spawn limit config (#6717) PaperMC/Paper@3f17694 Goat ram API (#6336) PaperMC/Paper@cc2ecbc Add Raw Byte Entity Serialization (#6826) Airplane Changes: TECHNOVE/Airplane@e47949b Ty Penple <3 TECHNOVE/Airplane@86fee6b Update upstream
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 Airplane.
Contact
Join us on Discord
Downloads
Downloads can be obtained from the downloads page, the downloads API, or alternatively from Pl3x's Jenkins CI Server.
Latest build shortcut links:
- 1.17.1 builds 1256+
- 1.17 builds 1172-1255
- 1.16.5 builds 957-1171
- 1.16.4 builds 809-956
- 1.16.3 builds 751-808
- 1.16.2 builds 711-750
- 1.16.1 builds 608-710
- 1.15.2 builds 398-606
- 1.15.1 builds 348-397
- 1.15 builds 339-346
- 1.14.x builds 337 and below
Downloads API endpoints:
- List versions of Minecraft with builds available:
https://api.pl3x.net/v2/purpur - List builds for a version of Minecraft:
https://api.pl3x.net/v2/purpur/<version> - Download a specific build of a specific version:
https://api.pl3x.net/v2/purpur/<version>/<build>/download - Download the latest build for a version of Minecraft:
https://api.pl3x.net/v2/purpur/<version>/latest/download
License
All patches are licensed under the MIT license, unless otherwise noted in the patch headers.
See PaperMC/Paper, TECHNOVE/Airplane, 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.pl3x.net/</url>
</repository>
<dependency>
<groupId>net.pl3x.purpur</groupId>
<artifactId>purpur-api</artifactId>
<version>1.17.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Gradle
repositories {
maven("https://repo.pl3x.net/")
}
dependencies {
compileOnly("net.pl3x.purpur", "purpur-api", "1.17.1-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 paperclip.
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.
