Skip to content

4.0.0

Latest

Choose a tag to compare

@wallenjos01 wallenjos01 released this 02 Feb 23:50

The mod has been mostly rewritten for greater expandability and to work with the latest version of MidnightCore.

The most significant changes for users of the mod are as follows:

  • Versions up to 1.20.4 are now supported with the latest pre-release of MidnightCore.
  • The saved skin format has been updated.
    • The mod will attempt to update skins saved in the format used by the 3.x version of the mod.
    • Skins are no longer stored in a list. They are now stored in a dictionary where each key is the skin's id and each value is the skin's configuration.
    • The key in_random_selection has been inverted and is now known as excludeInRandom
  • Additional options for skins can be specified
    • Skins can now be selectively excluded from the GUI with a key called excludeInGUI
    • Skin permissions are now specified using the permission field.
      • If a skin has no specified permission, it is accessible to any player who can access the /skin command or a GUI
  • Default options can now be specified for all skins in a given file
    • The root of a skin file can now have a defaults key with the following values:
      • id: A pattern for automatically changing the ID of skins as they are loaded. The skin's specified ID will be passed to the value as the %id% placeholder.
        • For example, if id is defined as my_%id%, then all skins in the file will have the text "my_" prepended to their ID as they are loaded.
      • name: A pattern for automatically naming skins as they are loaded. The skin's specified and resolved IDs are passed to the value as the %raw_id% and %id% placeholders, respectively.
      • permission: A pattern for automatically applying permissions to skins as they are loaded. The skin's IDs are passed to the value as placeholders in the same format as for the name.
      • groups: Defines groups to be added to the skin
      • excludeInRandom: Whether skins in the file should by default be excluded from the random selection of /skin setrandom
      • excludeInGUI: Whether skins in the file should by default be excluded from appearing in the GUI of /skin set
  • The command syntax has slightly changed.
    • The /skin head command has been renamed to /skin item
    • The /skin edit command can now specify both excludeInGUI and permission values
  • For Spigot users: The mod is now distributed in two versions: One compiled against Java 8, and another compiled against Java 17.
    • The Java 8 version should be used for Minecraft servers running version 1.16.x or lower.
    • The Java 17 version should be used for Minecraft servers running version 1.17.x or higher.
  • A mitigation was added for MC-68487
    • MC-68487 is a Minecraft client bug which affects versions prior to 1.16.2
    • The bug caused player heads with the same owner to all be rendered the same, even if they have different textures.
    • This meant that all skins saved by the same player would render with the same skin texture in the GUI.
    • The plugin now automatically generates a new UUID for each head item based on the skin texture on servers running versions older than 1.16.2.

Changes since the previous pre-release:

  • YAML lang entries are once again supported.
  • Multi-page GUIs now work as intended
  • The mod now uses features introduced in MidnightCore 2.0.0-pre6, making it incompatible with older versions of MidnightCore.