granny b6d73e8ce6 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@e3aca921 Replace ConcurrentUtil's Validate with Objects
PaperMC/Paper@9a626dd7 Rewrite ticket counter system
PaperMC/Paper@65250cbe Drop "Optimize Collision to not load chunks"
PaperMC/Paper@55d56d91 Apply "Flush regionfiles on save configuration option"
PaperMC/Paper@920e8d35 Apply "Optimise collision checking in player move packet handling"
PaperMC/Paper@ec492d3f Apply "Improve keepalive ping system"
PaperMC/Paper@8f659478 Apply "Optimise EntityScheduler ticking"
PaperMC/Paper@086b4fd4 Apply "Optional per player mob spawns"
PaperMC/Paper@2f4211ed Apply "Improve cancelling PreCreatureSpawnEvent with per player mob spawns"
PaperMC/Paper@b6d95574 Apply "Optimize Hoppers"
PaperMC/Paper@388e6936 update generator
PaperMC/Paper@a3c89a8f add javadocs for new api
PaperMC/Paper@fcc763ad Call BlockRedstoneEvent for the shelf
PaperMC/Paper@03eb18bb replace requireNonNull by checkArgument and deprecate MCUtil#toLocation
PaperMC/Paper@6b7bf014 bump built-in datapack version
PaperMC/Paper@2779a538 deprecate #lanterns material tag in favour of vanilla tag
PaperMC/Paper@6f9957e8 Mannequin#createDefaultProfile -> Mannequin#defaultProfile
PaperMC/Paper@24874e53 Also rename Mannequin profile getter/setters for consistency
PaperMC/Paper@bc2ae107 Fix default respawn dimension being null for new worlds
PaperMC/Paper@eb421583 Use 0.0.4 release of ConcurrentUtil
PaperMC/Paper@bb017458 1.21.9-pre2
PaperMC/Paper@02492043 1.21.9-pre2 feature patches
PaperMC/Paper@9360ba42 Identifying comments for MinecraftServer
PaperMC/Paper@5d3aa537 Some diff improvements in prepare spawn task
PaperMC/Paper@22ad4519 Move some stuff to ATs
PaperMC/Paper@0ea15c97 Drop no longer applicable ATs
PaperMC/Paper@cf78f2a2 bump api-version/datapack format and add a copper torch tag
PaperMC/Paper@60cb0dfc generate ClientOption enums and mark CraftBlockData impl as null marked
PaperMC/Paper@40252892 Add pre2 to api version
PaperMC/Paper@f2cb073a Set build channel to alpha
PaperMC/Paper@90b29c4c Port most of the anti-xray patch
PaperMC/Paper@4a8e88dc Disable oldPaperCommit to fix CI build
PaperMC/Paper@121ac2eb Port the last Anti-XRay hunk
PaperMC/Paper@f43641f8 Use ConcurrentUtil 0.0.5
PaperMC/Paper@1f79388d fix end portal teleportation
PaperMC/Paper@2efb400a [ci/skip] Adjust spawn location event docs
PaperMC/Paper@cb9fc05d simplify overloads
PaperMC/Paper@25ecc590 Enable Anti-Xray
PaperMC/Paper@4d7185f6 Add AsyncPlayerSpawnLocationEvent#isNewPlayer (#13081)
PaperMC/Paper@dc474a89 Fixup vanilla code for Anti-Xray changes
PaperMC/Paper@0e23b024 Add back null check for chunkPacketBlockController
2025-09-21 19:45:04 -07:00
2025-07-17 20:21:06 -07:00
2025-07-30 21:58:16 -07:00
2025-07-17 20:21:06 -07:00
2025-09-21 19:45:04 -07:00
2025-09-21 19:45:04 -07:00
2025-02-01 21:18:01 -08:00
2023-08-22 18:41:13 -07:00
2025-04-14 16:25:44 -07:00
2025-07-17 20:21:06 -07:00
2025-09-21 19:45:04 -07:00
2025-05-22 18:34:47 -07:00
2025-05-22 18:34:47 -07:00
2024-05-02 19:56:38 -07:00
2025-07-17 20:21:06 -07:00
2025-01-17 08:14:03 +00:00

Purpur

Purpur

MIT License Build Status CodeFactor Grade Join us on Discord

Stargazers Forks Watchers

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:

Join us on Discord

Downloads

Downloads can be obtained from the downloads page or the downloads API.

Build Status

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.

MIT License

See PaperMC/Paper, and PaperMC/Paperweight for the license of material used by this project.

bStats

bStats Graph Data

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.21.8-R0.1-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Gradle

repositories {
    maven("https://repo.purpurmc.org/snapshots")
}
dependencies {
    compileOnly("org.purpurmc.purpur:purpur-api:1.21.8-R0.1-SNAPSHOT")
}

Yes, this also includes all API provided by Paper, Spigot, and Bukkit.

Building and setting up

Initial setup

First, clone this repository. Do not download it.

Then run the following command in the root directory:

./gradlew applyAllPatches

The project is now ready for use in your IDE.

Creating a patch

See CONTRIBUTING.md.

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. These JARs are not used to start a server.

To compile a server-ready purpurclip jar, run ./gradlew createMojmapBundlerJar. To install the purpur-api and purpur dependencies to your local Maven repo, run ./gradlew publishToMavenLocal. The compiled purpurclip jar will be in purpur-server/build/libs.

Special Thanks To:

YourKit

YourKit-Logo

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.

JetBrains

JetBrains Logo

JetBrains, creators of the IntelliJ IDEA, supports Purpur with one of their Open Source Licenses. IntelliJ IDEA is the recommended IDE for working with Purpur, and most of the Purpur team uses it.

Our Contributors

Contributors

Our Sponsors

GitHub Sponsors

Our Backers

Sponsors

Description
Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.
Readme MIT 46 MiB
Languages
Java 99%
Shell 1%