MULTIFICATION / GUIDE

Platform Comparison

Differences between Paper and Bukkit modules

Edit on GitHub

Quick Comparison#

FeaturePaperBukkit
Java218+
Minecraft1.19.4+1.13+
AdventureNativeAdapter required
DependenciesNoneadventure-platform-bukkit
PerformanceDirect castAdapter overhead

Architecture#

// CommandSender IS Audience - direct cast, zero overhead
public class PaperAudienceConverter implements AudienceConverter<CommandSender> {
    @Override
    public Audience convert(CommandSender viewer) {
        return viewer; // Direct!
    }
}

// Locale from player.locale()
public class PaperLocaleProvider implements LocaleProvider<CommandSender> {
    @Override
    public Locale provide(CommandSender viewer) {
        return viewer instanceof Player p ? p.locale() : Locale.ROOT;
    }
}

When to Use#

Use Paper WhenUse Bukkit When
Running Paper 1.19.4+Running Bukkit/Spigot
Can use Java 21Need Java 8 compatibility
Want zero dependenciesSupporting older versions
Want best performanceCan't upgrade to Paper

Common Issues#