multification
2 min read
Platform Comparison
Differences between Paper and Bukkit modules
Differences between Paper and Bukkit modules
| Feature | Paper | Bukkit |
|---|---|---|
| Java | 21 | 8+ |
| Minecraft | 1.19.4+ | 1.13+ |
| Adventure | Native | Adapter required |
| Dependencies | None | adventure-platform-bukkit |
| Performance | Direct cast | Adapter overhead |
// 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;
}
}
| Use Paper When | Use Bukkit When |
|---|---|
| Running Paper 1.19.4+ | Running Bukkit/Spigot |
| Can use Java 21 | Need Java 8 compatibility |
| Want zero dependencies | Supporting older versions |
| Want best performance | Can't upgrade to Paper |
Using Bukkit module on Paper? Switch to multification-paper.
Adventure version conflict? Relocate net.kyori in shadow jar.
Forgot to close AudienceProvider? Call audienceProvider.close() in onDisable().