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

Paper Changes:
PaperMC/Paper@04a97aac more renames
PaperMC/Paper@bc310d25 fix wrong absorb
PaperMC/Paper@546acb55 fix debug pathfinding flag
PaperMC/Paper@dfa3e44f Reorganize level storage layout to closer mirror 26.1 vanilla with CB per-level 'world container' behavior.
PaperMC/Paper@b50fa5ca Call BlockDispenseEvent for SpawnEggItem
PaperMC/Paper@15af4554 Cleanup final CombatTracker diff
PaperMC/Paper@439972cd Readd BlockGrowEvent for cactus flower
PaperMC/Paper@57e26551 Correctly replace setBlock in TripWireHookBlock
PaperMC/Paper@c20b0909 Skip villager treasure map trade if disabled
PaperMC/Paper@fd22888e Get MapData from server data storage
PaperMC/Paper@17e063ac cleanup block data
PaperMC/Paper@c7003253 [ci/skip] revert command size limit to vanilla for test server
PaperMC/Paper@3ed80980 Adjust tick loop logic
PaperMC/Paper@af7555e5 Fix block entity ticking list (#13724)
PaperMC/Paper@062aadc6 remove type id from note block instruments
PaperMC/Paper@6a08bca0 finish TagKey -> HolderSet migration
PaperMC/Paper@fe91bd9e fix SO error for breeze target
PaperMC/Paper@a12cd1a5 update crystal proximity checks for new range
PaperMC/Paper@a44c689a Reduce diff in VineBlock.java
PaperMC/Paper@b3fabd13 Correctly move FarmlandBlock#fallOn super call
PaperMC/Paper@4932672f Simplify diff in AbstractPiglin
PaperMC/Paper@71497253 Readd dropped StemBlock BlockGrowEvent hunk
PaperMC/Paper@0110d9fe Simplify diff in DoublePlantBlock
PaperMC/Paper@5b507f54 Readd dropped isInWorldBounds "inline"
PaperMC/Paper@63078f4b Simplify diff in ConduitBlockEntity
PaperMC/Paper@fd98513c fix provides_banner_patterns component type
PaperMC/Paper@6a154f13 fix some client desync
PaperMC/Paper@d6b3a3f3 missed one case
PaperMC/Paper@d957fb49 Call WorldGameRuleChangeEvent for World Options Menu (#13720)
PaperMC/Paper@03853ba2 Skip transient components in dumpitem command (#13689)
2026-03-28 16:39:36 -07:00
2026-03-28 16:39:36 -07:00
2026-03-24 01:25:42 -07:00
2026-03-07 15:03:16 -08:00
2026-03-28 16:39:36 -07:00
2026-03-28 16:39:36 -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
2026-03-07 15:09:15 -08:00
2025-11-13 13:21:04 -08:00
2026-03-28 16:39:36 -07:00
2026-03-07 15:03:16 -08:00
2025-09-29 20:32:27 -07:00
2024-05-02 19:56:38 -07:00
2025-12-14 15:49:05 -08: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.11-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.11-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 41 MiB
Languages
Java 99%
Shell 1%