EnderPearlPatch
Fixes ender pearl behavior on player logout or death by preserving and restoring them. Includes admin commands to manage saved pearls.
EnderPearlPatch
🧩 EnderPearlPatch
A plugin that prevents Ender Pearls from disappearing when players log out or die. It stores all active pearls and restores them after the player rejoins or respawns — even on servers using AuthMe or similar login systems that temporarily remove players from the world.
---
📝 Description
This plugin fixes a common issue where Ender Pearls vanish when a player logs out or dies — especially on servers using AuthMe or similar login systems, where players are temporarily removed from the world. Instead of letting pearls disappear, this plugin restores them and restores them after the player logs back in or respawns. It also provides useful admin commands to list, delete, add, and create saved pearls manually.
---
⚙️ Features
- Prevents ender pearls from vanishing on logout or death - Restores pearls with correct location and velocity after login or respawn - Compatible with AuthMe and other login-delay plugins - `/pearls list`, `add`, `del`, `create` commands for full pearl management - Configurable behavior through `config.yml` - Only accessible by OPs (or players with `enderpearlpatch.admin` permission)
---
📂 Configuration (`config.yml`)
```yaml enabled: true respawn-mode: login_and_respawn ```
🔧 Parameters
| Key | Type | Default | Description | |-----|------|----------|-------------| | `enabled` | boolean | `true` | Enables or disables the plugin entirely. If set to `false`, all listeners and restoration logic are disabled. | | `respawn-mode` | string | `login_and_respawn` | Defines when pearls should be restored:<br>• `login` → only when the player logs in<br>• `login_and_respawn` → when logging in and after respawning |
---
🧭 Commands Overview
> These commands are available to OPs or players with the `enderpearlpatch.admin` permission.
🔄 `/enderpearlpatch reload`
Reloads the plugin and configuration. All data and settings are refreshed from disk.
Permission: `enderpearlpatch.admin`
---
⚙️ `/enderpearlpatch mode <login|login_and_respawn>`
Changes the pearl restoration mode directly from in-game. Updates `config.yml` and applies changes immediately.
Examples: ``` /enderpearlpatch mode login /enderpearlpatch mode login_and_respawn ```
Permission: `enderpearlpatch.admin`
---
💠 `/pearls` Subcommands
📋 `/pearls list`
Lists all currently saved ender pearls for all players, showing their world and coordinates.
Example Output: ```text Player: JanekDev #0 → world 123 64 456 #1 → world_nether -23 70 40 ```
---
❌ `/pearls del <player> <id>`
Deletes a specific saved pearl by its index (`id`) from the specified player's list.
Example: ``` /pearls del JanekDev 0 ```
Output: ``` §aPearl #0 deleted for JanekDev ```
---
➕ `/pearls add <player> <x> <y> <z> <world> [vx vy vz]`
Adds a saved pearl for a player at the specified coordinates, with optional velocity. It will be restored automatically when the player rejoins.
Example: ``` /pearls add JanekDev 100.5 64 200 world 0 0.5 0 ``` → Adds a pearl at `(100.5, 64, 200)` in `world` with slight upward velocity.
---
✨ `/pearls create <player> <x> <y> <z> <world> [vx vy vz]`
Immediately spawns a live Ender Pearl in the world for the specified player.
Example: ``` /pearls create JanekDev 50 70 50 world 1 0 0 ``` → Spawns a pearl moving east at `(50, 70, 50)` for `JanekDev`.
---
🧰 Permissions
| Permission | Default | Description | |-------------|----------|-------------| | `enderpearlpatch.admin` | `op` | Allows use of `/enderpearlpatch` and `/pearls` commands |
---
👤 Author
JanekDev — Developer