Skip to main content

Paper API

Paper extends the Bukkit API with numerous enhancements, optimizations, and new features. This page covers Paper-specific APIs in the io.papermc.paper and com.destroystokyo.paper packages.

Configuration API

Global Configuration

World Configuration

Registry API

Paper provides type-safe access to Minecraft registries:

Registry Keys

Paper provides constants for registry keys:

Entity API

Entity AI

Customize mob AI behavior:

Entity Tracking

Datapack API

Manage datapacks at runtime:

Chunk System

Chunk Scheduling

Player API

Player Connection

Player Locale

View Distance

Command API

Brigadier Integration

Paper exposes Brigadier for command handling:

Adventure API Integration

Paper fully integrates the Adventure API for modern text components. See Adventure API for details.

Timings

Paper provides advanced timing/profiling:
Timings is being replaced by the Spark profiler in newer versions.

Profile API

Player profile management:

Ban API

Enhanced ban management:

Async Chunk API

Load chunks asynchronously:

Paper Events

Paper provides many additional events. See the Events API page for details.

Thread Safety

Most Paper API methods are not thread-safe and must be called from the main server thread. Use Bukkit.getScheduler().runTask() to switch to the main thread from async contexts.

Javadocs

Complete Paper API documentation: papermc.io/javadocs

Next Steps

Events

Paper event system reference

Entities

Entity API and customization

World API

World manipulation

Registry

Registry access