EmberEnvoys
EmberEnvoys is a polished, standalone envoy event plugin built for Spigot 1.8.8 faction servers.
Features
- Spawns 30 envoys by default every three hours
- Uses showcase blocks instead of chest inventories
- Defaults to the
Pvpworld - Five weighted rarities: Common, Uncommon, Rare, Epic, and Legendary
- Floating, gently animated armor-stand holograms above every envoy
- Rarity-specific particle orbits, claim bursts, sounds, pitches, and fireworks
- Low-noise chat defaults: Common/Uncommon claims are private; Rare and above are public
- EmberPvP-branded messages and dramatic event-start audio
- Fully configurable rewards, item names, lore, enchantments, rarity weights, blocks, messages, sounds, timing, and spawn region
- Optional console-command rewards with
%player%replacement - Safe terrain selection with configurable Y limits and blocked ground materials
- Minimum spacing between envoys
- Protects envoys from breaking, explosions, pistons, and hologram damage
- Restores every changed block when an envoy is claimed, the event expires, the event is stopped, or the plugin disables
- Saves the next event time across restarts
- Drops overflow rewards at the player's feet instead of deleting them
- Supports multiple admin-selected worlds
- Turns the rarest claim into a three-second PvP alert with live coordinates, exact loot, lightning, and a firework marker
- Configurable console hooks for BattlePass, crate, voucher, economy, and progression plugins
- Built-in PlaceholderAPI expansion for scoreboards, menus, holograms, and chat
Installation
- Stop the Spigot 1.8.8 server.
- Put
EmberEnvoys-1.6.0.jarin the server'spluginsfolder. - Ensure the PvP world is named exactly
Pvp, or changesettings.worldsinconfig.yml. - Start the server.
- Stand at the desired center of each enabled world and run
/envoy setcenter. - Test with
/envoy start 5.
No Vault, economy, hologram, NMS, or other plugin dependency is required.
Commands
| Command | Description | Permission |
|---|---|---|
/envoy or /envoy time | Show the active event or next-event timer | emberenvoys.use |
/envoy help | Show available commands | emberenvoys.use |
/envoy start [amount] | Start an event immediately | emberenvoys.admin |
/envoy stop | Stop and clean up the active event | emberenvoys.admin |
/envoy list | List every active envoy and coordinate | emberenvoys.admin |
/envoy worlds | Show whether each configured world is loaded | emberenvoys.admin |
/envoy debugspawn | Explain whether the selected center has safe terrain | emberenvoys.admin |
/envoy setcount <amount> | Change and save the default envoy count | emberenvoys.admin |
/envoy setcenter | Set and save the center for the current world | emberenvoys.admin |
/envoy addworld <world> | Add a loaded world to the event | emberenvoys.admin |
/envoy removeworld <world> | Remove a world from the event | emberenvoys.admin |
/envoy importworld <world> | Enable a world already loaded by Multiverse | emberenvoys.admin |
/envoy reload | Reload configuration and refresh the timer | emberenvoys.admin |
emberenvoys.use defaults to everyone. emberenvoys.admin defaults to server operators.
Loading the PvP world
EmberEnvoys declares Multiverse-Core as a soft dependency, so Multiverse loads first. All Multiverse worlds then appear as standard Bukkit worlds. To inspect and enable one:
/envoy worlds
/envoy importworld Pvp
The command imports an already-loaded world into EmberEnvoys—it does not load, generate, or modify world folders. World matching is case-insensitive, and the canonical Multiverse/Bukkit world name is saved to the configuration. If the desired world is not shown by /envoy worlds, load or import it through Multiverse first.
Important configuration
settings.default-envoy-count: 30settings.interval-seconds: 10800(three hours)settings.event-duration-seconds: 900(15 minutes)settings.worlds: [Pvp]settings.pvp-tracked-rarity: LEGENDARYsettings.pvp-tracking-seconds: 3spawn-region.size-x: 500spawn-region.size-z: 500spawn-region.center-mode: CENTER
Changing center-mode to WORLD_SPAWN makes each enabled world's normal spawn its event center. /envoy setcenter creates a per-world center and switches the mode back to CENTER.
The default 500x500 region extends 250 blocks in every horizontal direction from the selected center. Each event divides that region into a grid and targets one envoy per cell, spreading the crates across the full area instead of clustering around the center.
The default showcase blocks are iron blocks, gold blocks, enchanting tables, end portal frames, and beacons. Change any rarity's block value to another valid 1.8.8 block material.
When someone claims a LEGENDARY envoy, the server broadcasts their current world, XYZ coordinates, and exact reward list once per second for three seconds. Their coordinates are refreshed for each alert, so moving immediately does not hide the claimant's new position. Both the tracked rarity and alert duration are configurable.
EmberPvP presentation
The included defaults are tuned for a busy 1.8.8 faction server:
- Brand palette: gold
EMBER(&6&l) followed by yellowPVP(&e&l) - Common: subtle cloud orbit and light pickup tone
- Uncommon: green happy-villager orbit
- Rare: aqua magic-critical orbit and level-up cue
- Epic: purple witch-magic orbit and spawn firework
- Legendary: flame orbit, orange firework, dragon claim cue, global PvP alert, and live tracking
Animations only update four times per second, are sent within 40 blocks, and skip unloaded chunks. Settings under visuals control the period, view distance, orbit size, hologram movement, burst density, lightning, and tracking firework.
EmberEnvoys uses its own lightweight armor stands and does not require or interfere with the server's DecentHolograms or HolographicDisplays installations.
Plugin hooks
The hooks section can dispatch console commands after any claim, after a Legendary claim, or when an event starts. This makes EmberEnvoys compatible with EmberPvP's existing Essentials/Vault economy, BattlePass, AdvancedMonthlyCrates, InfiniteVouchers, DeluxeTags, and similar plugins without hard dependencies.
Supported placeholders are %player%, %rarity%, %world%, %x%, %y%, %z%, and %loot%. Confirm each target plugin's command syntax before enabling a hook.
PlaceholderAPI
The expansion registers automatically because EmberPvP already has PlaceholderAPI. No /papi ecloud download command is needed.
| Placeholder | Value |
|---|---|
%emberenvoys_status% | ACTIVE or WAITING |
%emberenvoys_status_colored% | Colored status for menus and scoreboards |
%emberenvoys_active% | true or false |
%emberenvoys_next% | Friendly time until the next event, or Active now |
%emberenvoys_next_seconds% | Raw seconds until the next event |
%emberenvoys_next_timestamp% | Next event as a Unix timestamp |
%emberenvoys_time% | Current event time when active; next-event time otherwise |
%emberenvoys_event_time% | Time left in the active event |
%emberenvoys_event_seconds% | Raw seconds left in the active event |
%emberenvoys_remaining% | Envoys currently left on the map |
%emberenvoys_spawned% | Envoys spawned in the current event |
%emberenvoys_claimed% | Envoys claimed in the current event |
%emberenvoys_progress% | Current claim progress from 0 to 100 |
%emberenvoys_progress_bar% | Ten-character colored progress bar |
%emberenvoys_worlds% | Configured envoy worlds |
%emberenvoys_rarity_common% | Remaining Common envoys |
%emberenvoys_rarity_uncommon% | Remaining Uncommon envoys |
%emberenvoys_rarity_rare% | Remaining Rare envoys |
%emberenvoys_rarity_epic% | Remaining Epic envoys |
%emberenvoys_rarity_legendary% | Remaining Legendary envoys |
%emberenvoys_last_claimant% | Most recent claimant |
%emberenvoys_last_rarity% | Rarity of the most recently claimed envoy |
%emberenvoys_nearest_distance% | Player's distance from the nearest envoy in their world |
%emberenvoys_nearest_rarity% | Rarity of that nearest envoy |
%emberenvoys_nearest_world% | Nearest envoy's world |
%emberenvoys_nearest_x% | Nearest envoy's X coordinate |
%emberenvoys_nearest_y% | Nearest envoy's Y coordinate |
%emberenvoys_nearest_z% | Nearest envoy's Z coordinate |
%emberenvoys_nearest_location% | Complete nearest-envoy location |
Nearest-envoy placeholders return N/A when the viewer is offline, in another world, or no event is active. This allows EmberPvP to decide whether a scoreboard should reveal exact locations or only show distance and rarity.
Custom rewards
An item reward can include a legacy data value, an amount range, chance, display name, lore, and unsafe enchantments:
- item: DIAMOND_SWORD
amount: 1
chance: 35
name: "&bRare Raider Blade"
lore:
- "&7Recovered from an Ember Envoy"
enchants:
DAMAGE_ALL: 3
DURABILITY: 2
A console-command reward can be added to integrate an economy, crate key, permission, or rank plugin:
- command: "eco give %player% 25000"
chance: 20
display: "$25,000"
Only use commands that exist on your server. The included defaults use items only and have no external dependencies.
Building from source
The Maven project targets Java 8 bytecode and Spigot API 1.8.8-R0.1-SNAPSHOT:
mvn clean package
The resulting JAR will be in target/EmberEnvoys-1.6.0.jar.