2020-10-05 06:05:11 +08:00
< div align = "center" >
2022-01-25 11:44:10 +08:00
< a href = "https://purpurmc.org" > < img src = "https://user-images.githubusercontent.com/74448585/150906023-101cd383-da82-4a3c-9603-a3b5741c3994.png" alt = "Purpur" > < / a >
2019-05-13 06:02:15 +08:00
2020-10-05 06:05:11 +08:00
## Purpur
2019-05-13 06:02:15 +08:00
2021-12-04 01:38:43 +08:00
[![MIT License ](https://img.shields.io/github/license/PurpurMC/Purpur?&logo=github )](LICENSE)
[![Github Actions Build ](https://img.shields.io/github/workflow/status/PurpurMC/purpur/Build?event=push&logo=github )](https://purpurmc.org/downloads/)
[![CodeFactor ](https://www.codefactor.io/repository/github/PurpurMC/purpur/badge )](https://www.codefactor.io/repository/github/PurpurMC/purpur)
[![Join us on Discord ](https://img.shields.io/discord/685683385313919172.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2 )](https://purpurmc.org/discord)
2020-10-05 06:05:11 +08:00
2021-12-04 01:38:43 +08:00
[![Purpur's Stargazers ](https://img.shields.io/github/stars/PurpurMC/Purpur?label=stars&logo=github )](https://github.com/PurpurMC/Purpur/stargazers)
[![Purpur Forks ](https://img.shields.io/github/forks/PurpurMC/Purpur?label=forks&logo=github )](https://github.com/PurpurMC/Purpur/network/members)
[![Purpur Watchers ](https://img.shields.io/github/watchers/PurpurMC/Purpur?label=watchers&logo=github )](https://github.com/PurpurMC/Purpur/watchers)
2020-10-05 06:05:11 +08:00
2021-12-04 01:41:31 +08:00
Purpur is a drop-in replacement for [Paper ](https://github.com/PaperMC/Paper ) servers designed for configurability, new fun and exciting gameplay features, and performance built on top of [Paper ](https://github.com/PaperMC/Paper/ ).
2020-10-05 06:05:11 +08:00
< / div >
2019-05-13 06:02:15 +08:00
## Contact
2020-10-05 06:05:11 +08:00
[![Join us on Discord ](https://img.shields.io/discord/685683385313919172.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2 )](https://discord.gg/mtAAnkk)
2020-08-15 16:20:15 +08:00
2020-10-05 06:05:11 +08:00
Join us on [Discord ](https://discord.gg/mtAAnkk )
2020-08-15 16:20:15 +08:00
## Downloads
2021-12-04 01:38:43 +08:00
[![Downloads ](https://img.shields.io/github/workflow/status/PurpurMC/purpur/Build?event=push&label=Downloads&logo=github )](https://purpurmc.org/downloads)
2020-08-15 16:20:15 +08:00
2021-12-04 01:38:43 +08:00
Downloads can be obtained from the [downloads page ](https://purpurmc.org/downloads/ ) or the [downloads API ](https://api.purpurmc.org ).
2020-12-02 08:20:20 +08:00
Downloads API endpoints:
2021-07-17 07:17:54 +08:00
* List versions of Minecraft with builds available:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur`
2021-07-17 07:17:54 +08:00
* List builds for a version of Minecraft:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>`
2021-07-17 07:17:54 +08:00
* Download a specific build of a specific version:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>/<build>/download`
2021-07-17 07:17:54 +08:00
* Download the latest build for a version of Minecraft:
2021-12-05 12:35:00 +08:00
`https://api.purpurmc.org/v2/purpur/<version>/latest/download`
2019-05-13 06:02:15 +08:00
## License
2021-12-04 01:38:43 +08:00
[![MIT License ](https://img.shields.io/github/license/PurpurMC/Purpur?&logo=github )](LICENSE)
2020-08-15 16:20:15 +08:00
2021-01-10 00:50:13 +08:00
All patches are licensed under the MIT license, unless otherwise noted in the patch headers.
2019-05-13 06:02:15 +08:00
2021-12-04 01:38:43 +08:00
See [PaperMC/Paper ](https://github.com/PaperMC/Paper ), and [PaperMC/Paperweight ](https://github.com/PaperMC/paperweight ) for the license of material used by this project.
2019-05-13 06:02:15 +08:00
2020-03-08 05:24:09 +08:00
## bStats
[![bStats Graph Data ](https://bstats.org/signatures/server-implementation/Purpur.svg )](https://bstats.org/plugin/server-implementation/Purpur)
2020-08-15 16:20:15 +08:00
## API
2020-03-07 12:20:30 +08:00
2021-12-04 01:38:43 +08:00
### [Javadoc](https://purpurmc.org/javadoc)
2021-01-08 16:38:51 +08:00
### Dependency Information
Maven
```xml
< repository >
< id > purpur< / id >
2021-12-05 20:20:49 +08:00
< url > https://repo.purpurmc.org/snapshots< / url >
2021-01-08 16:38:51 +08:00
< / repository >
```
2020-12-01 19:59:45 +08:00
```xml
2020-03-07 12:20:30 +08:00
< dependency >
2021-12-04 01:38:43 +08:00
< groupId > org.purpurmc.purpur< / groupId >
2020-03-07 12:20:30 +08:00
< artifactId > purpur-api< / artifactId >
2021-12-27 02:04:44 +08:00
< version > 1.18.1-R0.1-SNAPSHOT< / version >
2020-03-07 12:20:30 +08:00
< scope > provided< / scope >
< / dependency >
```
2020-11-12 08:15:26 +08:00
2021-01-08 16:38:51 +08:00
Gradle
2020-12-18 21:04:33 +08:00
```kotlin
repositories {
2021-12-05 20:20:49 +08:00
maven("https://repo.purpurmc.org/snapshots")
2020-11-12 08:15:26 +08:00
}
```
2020-12-18 21:04:33 +08:00
```kotlin
dependencies {
2021-12-27 02:04:44 +08:00
compileOnly("org.purpurmc.purpur", "purpur-api", "1.18.1-R0.1-SNAPSHOT")
2020-12-18 21:04:33 +08:00
}
2020-11-12 08:15:26 +08:00
```
2020-03-07 12:20:30 +08:00
Yes, this also includes all API provided by Paper, Spigot, and Bukkit.
2019-05-13 06:02:15 +08:00
## Building and setting up
2020-08-15 16:20:15 +08:00
#### Initial setup
2019-05-13 06:02:15 +08:00
Run the following commands in the root directory:
```
2020-12-18 21:04:33 +08:00
./gradlew applyPatches
2019-05-13 06:02:15 +08:00
```
2020-03-07 12:20:30 +08:00
2019-05-13 06:02:15 +08:00
#### Creating a patch
Patches are effectively just commits in either `Purpur-API` or `Purpur-Server` .
2020-12-18 21:04:33 +08:00
To create one, just add a commit to either repo and run `./gradlew rebuildPatches` , and a
2019-05-13 06:02:15 +08:00
patch will be placed in the patches folder. Modifying commits will also modify its
corresponding patch file.
2020-08-15 16:20:15 +08:00
See [CONTRIBUTING.md ](CONTRIBUTING.md ) for more detailed information.
2019-05-13 06:02:15 +08:00
2020-08-15 16:20:15 +08:00
#### Compiling
2019-05-13 06:02:15 +08:00
2021-08-12 08:31:31 +08:00
Use the command `./gradlew build` to build the API and server. Compiled JARs
2020-12-18 21:04:33 +08:00
will be placed under `Purpur-API/build/libs` and `Purpur-Server/build/libs` .
2020-03-07 12:20:30 +08:00
2021-12-04 01:38:43 +08:00
To get a purpurclip jar, run `./gradlew createReobfPaperclipJar` .
2021-08-12 08:31:31 +08:00
To install the `purpur-api` and `purpur` dependencies to your local Maven repo, run `./gradlew publishToMavenLocal`
2021-06-18 07:44:32 +08:00
Special Thanks To:
-------------
![YourKit-Logo ](https://www.yourkit.com/images/yklogo.png )
2021-08-12 08:31:31 +08:00
[YourKit ](https://www.yourkit.com/ ), makers of the outstanding Java profiler,
2021-06-18 07:44:32 +08:00
support open source projects of all kinds with their full featured [Java ](https://www.yourkit.com/java/profiler )
and [.NET ](https://www.yourkit.com/.net/profiler ) application profilers. We thank them for allowing us to use their
software so we can make Purpur the best it can be.