
EnderPearlLogic
A plugin that enhances Ender Pearl usage with cooldowns, customizable messages, damage control, configurable sounds, and teleportation effects.
⚡ 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 cooldown system: Control Ender Pearl usage per player
- Anti-spam protection: Prevent message spam when players are on cooldown
- Admin bypass: Ignore cooldown and restrictions for staff
- Vault economy support (optional): Charge players per pearl usage
- Endermite control system: Enable or disable spawn and Customize spawn chance
- Teleport effects: Fully configurable (type, duration, amplifier)
- Custom sounds: Launch & impact with volume and pitch control
- Custom damage system: Modify or disable Ender Pearl damage
🚀 Advanced Systems
- PlaceholderAPI support (optional)
- Configurable placeholder outputs
- Real-time cooldown tracking
- Update checker system
- Automatic config updater (no broken configs)
- 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
# ============================================================
# 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"
🎯 Use Cases
- Survival servers: Prevent Ender Pearl abuse
- PvP servers: Improve combat balance
- Minigame servers: Add custom teleport mechanics
- Networks: Stable and scalable solution
💻 Compatibility
- Minecraft: 1.20.x → 1.21.x
- Java: 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. ⚔️

