EnderPearlLogic — Advanced Ender Pearl Control System
✔ Cooldowns • ✔ Economy • ✔ Placeholders • ✔ Effects • ✔ Full control
A lightweight, powerful and highly configurable plugin that gives you full control over Ender Pearl behavior on your server.
Designed for performance, balance and flexibility — clean, stable and production-ready.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ CORE FEATURES
━━━━━━━━━━━━━━━━━━━━━━
✔ Configurable Ender Pearl cooldown per player
✔ Smart anti-spam system (no chat flooding)
✔ Admin bypass permission system
✔ Optional Vault economy system (charge per use)
✔ Automatic economy detection (safe fallback if missing)
✔ Fully optional integrations
✔ Endermite control system
• Enable / disable spawn
• Custom spawn chance
• Fixed cross-version spawn issues
✔ Teleport effects (type, duration, amplifier)
✔ Custom sounds (launch & impact, volume & pitch)
✔ Customizable Ender Pearl damage
━━━━━━━━━━━━━━━━━━━━━━
ADVANCED SYSTEMS
━━━━━━━━━━━━━━━━━━━━━━
✔ PlaceholderAPI support (optional)
✔ Fully configurable placeholder values
✔ Real-time cooldown tracking
✔ Update checker system
✔ Notifies admins when a new version is available
✔ Automatic config updater
✔ Missing config options are added automatically
✔ Full backwards compatibility
✔ Safe and optimized core
✔ Respects other plugins
✔ Prevents double executions
✔ No memory leaks
✔ Minimal performance impact
━━━━━━━━━━━━━━━━━━━━━━
PLACEHOLDERS
━━━━━━━━━━━━━━━━━━━━━━
Requires PlaceholderAPI
• %enderpearllogic_cooldown_remaining%
• %enderpearllogic_cooldown_status%
• %enderpearllogic_cooldown_active%
All outputs are configurable in config.yml.
━━━━━━━━━━━━━━━━━━━━━━
PERMISSIONS
━━━━━━━━━━━━━━━━━━━━━━
• enderpearllogic.use → Use Ender Pearls (default: true)
• enderpearllogic.reload → Reload config (default: op)
• enderpearllogic.command → Use base command (default: op)
• enderpearllogic.bypass → Ignore cooldown & restrictions (default: op)
• enderpearllogic.update → Receive update notifications (default: op)
━━━━━━━━━━━━━━━━━━━━━━
COMMANDS
━━━━━━━━━━━━━━━━━━━━━━
/enderpearllogic reload
━━━━━━━━━━━━━━━━━━━━━━
⚡ COMPATIBILITY
━━━━━━━━━━━━━━━━━━━━━━
✔ Paper / Spigot / Purpur
✔ Minecraft 1.20.x – 1.21.x
✔ Java 17+
━━━━━━━━━━━━━━━━━━━━━━
ECONOMY SUPPORT
━━━━━━━━━━━━━━━━━━━━━━
• Vault supported (optional)
• Charge players for using Ender Pearls
• Fully configurable cost system
• Safe handling if economy plugin is missing
━━━━━━━━━━━━━━━━━━━━━━
CONFIGURATION
━━━━━━━━━━━━━━━━━━━━━━
• Fully customizable config.yml
• Automatic config upgrade system
• Backwards compatible with older configs
• Safe validation for all values
Easy Configuration (config.yml):
Code (YAML):
# ============================================================
# 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"
━━━━━━━━━━━━━━━━━━━━━━
PERFECT FOR
━━━━━━━━━━━━━━━━━━━━━━
✔ Survival servers
✔ PvP servers
✔ Minigame servers
✔ Network environments
━━━━━━━━━━━━━━━━━━━━━━
WHY ENDERPEARLLOGIC?
━━━━━━━━━━━━━━━━━━━━━━
Because it gives you full control over Ender Pearl gameplay without adding unnecessary complexity.
✔ Lightweight
✔ Safe
✔ Highly configurable
✔ Production-ready
━━━━━━━━━━━━━━━━━━━━━━