BalancedKillRewards icon

BalancedKillRewards -----

Gives kill rewards based on the fairness of each kill, fully customizable to balance kitpvp servers.



BalancedKillRewards
A Minecraft plugin that scales kill rewards based on the fairness of a fight. Rewards automatically adjust according to the killer's and victim's gear, reducing payouts for overpowered players and keeping PvP economies balanced. Fully configurable with support for money, commands, and item drops. This plugin is compatible with versions 1.8+, but is designed specifically for 1.8 pvp servers (i.e., it will not account for netherrite gear or changes in base weapon damage added in 1.9+).

Features
  • Scale kill rewards based on armor, weapon, and bow boosting ability.
  • Configurable minimum reward for high-gear kills.
  • Fully customizable weights for armor, weapons, and punch bows.
  • Supports multiple reward types:
    • Money (range scaled by fairness)
    • Commands (chance scaled by fairness)
    • Item drops (chance scaled by fairness)
  • Gear-based scaling can be enabled or disabled per reward.
  • Configurable max drops per kill
How it works
When a player kills another, the plugin calculates how "unfair" the kill was based on the relative gear of the killer and the victim:

  1. Armor, weapon, and bow points are compared between the killer and victim:
    • armorUnfairness = (armorPointsKiller - armorPointsVictim) / (maxArmorPoints - minArmorPoints)
    • weaponUnfairness = (weaponPointsKiller - weaponPointsVictim) / (maxWeaponPoints - minWeaponPoints)
    • bowUnfairness = 1 if the killer has a bow boost, otherwise 0
  2. A weighted average of unfairness is calculated using the configured weights for armor, weapons, and bows:
    totalUnfairness = (armorUnfairness * armorWeight + weaponUnfairness * weaponWeight + bowUnfairness * bowWeight) / (armorWeight + weaponWeight + bowWeight)

  3. The reward scale is computed by reducing the reward proportionally to total unfairness:
    scale = 1 - totalUnfairness * (1 - minimumReductionFactor)

  4. The final scale is clamped between the minimum reduction factor and 1, ensuring every kill gives at least a baseline reward.
This scale is then applied to all rewards marked as gear-based, adjusting the range of money received, as well as the chance of each drop and command occurring. To assist with configuration, you can use the python tool reward_scale_plot.py. Enter in your configuration values, and run the script to view the range of rewards. Note that this script fixes the bow boost value to maintain a 2d plot for simplification. [​IMG]

Configuration
Example config.yml:
Code (YAML):
kill-rewards:
  minimum-reduction-factor
: 0.2 # What percent reward should the killer get in max gear?
  min-armor-points
: 0.5 # What is the minimum armor points? (default kit)
  max-armor-points
: 1.0 # What is the maximum armor points (max gear, p4 diamond)
  min-weapon-points
: 5.0 # What is the minimum weapon points? (default sword)
  max-weapon-points
: 13.0 # What is the maximum weapon points (s5 f2 diamond sword)
  armor-weight
: 0.45 # How much should armor factor into scaling rewards?
  weapon-weight
: 0.35 # How much should weapon factor into scaling rewards?
  punch-bow-weight
: 0.2 # How much should punch bows factor into scaling rewards?
  rewards
:
   player
:
     money
:
       message
: "&aYou killed &2%victim%&a and earned &2$%money%!"
       gear-based
: true # Set true if this reward should scale proportional to gear
       minimum
: 10.00
       maximum
: 30.00
     commands
:
       1
:
         cmd
: "say %player% killed %victim% at (%x%, %y%, %z%)!"
         chance
: 1.0
         gear-based
: false
     max-drops
: 3 # Maximum number of drops per kill, ignored if no drops.
     drops
:
       1
:
         item
: "IRON_INGOT"
         amount
: 1
         chance
: 0.25
         gear-based
: true # This scales down the percent chance of dropping if in higher gear.
Resource Information
Author:
----------
Total Downloads: 2
First Release: May 28, 2026
Last Update: May 28, 2026
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings