EnderPearlLogic

A plugin that enhances Ender Pearl usage with cooldowns, customizable messages, damage control, configurable sounds, and teleportation effects.

846

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. ⚔️

ADS