EscoltaCore

Cooperative hardcore arcade minigame. Protect the Escort, stay inside the radius, and find the random objective item to win. Multi-arena, PlaceholderAPI & RGB support.

13

EscoltaCore

<div align="center">

Click here for the original datapack by ElRichMC

</div>

---

Features

EscoltaCore is a cooperative, hardcore arcade minigame. Players are split into two vital roles: the Defenders and the Defenders.

1. The team must find a A Defender picks up the objective → Victory! hidden in the world. 2. Defenders must stay within the A Defender picks up the objective → Victory! around the Escort at all times. 3. A Defender picks up the objective → Victory! 4. A Defender picks up the objective → Victory! 5. A Defender picks up the objective → Victory!

---

Gameplay

<div align="center">

*Find the selected item on the map to win*

Gameplay GIF

Click to see more Gameplay & Menu GIFs!

Gameplay GIF 2

Gameplay GIF 3

</div>

---

Features

- PlaceholderAPI: Multiple simultaneous games, supporting both public and private lobbies. - PlaceholderAPI: Configurable border particles (Dust, Flame, Heart, Note, Witch). Warning ActionBar and sound triggers when near the edge. Glowing effect applied to the Escort when danger is detected. - PlaceholderAPI: Powered by Adventure API. Supports `{#rrggbb}` hex codes and legacy color codes. - PlaceholderAPI: All messages can be customized in the `messages.yml` file. - PlaceholderAPI: PDC-tagged items are protected from being dropped or moved. Prevents false victories. - PlaceholderAPI: Per-player and per-arena variables ready for your scoreboards.

---

What's New

- FIXED | Defenders now receive a `FILLED_MAP` showing the actual block texture. Auto-downloaded from Faithful-Pack. Offline fallback included. - FIXED | Clickable [Play Again] and [Leave] buttons in chat after each game. Auto-resolves in 15 seconds. - FIXED | Yellow progress bar showing current/max players while waiting in the lobby. - FIXED | Redstone Dust in slot 8. Right-click to easily leave the lobby without commands. - FIXED | Admin-created public arenas persist in `arenas.yml`. Player private lobbies feature a full invite/kick system. - FIXED | Config-driven material whitelist. Add a block with one line in config and one PNG file. - FIXED | SQLite / MySQL Stats (Played, Won, Lost, Win Rate) tracked asynchronously. - FIXED | Softlock on Reset. The arena now fully resets and restarts the countdown correctly. - FIXED | Live Reload. Using `/escolta admin reload` now pushes config changes to live arenas immediately.

---

How to Play

1. Vote: Use `/escolta admin create` and `/escolta admin setspawn`. 2. Vote: Use `/escolta user join` or browse the GUI with `/escolta user lobbies`. 3. Vote: Public arenas start automatically when full. Private lobby owners use the Comparator item to start the game. 4. Vote: One random player is chosen as the Escort. Defenders receive a map showing the objective texture. Stay inside the glowing ring! 5. Vote: Pick up the correct item to win. Leave the radius or let the Escort die, and you lose. 6. Vote: After the game ends, vote in chat to Play Again or Leave.

---

Commands

Admin Commands *(Permission: `escoltacore.admin` — Default: OP)* ``` /escolta admin create Create a persistent public arena /escolta admin delete Delete a public arena /escolta admin setspawn Set the arena spawn to your location /escolta admin join Force a specific player into an arena /escolta admin reload Reload config & messages live ```

Player Commands *(Permission: `escoltacore.play` — Default: True)* ``` /escolta user join Join an available public arena /escolta user create Create a private lobby /escolta user leave Leave your current game or lobby /escolta user invite Invite someone to your private lobby /escolta user kick Kick a player from your private lobby /escolta user lobbies Open GUI to browse public arenas /escolta user stats View your personal statistics ```

---

PlaceholderAPI

``` %escoltacore_status% → Current arena state %escoltacore_role% → Escort / Defender / None %escoltacore_radius% → Current protection radius %escoltacore_target_item% → Objective material name %escoltacore_arena_<name>_status% → Specific arena state %escoltacore_arena_<name>_count% → Current player count %escoltacore_arena_<name>_max% → Maximum allowed players ```

---

Config

```yaml game-loop: min-players: 2 max-players-public: 8 max-players-private: 5 countdown: 10

random-objective: sprite-pool: # Only these materials are picked as objectives - DIAMOND - EMERALD - GOLD_INGOT - IRON_INGOT - COAL blacklist: # Used only if sprite-pool is completely empty - BEDROCK - BARRIER ```

---

<div align="center">

Developed for the PaperMC/Spigot community. Please leave a review if you enjoy the plugin!

</div>

ADS