DisplayAPI v1.0.0
DisplayAPI v1.0.0
Lightweight Display Entity API for Paper 1.21.4+
Features
Builders (Fluent API)
- TextDisplayBuilder — Text holograms with background, shadow, alignment
- BlockDisplayBuilder — Block displays with any material
- ItemDisplayBuilder — Item displays with transforms
- PopupBuilder — Animated floating text (damage popups, notifications)
- InteractiveBuilder — Clickable displays (left/right click detection)
Animation Engine
- Keyframe-based animation system
- 12 easing functions (linear, ease-in/out, cubic, bounce, elastic, etc.)
- Preset animations: pulse, spin, bounce, floating, fadeIn/Out, shake
- Loop support
Display Systems
- DisplayGroup — Group multiple displays for batch operations
- FollowDisplay — Displays that follow entities smoothly
- Leaderboard — Auto-updating ranked display
Core
- Per-player visibility (show/hide per player)
- YAML persistence (survive server restarts)
- Billboard, glow, scale, translation, brightness
- Admin commands (/dapi)
- PlaceholderAPI soft-dependency
- Zero external dependencies
Requirements
- Paper 1.21.4+
- Java 21+
Quick Start
// Text hologram
DisplayAPI.text(location)
.text(Component.text("Hello!").color(NamedTextColor.GOLD))
.billboard(Billboard.CENTER)
.spawn();
// Animated popup
DisplayAPI.popup(location)
.text(Component.text("-25").color(NamedTextColor.RED))
.duration(30)
.spawn();
// Clickable display
DisplayAPI.interactive(location)
.text(Component.text("Click me!"))
.onClick(player -> player.sendMessage("Clicked!"))
.spawn();
// Animation
DisplayAPI.animate(display).spin(AnimationBuilder.Axis.Y, 40).loop(true).play();