Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
⚔️ EC-DTC — Destroy The Core
EC-DTC is a configurable Destroy The Core event plugin for Minecraft servers.
Players compete to break a protected core, deal progress to its health, trigger event phases, climb the contribution ranking, and receive automatic rewards when the event ends.
It is built for servers that want a simple DTC event that can still be customized deeply: multiple locations, scheduled events, top rewards, Discord alerts, MiniMessage messages, and admin tools for managing event files in-game.
Highlights
- Multiple DTC events using separate files in
events/*.yml - Manual and scheduled event starts
- Per-event core health, material, world, location, sounds, rewards, phases and schedule
- BossBar progress while the event is active
- Contribution tracking per player
- Final winner detection
- Top rewards by position with chance and conditions
- Random hit rewards
- Life phases at 75%, 50% and 25%
- Phase materials, sounds, messages, commands and rewards
- Discord webhook notifications
- Optional Discord embed style
- MiniMessage support for plugin messages
- Language folder support with
lang_es.ymlandlang_en.yml - Bedrock protection when the event is inactive
- PlaceholderAPI support when installed
- Migration command for old ECDTC v1 configs
- Admin commands to create, validate, disable and update event locations
How Events Work
Each event has its own file:
plugins/EC-DTC/events/default.yml
plugins/EC-DTC/events/mina.yml
plugins/EC-DTC/events/your_event.yml
Example event structure:
Enabled: true
CoreHealth: 100
CoreMaterial: OBSIDIAN
Location:
world: "world"
x: 0
y: 75
z: 0
Schedule:
ActiveDays:
- "SUNDAY"
Times:
- "12:00"
hit-rewards:
"100":
- "eco give %player% 100"
The main config.yml is only for global settings such as language, bossbar, Discord webhook, top rewards, bedrock protection and duration.
Core data no longer belongs in config.yml.
Event Phases
Events can change as the core loses health.
You can configure phases like:
Phases:
75:
material: CRYING_OBSIDIAN
sound: BLOCK_BEACON_ACTIVATE
messages:
- "<gold>DTC</gold> <gray>%event_id% reached</gray> <yellow>%phase%%</yellow><gray>.</gray>"
commands:
- "eco give %player% 50"
50:
material: ANCIENT_DEBRIS
sound: ENTITY_WITHER_SPAWN
25:
material: NETHERITE_BLOCK
sound: ENTITY_ENDER_DRAGON_GROWL
This lets the event feel more intense instead of being the same block from start to finish.
Rewards
EC-DTC supports several reward types.
Global winner rewards
Rewards:
- "eco give %PLAYER% 1000"
Top rewards with chance and conditions
RewardsTop:
1:
chance: 100
conditions:
min-blocks: 1
permission: ""
commands:
- "give %player% diamond 5"
- "broadcast %player% won TOP 1 with %blocks% blocks!"
Per-hit rewards
hit-rewards:
"50":
- "give %player% iron_ingot 1"
"100":
- "eco give %player% 100"
Supported placeholders in reward commands:
%player%%PLAYER%%blocks%%position%%event_id%%phase%
Commands
| Command | Description | Permission |
|---|---|---|
/dtc start [id] |
Starts an event manually | dtc.admin |
/dtc stop [id] |
Stops the current event | dtc.admin |
/dtc reload |
Reloads config, language and schedule | dtc.admin |
/dtc time |
Shows the next scheduled event | dtc.admin |
/dtc top |
Shows the active event ranking | dtc.admin |
/dtc info [id] |
Shows event information | dtc.admin |
/dtc list |
Lists configured events | dtc.admin |
/dtc tp [id] |
Teleports to an event core | dtc.admin |
/dtc validate |
Checks event files for common mistakes | dtc.admin |
/dtc create <id> |
Creates a new event file | dtc.admin |
/dtc setcore <id> |
Saves your current block as the event core | dtc.admin |
/dtc disable <id> |
Disables an event without deleting the file | dtc.admin |
/dtc migrate v1 |
Migrates old ECDTC v1 data into events/default.yml |
dtc.admin |
Placeholders
Requires PlaceholderAPI.
| Placeholder | Description |
|---|---|
%dtc_blocks_broken% |
Blocks broken by the player |
%dtc_blocks_remaining% |
Remaining core health |
%dtc_blocks_total% |
Total core health |
%dtc_my_contribution% |
Player contribution percentage |
%dtc_global_stats% |
Player contribution value |
%dtc_minutes_until_event% |
Minutes until next event |
%dtc_time_until_event% |
Formatted time until next event |
%dtc_next_event% |
Next event time |
%dtc_event_active% |
true or false |
%dtc_event_time_left% |
Remaining active event time |
Discord Webhook
EC-DTC can notify Discord when an event starts, ends or is stopped.
DiscordWebhook:
Enabled: true
Url: "YOUR_WEBHOOK_URL"
Embed:
Enabled: true
Title: "EC-DTC"
Color: "#5d41b7"
Webhook messages support:
%event_id%%player%%blocks%
Migration From Old ECDTC
If you used the old ECDTC format, place the old folder here:
plugins/ECDTC/config.yml
plugins/ECDTC/lang.yml
Then run:
/dtc migrate v1
The migration will:
- Create backups before replacing files
- Move old core data into
events/default.yml - Move old language messages into
lang/lang_es.yml - Convert old
RewardsToplists into the new reward format - Move old
Times:into the new schedule format
Requirements
- Java 17 or newer
- Paper or Spigot
- PlaceholderAPI optional, recommended for placeholders
- Vault or an economy plugin if your reward commands use money
Installation
- Stop your server.
- Back up your current
plugins/EC-DTCfolder if you already have one. - Place the plugin
.jarinsideplugins/. - Start the server once to generate files.
- Edit
config.yml,events/*.ymlandlang/*.yml. - Use
/dtc validateto check event files. - Use
/dtc reloadafter making changes. - Check console for warnings.
Support
Need help with setup, migration or configuration?


