DynamicDropRate

Dynamically adjust drop rates based on how frequently a mob type (zombie, spider, ect) is killed compared to other mob types on the server. For every point a mob's drop rate falls, another mob's rate goes up to compensate. This gradual effect results in diminishing returns on heavily farmed mobs and encourages players to hunt less popular mobs.

Features

  • When a mob is killed, their drop rate is reduced. A random mob's drop rate is increased to compensate.
  • The sum drop rate of all mob stays at 100%, no worry of unbalancing the game.
  • Experience and items can each be toggled for rate manipulation.
  • Ability to blacklist items from being affected by the modified drop rate.
  • Ability to affect only player kills, natural deaths can go untracked.
  • Select which mob types to track. Default hostiles, can also add passive mobs to the config.
  • Set a minimum and maximum rate that mobs can move between.
  • Set groups of worlds so mobs killed in one group won't affect another group.

Requirements

  • Java 6+

Optional

  • A permissions plugin.
  • MySQL

Setup

  • Add the dynamicdroprate.jar to your server.
  • Start the server.
  • Enjoy

Commands

  • /ddr: List commands.
  • /ddr list: List the drop rates of affected mobs.
  • /ddr reload: Reload the plugin.
  • /ddr version: Get the version running.
  • /ddr resetstats: Reset the stats on all mobs.
  • /ddr equalize: equalize mob sum to 100%, sometimes it moves off slightly.

Permissions

  • ddr.admin: Grants the following permissions
    • ddr.list: List mobs
    • ddr.reload: Reload the plugin
    • ddr.version: Show the version.
    • ddr.reset: Reset stats.
    • ddr.equalize: equalize sum to 100%.

Configuration

  • properties
    • db-type: DB type to use, default 'sqlite' (no setup nessesary), 'mysql' also available (login needed below)
    • permission-default: Permissions default setting, op/notop/true/false
    • async-db-queries: Run database queries on separate thread. Reduces lag when accessing the database.
    • rate-change: Percentage increased/decreased droprate each death.
    • debug-messages: Spammy debug messages to see what the plugin's doing.
    • affect-exp: Modify exp drop amounts.
    • affect-drops: Modify item drop amounts.
    • only-affect-player-kills: Only change rates on player kills.
    • save-frequency: How often in seconds to save rates to database. (it also saves on shutdown)
    • use-metrics: Let mcstats.org know you're running the plugin.
    • minimum-rate: How low a rate can fall to. 0=0%, 0.2=20%, 0.5=50%.
    • excluded-items: List of item ids to exclude items from.
  • mysql: Typical Mysql login info (if db-type is set to mysql).
  • mobs: List of mobs to track. List of valid mobs.
  • world-groups: Group worlds together.
    • default: List of worlds within the 'default' group. Rates in this group won't affect rates in another group.

Metrics

http:mcstats.org/plugin/DynamicDropRate

Statistics

This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

Read more here. This functionality can be disabled in the config file.

Source code available here.
Bitcoin donate.

Have an issue or suggestion? Post a ticket.

About This Project

Categories

Members

Recent Files

Bukkit