FFA Streaks
A simple plugin to automate FFA healing, kits, teleporting and streaks.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
FFA Streaks
FFAStreaks
A comprehensive Free-For-All (FFA) plugin for Paper/Spigot servers that adds killstreak tracking, healing on kill, kit management, and teleport systems.
Features
Core Features
- World Whitelist: Tracks player killstreaks and resets on death - World Whitelist: Records each player's best killstreak ever - World Whitelist: Automatically heals and feeds players when they get a kill - World Whitelist: Configurable rewards (broadcasts, potion effects) at specific streak milestones - World Whitelist: Prevents players from farming the same victim repeatedly - World Whitelist: Prevents inventory and XP drops on death - World Whitelist: Enable/disable the plugin in specific worlds
Kit System
- Create, delete, and manage kits - Simple `/kit <name>` command for players - Full inventory, armor, and offhand support - Admin kit management commands
Teleport System
- Set teleport points for FFA arenas - Link kits to teleport points (auto-given on teleport) - Full heal and feed on teleport - Simple `/ffago go <type>` command
PlaceholderAPI Integration
- `%ffastreaks_streak%` - Current killstreak - `%ffastreaks_highest_streak%` - Best killstreak ever - `%ffastreaks_kills%` - Total kills - `%ffastreaks_enabled%` - Whether FFA is enabled in current world
Requirements
- Paper 1.21.x or compatible - Java 21 - PlaceholderAPI (optional, for placeholders)
Installation
1. Download the latest JAR from the releases page 2. Place `FFAStreaks-1.0.0.jar` in your server's `plugins/` folder 3. Start or restart your server 4. Configure `plugins/FFAStreaks/config.yml` to your preferences 5. Reload with `/ffastreaks reload` or restart the server
Configuration
config.yml
```yaml enabled_worlds: enabled: true worlds: - world - arena
heal_on_kill: enabled: true amount: 6.0 # 1.0 = half-heart, 20.0 = 10 hearts
anti_farm: enabled: true same_victim_cooldown_seconds: 20
messages: prefix: "&d[FFA]&f " disabled_world: "&cFFAStreaks is disabled in this world." streak_self: "&aYour current streak: &e%streak%" streak_other: "&a%player%'s streak: &e%streak%" top_header: "&6Top killstreaks:"
rewards: "3": broadcast: "&e%killer% &fhas a &a3&f kill streak!" effects: - "SPEED 10 0" "5": broadcast: "&e%killer% &fhas a &a5&f kill streak!" effects: - "STRENGTH 8 0" "10": broadcast: "&e%killer% &fis on a &c10&f kill streak!" effects: - "RESISTANCE 10 0" - "REGENERATION 4 1" ```
Configuration Options
enabled_worlds - `enabled`: Enable world whitelist (false = all worlds) - `worlds`: List of world names where FFA features are active
heal_on_kill - `enabled`: Enable healing and feeding on kill - `amount`: Health amount to restore (1.0 = half heart)
anti_farm - `enabled`: Enable anti-farm protection - `same_victim_cooldown_seconds`: Cooldown before same victim can be farmed again
rewards - Configure rewards at specific streak milestones - Format: `"streak_number": { broadcast: "message", effects: ["EFFECT seconds amplifier"] }` - Effects format: `"EFFECT_NAME seconds amplifier"` (e.g., "SPEED 10 0")
Commands
Player Commands
/streak [top|player] - View your current killstreak - `/streak top` - View top 10 killstreaks - `/streak <player>` - View another player's streak
/kit <name> - Get a kit by name - Example: `/kit warrior`
/ffakits list - List all available kits
/ffakits give <name> - Get a kit for yourself - Example: `/ffakits give warrior`
/ffago go <type> - Teleport to a teleport point - Automatically gives linked kit if configured - Fully heals and feeds player - Example: `/ffago go spawn`
/ffago list - List all available teleport points
Admin Commands
/ffastreaks reload - Reload the plugin configuration - Permission: `ffastreaks.admin`
/ffakits create <name> - Create a kit from your current inventory - Permission: `ffastreaks.admin`
/ffakits delete <name> - Delete a kit - Permission: `ffastreaks.admin`
/ffakits give <name> [player] - Give a kit to yourself or another player - Permission: `ffastreaks.admin` (to give to others)
/ffago set <type> - Set a teleport point at your current location - Permission: `ffastreaks.admin`
/ffago link <type> <kit> - Link a kit to a teleport point - Permission: `ffastreaks.admin`
Permissions
ffastreaks.kit - Allows players to get kits using `/kit` or `/ffakits give` - Default: `true` (all players)
ffastreaks.go - Allows players to use `/ffago go` and `/ffago list` - Default: `true` (all players)
ffastreaks.admin - Full admin access to all FFA commands - Default: `op` (operators only)
Usage Examples
Setting Up an FFA Arena
1. Create a kit: ``` /ffakits create warrior ```
2. Set a spawn point: ``` /ffago set spawn ```
3. Link the kit to spawn: ``` /ffago link spawn warrior ```
4. Players can now use: ``` /ffago go spawn ``` This will teleport them, give them the warrior kit, and fully heal/feed them.
Creating Streak Rewards
Edit `config.yml` to add rewards at specific streaks:
```yaml rewards: "5": broadcast: "&e%killer% &fhas a &a5&f kill streak!" effects: - "STRENGTH 8 0" - "SPEED 10 0" ```
The `%killer%` placeholder is automatically replaced with the player's name.
PlaceholderAPI
If PlaceholderAPI is installed, the following placeholders are available:
- `%ffastreaks_streak%` - Current killstreak - `%ffastreaks_highest_streak%` - Highest killstreak ever achieved - `%ffastreaks_kills%` - Total kills - `%ffastreaks_enabled%` - Whether FFA is enabled in current world (true/false)
Example Usage in Scoreboards
``` &eKill Streak: &f%ffastreaks_streak% &eBest Streak: &f%ffastreaks_highest_streak% &eTotal Kills: &f%ffastreaks_kills% ```
How It Works
On Player Death
- Inventory is kept (no drops) - XP level is kept (no XP drops) - Killstreak is reset to 0 - If killed by a player: - Killer's streak increments - Killer is healed and fed (if enabled) - Streak rewards are applied (if configured) - Anti-farm protection is checked
On Kill
- Health restored by configured amount - Food level set to 20 - Saturation set to 20.0 - Exhaustion reset to 0 - Kill count increments - Streak increments - Highest streak updated if new record
Anti-Farm System
- Tracks last kill time for each killer-victim pair - Prevents rewards if same victim is killed within cooldown period - Configurable cooldown in seconds
File Structure
``` plugins/FFAStreaks/ ├── config.yml # Main configuration └── kits.yml # Kit and teleport storage (auto-generated) ```
Troubleshooting
Plugin not working in a world: - Check `enabled_worlds` in config.yml - Ensure world name matches exactly (case-sensitive)
Kits not saving: - Check file permissions in `plugins/FFAStreaks/` - Ensure server has write access
Placeholders not working: - Install PlaceholderAPI plugin - Use `/papi reload` after installing FFAStreaks - Check placeholder syntax: `%ffastreaks_streak%`
Commands not working: - Check permissions with `/lp user <player> permission info` - Default permissions should be `true` for players - Admin commands require `ffastreaks.admin` permission
API
Public Methods
```java // Get current streak int getStreak(UUID uuid)
// Get total kills int getKills(UUID uuid)
// Get highest streak ever int getHighestStreak(UUID uuid)
// Check if enabled in world boolean isEnabledInWorld(World world) ```
Version
Current Version: 1.0.0
Support
For issues, feature requests, or questions, please open an issue on the project repository.
License
This plugin is provided as-is for use on Minecraft servers.
Credits
Developed for Paper 1.21.x servers with support for PlaceholderAPI integration.