Changelog (5.x)

[Note: Dev builds are available from a link on the main poge - these are not stable or fully tested and are not approved by BukkitDev, be sure to read the attached warning before using.]


5.3.0 snapshots (experimental)

  • added:  provisional support for 1.15 Bee mob (subject to change when bukkit support is available).
  • bugfix: fixed naming and deprecation status of internal lang properties (unused - does not impact behavior)
  • added:  first pass of major API additions
    • added: methods for setting custom modifiers on head roll events
    • added: ability to recalculate success of head roll based on modifiers
    • added: ability to get and set multiple drops for DropHead events
    • deprecated: slime,looting,chargedcreeper modifier methods/parameters (use modifier methods instead).
    • added: ability to modify effective parameters of HeadRoll events.
    • added: API methods for getting/using a more fleshed-out "HeadRepresentation" which is intended to allow comparison with other heads to determine if they are the same type/owner of head (checks owner name/uuid but ignores texture updates).  These methods are now preferred over existing HeadType methods in the API.
    • added: Draft API for custom-head extensions (not fully implemented yet - do not use)
  • changed: Consolidated and changed internal code (drop methods, item creation) to use the API implementation for consistency.

5.2.1 provisional 1.15 alpha 1

  • modification of 5.2.1 release
  • added:  provisional support for 1.15 Bee mob (subject to change when bukkit support is available).

5.2.1 release

  • changed: Wither skeleton head drops will no longer, by default, remove vanilla drops when a positive droprate is configured. Reminder: this rate does not affect vanilla droprate.
  • added: new configuration option witherskeletonbehavior which can be set to the following values (like chargedcreeperbehavior):
    • ignore - don't consider vanilla head drop for Wither Skeletons s at all and add PlayerHeads rolls anyway (may cause double head drops rarely since both vanilla and plugin head rolls occur).
    • replace - remove vanilla head drops and add PlayerHeads rolls (same affect as a positive droprate in previous versions).
    • vanilla - keep preexisting head drops and do not add any PlayerHeads drops (same as setting the droprate to -1)
    • block - remove all head drops and do not add any (same as setting the droprate to 0 in previous versions)
      NOTE: when chargedcreeperbehavior is set to 'block' or 'vanilla', it supercedes these options (it is applied first).
  • added: new configuration option delaywitherdrop which, if enabled, drops the head for the Wither Boss a configured amount of time after the death. This is done so that skull-explosions don't destroy the head. This option overrides the state of antideathchest for the Wither (as if it was always on).
  • added: new configuration option delaywitherdropms which sets the time in miliseconds to delay the head drop for the Wither boss, if delaying is enabled.


  • API: added setDrop() methods to ___-DropHead events to allow drop item modification
  • API: added getChargedCreeperModifier() method for HeadRollEvent to get the multiplier applied to the droprate of deaths caused by charged creepers.
  • added: added configuration option chargedcreeperbehavior which modifies how PlayerHeads handles Charged Creeper-caused head drops.  This can add to the drops, enforce vanilla behavior, replace the drops with PH-controlled drops, or block these drops.  Removal of drops only considers vanilla head items.  This option requires considermobkillers to be enabled in order to function.
    If considermobkillers is not enabled or this setting is set to "ignore" behavior will function identical to previous versions (PH drops are added if applicable and creeer-caused head drops are not modified).
  • added: added configuration option chargedcreepermodifier which modifies the droprate of the death if it was detected (as above) to be caused by a charged creeper and the previous setting is set to "ignore" or "replace".


  • added: added API method that exposes the CompatibilityProvider to other plugins, this class has a variety of version-compatible operations (like setting owner, texture, etc)
  • added: added API methods for generating the ItemStack of a head for a user.


  • changed: setting any mob droprate to a negative value now causes the plugin to ignore the death event and permits vanilla behavior.  This extends from the behavior of the negative witherskeleton droprate added in 3.12.
  • added: added drop rate modifiers for slimes and magmacubes based on their size. Previously, all sizes of slime received the same droprate. In the configuration file these are numbered 1-4 for the size of slime provided by Bukkit, where 3 does not spawn naturally (corresponding to 0-3 in Minecraft) under the configuration section slimemodifier. The default modifier for each size is 1.0 to maintain behavior of previous versions. These values are multiplied against the base droprate for the mob as follows:Effective Droprate = mobdroprate * slimemodifier * (1 + lootingrate*looting_enchantment_level)



Foreword: After more than 6 months since we began support for new textured mobheads and 4 years since the last major release of username-based mobheads plugin, it is now time to say farewell to those legacy heads.

Beginning with version 5, username-based mobheads created by the 3.x plugin will no longer be automatically detected and upgraded into new textured mobheads as they do in version 4.x.

This slightly reduces plugin work, footprint, and fixes the longstanding problem of certain user-heads being abused to obtain mob-heads.

TL;DR - if you have heads created by the 3.x plugin that you still need to support, use version 4.x instead. If you began using the plugin at version 4.x, you can safely update to 5.x.

  • changed: config setting display consolidated into Config class. Simplified/reduced complicated legacy code when changing config settings.
  • changed: boolean config settings now accept "yes","true","1" as a true value [in commands] and others as false, instead of defaulting to true.
  • changed: unknown config value types are displayed as strings with quotations except null, which now shows (unset)
  • fixed: config value display is based on type instead of only "-droprate" values being displayed as doubles.
  • added: new feature to allow requiring an item for beheading, with config settings:  (BukkitDev Request #14)
    • requireitem - (true/false) If true, an item in the 'requireditems' list must be held in the main hand to behead. Disabled by default.
    • requireditems - (list) A lowercase list of Bukkit Materials that permit beheading when held in the main hand, if 'requireitem' is enabled. By default this only includes axes. 
  • added: new feature to allow mobs responsible for deaths to be considered for looting and required items, with config settings:
    • considermobkillers - (true/false) If true, mobs responsible for deaths are identified and checked for looting modifier, requireitem features. Disabled by default.
  • added: new feature to allow tamed wolves to be considered as killing for their owner (like in vanilla), with config settings: (BukkitDev Request #68)
    • considertameowner - (true/false) If true, the owner of a tamed animal is considered to be the killer instead and the death is considered a pk or mobpk by other features. Disabled by default. Requires considermobkillers to be enabled to function since detection of killer-animals must occur.


  • bugfix: fixed a longstanding issue where beheading messages are not broadcasted to the correct players when broadcastradius is enabled.
  • bugfix: suppressed exceptions when broadcast destination is in a different dimension (when using broadcastradius)
  • added: added the option to broadcast when a player beheads a mob (note: mob-on-mob beheadings will not be broadcasted) with the following config.yml settings [similar to PVP beheading broadcasts]:
    • broadcastmob: (true/false) enable or disable broadcast of player-on-mob beheadings (default: false)
    • broadcastmobrange: (integer) set a block radius within which to broadcast to players or 0 for unlimited (default: 0)
  • removed: (developer change) Deprecated NCPHook property removed from plugin class.
  • corrected: (developer change) HeadType.equals() corrected to compare Objects
  • added: (developer change) HeadType.toEnum() added to retrieve enum type value without a cast, in an effort to increase backend maintainability.


  • tidied: stripped excessive maven/manifest information from Plugin JAR.
  • fixed: ensured PlayerHeads-api JAR contains manifest information.
  • removed: removed support for username-based heads (LegacySkullType)
  • removed: removed all "Legacy" skull methods from core code (which were marked deprecated originally).
  • fixed: users with the ability to spawn a player-head can no longer use certain usernames to obtain the corresponding mobhead.
  • note: this change should not affect server support; 1.8-1.14 are still supported. However, the heads created by plugin versions 3.12 and lower will no longer be detected as mob-heads.


Older 4.x changelog is listed here.


Posts Quoted:
Clear All Quotes