BetterPearls
Anti-Glitch Ender Pearls. Full Control. Zero Exploits.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Anti-Glitch Engine ◆ Cross-Pearl System ◆ WorldGuard + PAPI ◆ 6 Languages ◆ Paper 1.21
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What BetterPearls Solves
Vanilla ender pearls do not check whether the destination is inside a solid block. That single omission is the root of every pearl glitch your players are using right now. Wall-clipping, ceiling-warping, door-phase, stasis-chamber exploits, cannon-boosted bypass, and a dozen other techniques that require zero client modifications.
BetterPearls replaces that missing infrastructure with a production-grade ender pearl management system. Every teleport is validated against the actual collision geometry. Every exploit path is closed. Every mechanic is configurable, per-world overridable, and hot-reloadable - all from a single YAML file.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Core Systems
Core Systems
◆ Anti-Glitch Engine
- Full BoundingBox collision check at the teleport destination - rejects any overlap with solid geometry
- Ceiling exploit raycast traces the full flight path from eye level, not just the impact point
- Small-hitbox fallback catches carpet, pressure plates, tripwire hooks, and similar thin blocks
- Stasis chamber detection removes pearls that haven't moved for N consecutive ticks
◆ Pearl Behavior Control
- Configurable self-damage and entity-damage independently, with post-teleport immunity ticks
- Permission-based cooldown tiers - each player gets the lowest value they qualify for
- Horizontal and vertical distance limits, each with an independent bypass permission
- Endermite spawning fully disabled or set to a configurable percentage chance
◆ Cross-Pearl System
- Pearls landing on slabs, stairs, chests, fences, and other partial blocks teleport through to the far side
- Configurable block lists for crit-blocks, diagonal-blocks, cross-pearl-blocks, and pass-through blocks
- Safe landing detection with optional refund when no destination is found
◆ Anti-Cannon System
- Cancels pearls whose launch velocity exceeds a configurable threshold
- Normal player throw: ~1.5 blocks/tick. Cannon-boosted: 10+ blocks/tick. Set the line anywhere.
- Optional refund keeps the pearl in inventory when blocked
◆ Liquid & Safety Handling
- Cancel teleport when pearl lands in water and/or lava - configured independently
- Cross-world teleport prevention and world border enforcement
- Pearl refund on any safety cancel - returns the item to inventory
- Max lifetime hard cap (default 600 ticks) acts as a universal safety net
◆ HUD & Feedback
- Animated BossBar cooldown with configurable color and style - counts down in real time
- Action bar cooldown display as an alternative - customizable format with {time} placeholder
- Configurable particle burst at destination (any Bukkit Particle type and count)
- Separate arrival sound and throw sound, each independently configurable
- Pearl trail particles along the flight path - choose type, count, and interval
◆ Advanced Mechanics
- Entity teleport: pearl that hits a living entity teleports thrower directly to its location
- Pearl reflection: blocked pearls reflect the player back toward their origin instead of a plain cancel
- Surface pearl: players with permission auto-teleport to the surface (optionally only from underground)
- Teleport warmup: configurable delay before teleport, cancellable on move or damage
- Velocity multiplier: scale pearl launch speed globally (0.5x, 1.0x, 2.0x, etc.)
- Max pearls in flight: limit active pearls per player - prevents spam
- Block while gliding and block while in vehicle - two independent restrictions
- Cooldown on respawn: applies a pearl cooldown the moment a player respawns
- Refund on explosion: returns pearl if destroyed by TNT or creeper blast
◆ Data & Persistence
- Per-player statistics: pearls thrown, total damage dealt - auto-saved every 5 minutes
- Pearl audit log: every teleport logged with timestamp, player, and exact coordinates
- Whitelist system: bypass all restrictions - persists across restarts
- bStats analytics, fully optional, toggle in config.yml
◆ Multi-Language Support
- 6 built-in languages: English, German, Spanish, French, Polish, Russian
- All messages support & color codes via MiniMessage-compatible formatting
- Language switch is a single line in config.yml - /bp reload picks it up instantly
◆ PlaceholderAPI Integration
- 9 per-player placeholders: thrown, damage, cooldown, cooldown max, cooldown remaining, is on cooldown, pearls in flight, damage dealt, damage self
- Optional hook - enable or disable in config.yml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How BetterPearls Compares
How BetterPearls Compares
| Feature | BetterPearls | Basic Pearl Plugin |
| Anti-glitch | Full BoundingBox + raycast + small-hitbox passable coverage | Simple block-type whitelist or nothing |
| Cooldown system | Permission tiers + BossBar + ActionBar | Single global cooldown |
| Cross-pearl | Full through-block system with configurable material lists | Not available |
| Anti-cannon | Velocity threshold with refund option | Not available |
| Stasis detection | Velocity tracking + max lifetime hard cap | Not available |
| Per-world config | Full inheritance, any setting overridable | World disable list only |
| Integrations | WorldGuard + PlaceholderAPI | None or one of them |
| Multi-language | 6 languages with hot-swap | Hardcoded English |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Who This Is For
Who This Is For
- PvP servers Glitch-free pearl combat. No wall-clips, no ceiling-warps, no door-phases. Anti-cannon keeps cannon-boosted pearls under control. Cross-pearl adds skill-based through-block shots.
- Survival and SMP Prevent base-raiding via pearl glitches. Stasis chamber detection stops infinite pearl hover exploits. World border enforcement keeps players inside the map.
- Anarchy and semi-anarchy Choose your own rules. Disable all restrictions for a true anarchy world, enable everything for a moderated one. Per-world overrides let you run both from one config.
- Network owners Drop BetterPearls into any game mode running Paper 1.21. Single-command install, full reload support, no restarts needed for config changes. Per-world overrides work across all your worlds.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specs
Technical Specs
| Server | Paper 1.21+, Java 21 |
| Dependencies | None required. WorldGuard and PlaceholderAPI are optional. |
| Compatibility | Folia-compatible via GlobalRegionScheduler detection |
| Languages | en_US, de_DE, es_ES, fr_FR, pl_PL, ru_RU |
| Analytics | bStats, optional, toggle in config |
| Version | 1.1.0 |
◆ Commands
| Command | Description | Permission |
| /bp reload | Reloads config, language, and all manager state live | betterpearls.reload |
| /bp stats [player] | Shows pearl statistics (thrown, damage) for you or another player | betterpearls.stats |
| /bp whitelist add|remove|list [player] | Manages the bypass whitelist | betterpearls.whitelist.manage |
| /bp help | Shows the help menu | none |
◆ Permissions
| Permission | Description | Default |
| betterpearls.reload | Reloads plugin configuration | op |
| betterpearls.stats | Views own pearl statistics | true |
| betterpearls.stats.others | Views other players' statistics | op |
| betterpearls.bypass.cooldown | Bypasses pearl cooldown entirely | false |
| betterpearls.bypass.distance | Bypasses max-distance limit | false |
| betterpearls.bypass.ydistance | Bypasses max-y-distance limit | false |
| betterpearls.surface | Enables surface pearl teleport | false |
| betterpearls.whitelist.manage | Manages bypass whitelist | op |
| betterpearls.cooldown.vip | Example cooldown tier (0.25s) | false |
| betterpearls.cooldown.staff | Example cooldown tier (0s) | false |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get BetterPearls
Your players are already throwing ender pearls. Make sure every one lands where it should.
Every exploit closed. Every value exposed. One plugin.
Download and have it running in under 2 minutes.
Questions? Feature requests are reviewed. Support on Discord.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get BetterPearls
Your players are already throwing ender pearls. Make sure every one lands where it should.
Every exploit closed. Every value exposed. One plugin.
Download and have it running in under 2 minutes.
Questions? Feature requests are reviewed. Support on Discord.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
