Skip to main content

Features

Paper provides an extensive set of features, APIs, and optimizations that make it the most popular high-performance Minecraft server implementation.

Plugin API

Paper extends the Bukkit and Spigot APIs with hundreds of additional features for plugin developers.

Event System

Paper adds numerous events beyond what Bukkit and Spigot provide, giving you fine-grained control over server behavior.

Available Event Categories

Block Events

AnvilDamagedEvent, BeaconEffectEvent, BlockDestroyEvent, TNTPrimeEvent, and more

Entity Events

CreeperIgniteEvent, EnderDragonFireballHitEvent, EndermanAttackPlayerEvent, and more

Player Events

Player connection, chat, command, inventory, and interaction events

World Events

World generation, chunk loading, and environment events
Example Event Handler:

Adventure Text Components

Paper uses the Adventure library for modern, component-based text formatting and chat.
Adventure provides MiniMessage for easy string-based text formatting with tags like <red>, <bold>, and <click>.

Entity AI Customization

Paper provides APIs to customize entity AI goals and behaviors.

Registry and Data-Driven Content

Paper provides comprehensive access to Minecraft’s registry system for biomes, items, enchantments, and more. Available Registry Keys:
  • AttributeKeys - Entity attributes
  • BiomeKeys - World biomes
  • BlockTypeKeys - Block types
  • EnchantmentKeys - Enchantments
  • ItemTypeKeys - Item types
  • DamageTypeKeys - Damage sources
  • GameEventKeys - Sculk sensor events
  • And many more…

Data Components

Paper provides full access to Minecraft’s data component system for items.
Data components replace the legacy NBT system and provide type-safe access to item properties.

Configuration System

Paper features a powerful configuration system with both global and per-world settings.

Global Configuration

Settings that apply across all worlds are stored in paper-global.yml:

World-Specific Configuration

Each world can have custom settings in paper-world.yml:
Configuration Categories:
  • Entities - Spawn limits, behavior, performance
  • Chunks - Loading, generation, caching
  • Spawning - Mob spawn rules and rates
  • Collisions - Entity collision settings
  • Misc - Various gameplay mechanics

Performance Optimizations

Paper includes hundreds of performance improvements over vanilla Minecraft.

Chunk Loading Optimizations

Async Chunk Loading

Chunks load asynchronously to prevent server lag

Chunk Generation Cache

Caches world generation data for faster terrain generation

Incremental Saving

Spreads chunk saves across ticks to prevent lag spikes

Smart Unloading

Intelligently unloads unused chunks to save memory

Entity Optimizations

  • Activation Range - Entities outside player range update less frequently
  • Smart Pathfinding - Optimized pathfinding algorithms
  • Entity Tracking - Improved entity visibility calculations
  • Spawn Limits - Configurable per-world mob caps

Redstone Optimizations

  • Fast Redstone Wire - Significantly faster redstone wire updates
  • Optimized Hoppers - Improved hopper transfer logic
  • Piston Optimization - Faster piston extension and retraction
Many optimizations can be fine-tuned in paper-world.yml to balance performance with gameplay accuracy.

Patch System

Paper uses a sophisticated patch system to modify Minecraft source code.

Patch Types

1

Per-File Patches (sources)

Small, focused changes to individual Minecraft classes for bug fixes and minor features
2

Resource Patches

Modifications to Minecraft data files like loot tables and recipes
3

Feature Patches

Larger, self-contained features that modify multiple files and can be optionally dropped during updates
Benefits of the Patch System:
  • Maintainability - Easy to update across Minecraft versions
  • Transparency - Every change is documented and reviewable
  • Modularity - Features can be isolated and tested independently

Developer Tools

Test Plugin Module

Paper includes a built-in test plugin module for rapid API development:

Maven Local Publishing

Publish Paper API to your local Maven repository for plugin development:

Gradle Tasks

Advanced Features

Brigadier Command System

Paper exposes Minecraft’s Brigadier command system for advanced command creation:
  • AsyncPlayerSendCommandsEvent - Customize command suggestions
  • AsyncPlayerSendSuggestionsEvent - Modify tab completion
  • CommandRegisteredEvent - React to command registration

Threaded Regions (Folia)

Paper supports regionized multithreading through the Folia project for massive performance gains on large servers.

Timings and Profiling

Built-in performance profiling tools:
Use /timings to generate detailed performance reports showing where server time is being spent.

Security Features

  • Secure Command Execution - Protection against command injection
  • Player Connection Security - Packet validation and rate limiting
  • Ban System - Enhanced player and IP ban management
  • Permission Checks - Comprehensive permission validation

Next Steps

Compare Paper

See how Paper compares to vanilla and other server software

API Documentation

Explore the complete Paper API reference