PlayerHeads v5.0.0 (READ BEFORE USING)


  • Filename
  • Uploaded by
  • Uploaded
    May 19, 2019
  • Size
    116.62 KB
  • Downloads
  • MD5

Supported Bukkit Versions

  • 1.14
  • 1.13
  • 1.12
  • 1.11
  • 1.10
  • 1.9
  • 1.8.1
  • 1.8




Important: this build will not detect very old heads and may break older plugins that depend on PlayerHeads - this is not a bug - read carefully.


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 username-based 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.


Changes in 5.0.0:

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

Changes included from 5.0.0 alpha 2:

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

Changes included from 5.0.0 alpha 1:

  • 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 abuse player heads with certain usernames to obtain the corresponding mobhead. (by the above changes)
  • note: these 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, but instead be detected as Player drops.  (Head loretext will not be automatically updated, except as indicated by fixdroppedheads configuration setting, or when placing/breaking head blocks).

Note: API is unchanged from 5.0.0 alpha 2,

Additional Files