EnderPearlLogic
A plugin that enhances Ender Pearl usage with cooldowns, customizable messages, damage control, configurable sounds, and teleportation effects.
EnderPearlLogic
⚡ EnderPearlLogic — Advanced Ender Pearl Control System
A lightweight, powerful and fully configurable plugin that gives you complete control over Ender Pearl behavior.
EnderPearlLogic enhances gameplay by adding cooldowns, economy systems, effects, sounds and safety improvements — all designed to be stable, optimized and easy to configure.
---
✨ Core Features
- Custom damage system: Control Ender Pearl usage per player - Custom damage system: Prevent message spam when players are on cooldown - Custom damage system: Ignore cooldown and restrictions for staff - Custom damage system: Charge players per pearl usage - Custom damage system: Enable or disable spawn and Customize spawn chance - Custom damage system: Fully configurable (type, duration, amplifier) - Custom damage system: Launch & impact with volume and pitch control - Custom damage system: Modify or disable Ender Pearl damage
---
🚀 Advanced Systems
- Safe & optimized core: - Safe & optimized core: - Safe & optimized core: - Safe & optimized core: - Safe & optimized core: - Safe & optimized core: - Respects other plugins - Prevents double execution - No memory leaks - Minimal performance impact
---
🔌 PlaceholderAPI Integration
EnderPearlLogic supports PlaceholderAPI for dynamic data in scoreboards, holograms, tablists and more.
Available Placeholders
| Placeholder | Description | |------------|-------------| | `%enderpearllogic_cooldown_remaining%` | Remaining cooldown time | | `%enderpearllogic_cooldown_status%` | Cooldown status (ready / cooldown) | | `%enderpearllogic_cooldown_active%` | Returns true or false |
All placeholder values are fully configurable in `config.yml`.
---
⚙️ Commands & Permissions
Commands
| Command | Description | Permission | |--------|------------|------------| | `/enderpearllogic reload` | Reload plugin configuration | `enderpearllogic.reload` |
Permissions
| Permission | Description | |-----------|------------| | `enderpearllogic.use` | Use Ender Pearls | | `enderpearllogic.reload` | Reload configuration | | `enderpearllogic.command` | Use base command | | `enderpearllogic.bypass` | Ignore cooldown & restrictions | | `enderpearllogic.update` | Receive update notifications |
---
⚙️ Configuration
EnderPearlLogic provides a fully customizable configuration system:
- Automatic config updates (adds missing options safely) - Backwards compatibility with older configs - Safe validation for all values - Fully configurable messages, placeholders, sounds and effects
config.yml
<br>
<pre><code>
============================================================
EnderPearlLogic v1.5
Default configuration compatible with the public Spigot layout.
#
Color codes with & are supported.
Set any message to "none" to stop sending that message.
Players with enderpearllogic.bypass ignore cooldown and economy cost.
Invalid values are logged as warnings and replaced or skipped safely.
#
Official Bukkit documentation for configurable IDs:
Potion effects: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html
Sounds: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
Use IDs available on your server version, for example SPEED or ENTITY_PLAYER_TELEPORT.
============================================================
============================================================
Permission reference
These permissions are registered in plugin.yml.
They are NOT configured here; manage them with your permissions
plugin, for example LuckPerms.
#
enderpearllogic.use
Allows players to use Ender Pearls controlled by this plugin.
Default: everyone.
#
enderpearllogic.bypass
Bypasses cooldown and economy cost.
Default: operators.
#
enderpearllogic.reload
Allows /enderpearllogic reload and /eplreload.
Default: operators.
#
enderpearllogic.command
Allows using /enderpearllogic without reload arguments.
Players without this permission will not see command usage.
Default: operators.
#
enderpearllogic.update
Allows receiving update notifications when update-checker is enabled.
Operators also receive update notifications.
Default: operators.
============================================================
Cooldown in seconds for using Ender Pearls.
Requires enderpearllogic.use unless the player has enderpearllogic.bypass.
Set to 0 to disable the cooldown duration while keeping the rest
of the plugin features active.
cooldown-time: 10
Minimum delay, in seconds, between cooldown messages for the same player.
The plugin checks this only when the player actually tries to use an
Ender Pearl during cooldown. Set this to 0 to show a message on every
blocked attempt.
cooldown-message-delay: 1
messages:
Prefix added before plugin messages. Use "none" to disable it.
prefix: "&bEnderPearlLogic &8>> "
Placeholders: {time}, {seconds}, %time%, %seconds%.
cooldown: "&7You must wait &c{time} &7seconds before using another Ender Pearl."
Sent when a pearl is successfully thrown.
use: "&7You used an Ender Pearl! Teleporting..."
Sent after the ender pearl teleport succeeds.
success: "&aTeleportation successful!"
Sent after /enderpearllogic reload.
reload: "&aEnderPearlLogic configuration reloaded successfully!"
Sent when a player cannot use Ender Pearls.
no-permission: "&cYou do not have permission to use Ender Pearls."
Command and safety messages.
reload-no-permission: "&cYou do not have permission to reload this plugin." reload-error: "&cThe configuration could not be reloaded. Check the console." config-error: "&cThere is a configuration problem. Safe values will be used." command-usage: "&eUsage: &f/enderpearllogic reload" command-no-permission: "&cYou do not have permission to use this command."
Economy messages. Placeholders: {cost}, {balance}.
not-enough-money: "&cYou need &e{cost} &cto use an Ender Pearl. Your balance: &e{balance}&c." cost-charged: "&7Ender Pearl cost charged: &e{cost}&7." economy-error: "&cThe economy payment could not be completed. Try again later."
Update message. Placeholders: {current}, {latest}, {url}.
update-available: "&eA new EnderPearlLogic version is available: &f{latest} &7(current: &f{current}&7). &b{url}"
Custom damage dealt by an Ender Pearl when it hits a mob or player.
enderpearl-damage: enabled: true amount: 5.0
Potion effect applied to the player after teleporting.
Valid effect IDs:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html
teleport-effect: enabled: true type: "SPEED"
Duration in seconds.
duration: 5
0 = level I, 1 = level II.
amplifier: 1
Sound played when an Ender Pearl is thrown.
Valid sound IDs:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
launch-sound: enabled: true type: "ENTITY_ENDER_PEARL_THROW" volume: 1.0 pitch: 1.0
Sound played when an Ender Pearl impacts.
Valid sound IDs:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
hit-sound: enabled: true type: "ENTITY_ENDERMAN_TELEPORT" volume: 1.0 pitch: 1.0
Endermite spawn control after a successful Ender Pearl teleport.
The plugin cancels the vanilla Ender Pearl Endermite spawn and applies
this chance itself, which keeps behavior consistent across supported versions.
endermite:
Set to false to fully disable Endermites from Ender Pearls.
enabled: true
Spawn chance from 0.0 to 1.0.
0.0 = never, 0.05 = 5%, 1.0 = always.
chance: 0.05
Optional Vault economy support.
Requires Vault and an economy plugin. Disabled by default.
If Vault or an economy provider is missing, only this feature is disabled.
Players with enderpearllogic.bypass are not charged.
The cost is charged only when the Ender Pearl launch is valid.
economy: enabled: false
Money charged for a valid Ender Pearl launch.
Set to 0.0 to avoid charging even if economy is enabled.
cost: 0.0
Sends messages.cost-charged after a successful payment.
send-cost-charged-message: true
Optional update checker.
Enabled by default. Uses a lightweight Spigot resource version endpoint
based on the configured resource URL. Notifications are shown only to OPs
or players with enderpearllogic.update.
The main resource URL, the /updates URL, or the numeric resource id are accepted.
This does not download updates automatically.
update-checker: enabled: true resource-url: "https://www.spigotmc.org/resources/enderpearllogic.120087/"
Optional PlaceholderAPI support.
If PlaceholderAPI is not installed, this does nothing.
Registered placeholders:
- %enderpearllogic_cooldown_remaining%
- %enderpearllogic_cooldown_status%
- %enderpearllogic_cooldown_active%
placeholders: enabled: true
Values returned by PlaceholderAPI placeholders.
These values do not use messages.prefix.
Color codes with & are supported if your placeholder target supports colors.
values:
Returned by %enderpearllogic_cooldown_remaining% when no cooldown is active.
During cooldown, the placeholder returns the remaining seconds as a number.
cooldown-remaining-none: "0"
Returned by %enderpearllogic_cooldown_status%.
cooldown-status-cooldown: "cooldown" cooldown-status-ready: "ready"
Returned by %enderpearllogic_cooldown_active%.
cooldown-active-true: "true" cooldown-active-false: "false" </code></pre>
---
🎯 Use Cases
- Networks: Prevent Ender Pearl abuse - Networks: Improve combat balance - Networks: Add custom teleport mechanics - Networks: Stable and scalable solution
---
💻 Compatibility
- Platforms: 1.20.x → 1.21.x - Platforms: 17 or higher - Platforms: Paper, Spigot, Purpur
Optional dependencies
- Vault (economy system) - PlaceholderAPI (placeholders)
---
❤️ Designed for Performance
EnderPearlLogic is built to be lightweight, safe and efficient. It minimizes resource usage while ensuring stable behavior across different server setups.
Simple to install, safe to use, and ready for your minecraft server. ⚔️
