Skip to content

SiDaStuff/ffastreaks

Repository files navigation

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

  • Killstreak Tracking: Tracks player killstreaks and resets on death
  • Highest Streak: Records each player's best killstreak ever
  • Heal on Kill: Automatically heals and feeds players when they get a kill
  • Streak Rewards: Configurable rewards (broadcasts, potion effects) at specific streak milestones
  • Anti-Farm Protection: Prevents players from farming the same victim repeatedly
  • No Drops: 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

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

  • Get a kit by name
  • Example: /kit warrior

/ffakits list

  • List all available kits

/ffakits give

  • Get a kit for yourself
  • Example: /ffakits give warrior

/ffago go

  • 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

  • Create a kit from your current inventory
  • Permission: ffastreaks.admin

/ffakits delete

  • Delete a kit
  • Permission: ffastreaks.admin

/ffakits give [player]

  • Give a kit to yourself or another player
  • Permission: ffastreaks.admin (to give to others)

/ffago set

  • Set a teleport point at your current location
  • Permission: ffastreaks.admin

/ffago link

  • 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:

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

// 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors