Viewing All Tasks
To see a complete list of available tasks with descriptions:Core Build Tasks
These tasks are essential for compiling Paper from source.applyPatches
Applies Paper’s patches to the Minecraft source code.You must run this task before you can build Paper or make code changes. This task creates the
paper-server/src/minecraft directory with Paper’s modified Minecraft source.rebuildPatches
Rebuilds Paper’s patch files from your current changes in the source directory.paper-server/src/minecraft or paper-api to convert your commits into patch files.
fixupSourcePatches
Automatically fixes up per-file patches when you make changes to Minecraft source files.paper-server/src/minecraft, run this task followed by rebuildPatches.
Server Build Tasks
These tasks create runnable server JAR files in different formats.createMojmapBundlerJar
Creates a Mojang-mapped bundler JAR file (recommended for development).Output:
paper-server/build/libs/paper-bundler-<version>-mojmap.jarThis is the primary build task mentioned in Paper’s README.createReobfBundlerJar
Creates a reobfuscated bundler JAR file (for production).paper-server/build/libs/paper-bundler-<version>-reobf.jar
createMojmapPaperclipJar
Creates a Mojang-mapped Paperclip JAR file.paper-server/build/libs/paper-paperclip-<version>-mojmap.jar
createReobfPaperclipJar
Creates a reobfuscated Paperclip JAR file.paper-server/build/libs/paper-paperclip-<version>-reobf.jar
jar
Creates the basic server JAR without bundling.paper-server/build/libs/paper-server-<version>.jar
reobfJar
Creates a reobfuscated server JAR.Testing Tasks
test
Runs Paper’s test suite.The test configuration automatically:
- Runs tests in a temporary working directory
- Uses JUnit Platform with tag filtering (excludes “Slow” tests)
- Forks for each test class
- Includes Mockito agent for Java 21+ compatibility
check
Runs all verification tasks including tests and code scanning.- Running the test suite
- Scanning the JAR for bad API calls (
@DoNotUseannotations)
Development Server Tasks
These tasks let you quickly spin up a test server without manually running JAR files.runDevServer
Runs a development server directly from compiled classes (fastest for testing changes).runServer
Runs a test server from the Mojang-mapped JAR.runReobfServer
Runs a test server from the reobfuscated JAR.runBundler
Runs a test server from the Mojang-mapped bundler JAR.runReobfBundler
Runs a test server from the reobfuscated bundler JAR.runPaperclip
Runs a test server from the Mojang-mapped Paperclip JAR.runReobfPaperclip
Runs a test server from the reobfuscated Paperclip JAR.All run tasks:
- Use the directory specified by
paper.runWorkDirproperty (defaults torun/) - Add the test plugin automatically if enabled
- Start with
--noguiflag - Allocate memory based on
paper.runMemoryGbproperty (default: 2GB) - Support enhanced class redefinition for hot-swapping
Publishing Tasks
publishToMavenLocal
Publishes Paper API and Server to your local Maven repository.generateDevelopmentBundle
Generates a development bundle for plugin development.Utility Tasks
printMinecraftVersion
Prints the Minecraft version Paper is built for.printPaperVersion
Prints the current Paper version.clean
Removes all build outputs.Task Configuration
You can customize task behavior using Gradle properties ingradle.properties:
| Property | Default | Description |
|---|---|---|
paper.runWorkDir | run | Directory for test server files |
paper.runMemoryGb | 2 | Memory allocation for run tasks (GB) |
paper.runDisableWatchdog | false | Disable server watchdog |
mcVersion | (set in project) | Minecraft version to build |
Common Task Chains
Full Clean Build
Development Workflow
Testing Plugin Compatibility
Next Steps
- Set up your development environment
- Build Paper from source
- Read CONTRIBUTING.md for patch development guidelines