Easy CTF

Highly customizable Capture The Flag plugin for Paper servers with shop system, match mode, and multi-language support Extended Summary EasyCTF - Advanced Capture The Flag Plugin for Minecraft Transfor

405

Easy CTF

🏳️ EasyCTF - Minecraft CTF Plugin

<div align="center">

Strategic CTF Plugin for Minecraft Paper Servers

</div>

📖 Overview

EasyCTF is a feature-rich Capture The Flag plugin for Minecraft Paper servers. Two teams (Red and Blue) compete to capture each other's flags while defending their own.

✨ Key Features

- 🎮 Event Chests - Run multiple CTF games simultaneously on the same server - 🛡️ Event Chests - Take damage in enemy territory, recover only in your own - 💎 Event Chests - Team-shared currency for strategic item purchases - 🏆 Event Chests - Multiple rounds to determine overall winner - 🌍 Event Chests - Full support for Japanese and English - 🎁 Event Chests - Special rewards during combat phase

🎯 Game Phases

1️⃣ Build Phase (2 minutes)

- Place blocks for defense and offense - No PvP (combat disabled) - Shop available for purchases - Cannot enter enemy territory - Instant respawn (no delay)

2️⃣ Combat Phase (2 minutes)

- Main CTF gameplay - PvP enabled - Capture enemy flags - Shop available anywhere (right-click emerald) - Instant respawn (no delay)

3️⃣ Strategy Phase (15 seconds)

- View round results - Prepare for next round - Transitions immediately to next phase

💎 Shop System

Right-click emerald to open shop (usable anywhere)

Categories

- Building Blocks - Swords, axes, bows, etc. - Building Blocks - Various armor sets - Building Blocks - Ender pearls, golden apples, arrows - Building Blocks - Various blocks, TNT

Currency Earning

- Initial funds: 50G - Kill reward: 15G (Flag carrier: 25G) - Kill assist: 10G - Capture: 50G - Assist: 20G - Phase end bonus: 100G - Kill streak bonus: 5G-20G

Discount System

Discounts for losing team based on score difference: - 1 point behind: 10% off - 2 points behind: 20% off - 3 points behind: 30% off - 4+ points behind: 40% off

🛡️ Special Systems

Shield System

- Maximum: 100 - Decreases by 2/sec on enemy blocks/beacon area - 1.5 damage/sec when shield is 0 - Recovers 5/sec only in own territory (important tactical element) - Warning: Below 40 warning, below 20 critical

Beacon Area Effects

- 3x3 area is special zone - Enemy: Damage zone (shield decrease) - Ally: Hunger & shield recovery

Team Block System

- Blue Team: Red concrete only - Blue Team: Blue concrete only - Block connection required (neutralizes when disconnected) - Unlimited usage

Event Chests

- Appear once during combat phase - Obtain expensive shop items - Notification to all players

🗺️ Map Creation

Auto-Detection Method (Recommended)

1. Build Map - Red concrete: Red team spawn (multiple allowed) - Blue concrete: Blue team spawn (multiple allowed) - Beacon + Red glass: Red team flag - Beacon + Blue glass: Blue team flag

2. Set Region ```bash /ctf setpos1 game1 # Set first corner /ctf setpos2 game1 # Set second corner ```

3. Save ```bash /ctf savemap game1 # Auto-detect and save ```

Temporary World System

- Dedicated world generated at game start - Map automatically restored - Chest contents automatically cleared - World deleted at game end

📊 Admin Commands

| Command | Description | |---------|-------------| | `/ctf create <game>` | Create new game (interactive) | | `/ctf update <game>` | Update game settings | | `/ctf delete <game>` | Delete game | | `/ctf list` | List all games | | `/ctf info <game>` | Game details | | `/ctf start <game> [match] [count]` | Start game/match | | `/ctf stop <game>` | Force stop | | `/ctf setflag <game> <team>` | Set flag position | | `/ctf setspawn <game> <team>` | Set spawn | | `/ctf addspawn <game> <team>` | Add spawn | | `/ctf removespawn <game> <team> <number>` | Remove spawn |

🎮 Player Commands

| Command | Description | |---------|-------------| | `/ctf join <game>` | Join game | | `/ctf leave` | Leave current game | | `/ctf team [red/blue]` | Check/change team | | `/ctf spectator <game>` | Join as spectator | | `/ctf status [game]` | Game status |

⚙️ Configuration

Main configuration file: `config.yml`

```yaml

Language setting

language: "en" # "en" or "ja"

Phase durations

default-phases: build-duration: 120 # Build phase (seconds) combat-duration: 120 # Combat phase (seconds) result-duration: 15 # Result display (seconds) build-phase-gamemode: "SURVIVAL" # ADVENTURE/SURVIVAL/CREATIVE

Respawn settings

default-game: respawn-delay-base: 0 # Instant respawn respawn-delay-per-death: 0 respawn-delay-max: 0

Currency settings

currency: initial: 50 # Initial currency kill-reward: 15 # Kill reward kill-assist-reward: 10 # Kill assist reward carrier-kill-reward: 25 # Flag carrier kill carrier-kill-assist-reward: 10 # Flag carrier kill assist capture-reward: 50 # Capture reward capture-assist-reward: 20 # Capture assist reward phase-end-bonus: 100 # Phase end bonus kill-streak-bonus: # Kill streak bonus 2-kills: 5 3-kills: 10 4-kills: 15 5-plus-kills: 20

Shield settings

shield: enabled: true max-shield: 100 decrease-rate: 2.0 # Decrease rate in enemy territory recovery-rate: 5.0 # Recovery rate in own territory damage-amount: 1.5 # Damage when shield is 0

Event chest

event-chest: enabled: true spawn-count: 1 # Spawns during combat phase ```

🔧 Build Instructions

```bash git clone https://github.com/0x48lab/easy_ctf.git cd easy_ctf ./gradlew shadowJar ```

Generated JAR file: `build/libs/easy_ctf-x.x.x-all.jar`

📝 Release Notes

Latest Changes

- ✅ Removed intervals between phases (instant transition) - ✅ Set respawn delay to 0 (instant respawn) - ✅ Adjusted currency rewards (Kill 15G, Flag carrier kill 25G, Capture 50G, Phase bonus 100G) - ✅ Limited shield recovery to own territory only - ✅ Removed shop usage range restriction (usable anywhere) - ✅ Unified team blocks to concrete only - ✅ Beacon area becomes damage zone - ✅ Event chest contents limited to shop items - ✅ Distance-based flag detection algorithm

Performance Optimizations

- Batch teleport processing - Asynchronous chat processing - Efficient block connection checking - GZIP compression for map storage

🤝 Contributing

Pull requests are welcome! Report bugs and suggest features in Issues.

📞 Support

- 📚 docs - 📚 wiki

📄 License

This project is released under the MIT License.

---

<div align="center"> Made with ❤️ for Minecraft Community </div>

ADS