FFA Streaks

A simple plugin to automate FFA healing, kits, teleporting and streaks.

280

Quick challenge

How far can you run before the mobs catch you?

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.

ADS