HatCosmetics 1.2.0-b3

An easy way to implement resource pack models as hats!

  1. Tonus_
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    What does this plugin do?
    HatCosmetics provides a simple way of implementing custom resource pack models using custom model data to your server. All the provided "hats" are put into a customizable GUI where the player can equip a hat, so long as they do not have actual armor on and they have permissions to that hat. On top of providing an easy way to obtain the custom models, there are features to ensure it stays on the player's head and not somewhere else.

    What features does this plugin offer?
    • A GUI to access all hats: This GUI acts as the plugin's main menu where players can browse and selects hats to equip. They are able to view all the hats, but can only equip ones they have permissions to. The border surrounding the hats can be set to any item, including air!
    • Prevent removal of hat from death/inventory: Even if keep inventory is disabled, players will not be able to drop their hat or put it somewhere else in their inventory (creative players can freely move hats in their inventory). Players can unequip hats outside of creative mode by using the unequip command or by simply clicking the hat in their inventory.
    • Plugin's config can be reloaded without restarting server: If you need to quickly add a hat, change the GUI size, or items, you do not have to worry about restarting your server to make those changes!
    • Full hat and message customization: Make your hats unique with custom names, descriptions, and specific items for individual hats. In addition, you can change plugin's messages to your heart's content!

    What are the commands for the plugin?
    Alias for /hats: /hatcosmetics
    /hats (Opens GUI for hat selection)
    - hatcosmetics.hat.<hat> (Access to specified hat)
    /hats help (Opens command list for plugin)
    /hats equip <hat> [player] (Equips the hat specified)
    - hatcosmetics.equip.other
    /hats unequip [player] (Removes hat if player has one)
    - hatcosmetics.unequip.other
    /hats reload (Reloads config)
    - hatcosmetics.reload

    What does the config look like?
    Below contains a preview of what the default config.yml looks like:
    Code (Text):
    # HatCosmetics config version: 3
    # For both my sake and yours, please DO NOT change the config version!

    # Refer to Spigot-API Materials for list of items: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
    # Item used for all hats:
    item: FEATHER
    # Item used to border the hats in the GUI:

    # The number of hat rows in the GUI (must be between 1 and 4)
    # This is only for the actual hats and not the two rows for the border and close menu item
    gui_rows: 1

      # This is where you add your hats
      staffHat:             # The name used for /hats equip and the hat's permission
        #item: DIAMOND_HOE  # (OPTIONAL) Only use if your hat uses a different item from the rest
        data: 1000101       # The custom model data defined in your resource pack for the item
        name: "&fStaff Hat" # The name displayed on the item
        #description:       # (OPTIONAL) Adds list of text underneath the "Hat Cosmetic" line
        #  - ""
        #  - "&bShow who's boss!"
    Code (Text):
    # HatCosmetics messages version: 2
    # For both my sake and yours, please DO NOT change the messages version!

    # Placeholders:
    # {hat} - Returns the name of the equipped/unequipped hat

    # This file is used for the plugin's various messages
    prefix: "&3&lHats"
    suffix: " &3&l>> "

    gui_title: "&b&lHats"
    hat_equip: "&bClick to equip"
    hat_unequip: "&bClick to unequip"

    hat_not_exist: "&bThat hat does not exist!"
    hat_success: "&bYou equipped {hat}&b successfully!"
    hat_success_other: "&bThe player equipped {hat}&b successfully!"
    hat_unequip_success: "&b{hat}&b has been unequipped!"
    hat_unequip_success_other: "&bThat player's {hat}&b has been unequipped!"
    helmet_exist: "&bSomething else is already on your head!"
    helmet_exist_other: "&bThat player already has something on their head!"
    no_hat: "&bYou don't have a hat equipped!"
    no_hat_given: "&bYou must specify a hat to equip!"
    no_hat_other: "&bThat player doesn't have a hat equipped!"
    no_hat_permission: "&bYou do not have permission to equip {hat}&b."
    no_hat_permission_other: "&bThat player does not have permission to equip {hat}&b."
    no_permission: "&bYou do not have permission to do this."
    not_online: "&bThat player is not currently online!"
    plugin_reload: "&bPlugin has been reloaded!"

    What else is planned for this plugin?
    Since this is my first plugin and first release of the plugin, there are certainly things to add/improve on. Here are some things I plan on getting to:
    • Make GUI adapt it's size based on number of hats
    • Add categories for hats
    • Add option to cover/hide cosmetics the player does not have permission to
    • And more...
    Want to see what's currently being working on? Check out the plugin's Trello page!

    How do you make custom models for hats?
    I personally use a program called BlockBench. You can check out their quick start guide here.
    If you want to see the resource pack that I use in the default config, you can download it for yourself over on the Discord server.

    Please be sure to leave your honest, constructive reviews so I can try improving the plugin!
    If you are having any issues or would like to provide suggestions, please let me know in the "Discussion" tab or on my Discord!
    ItsCake_ and FoxSpellCaster like this.

Recent Reviews

  1. CraftBlack
    Version: 1.1.1
    please update 1.18! .
    1. Tonus_
      Author's Response
      This really isn't the place to ask for updates to the plugin, but I just updated the plugin to support 1.18. Hopefully you'll enjoy using the plugin!
  2. MinecraftAdmin
    Version: 1.1.1
    Just the plugin I was looking for. Thank you for its continued development!!!!!!
    1. Tonus_
      Author's Response
      Thanks for the review! It's good to hear this was what you were looking for.
    Version: 1.1.1
    very good plugin! I would love for a future to have more hats in addition to the staff hat: D
    1. Tonus_
      Author's Response
      Thank you for the review! You can add plenty of your own hats, you don't have to just use the example hat I provide.
  4. jarnoboy404
    Version: 1.1.0-b4
    Wow, simple but also really handy and nice plugin. Keep up the good work man! Thanks
    1. Tonus_
      Author's Response
      Thanks for the review! I'm glad my first ever resource was able to help you out, and hopefully I do keep updating it!
  5. Jaymoney1
    Version: 1.1.0-b3
    The plugin is great! Had an error but with a quick message to the dev I had the issue fixed within a day. Great plugin and 100% recommend.
    1. Tonus_
      Author's Response
      Thanks for the review, and I'm glad I could be of service!
  6. FlekMoon
    Version: 1.1.0-b2
    10/10 Support, fantastic. It worked like a charm and the developer helped me customize the Menu. Keep it up.
    1. Tonus_
      Author's Response
      Thanks for the review! I'm always open to feedback and answering questions, and those end up driving me to keep coming back to the project.
  7. josetto10
    Version: 1.0.0
    Very good plugin, I wish I could have a direct command to the hat for example /hat (my hat name)
    1. Tonus_
      Author's Response
      Thanks for the review! I do want to add a mode where instead of getting your hats from a GUI, you can get the actual items and equip them like normal armor, but adding a give command probably wouldn't have to wait for that!
  8. Resur
    Version: 1.0.0
    I always wanted a plugin like that! So far I haven't had any bugs, I hope it's like that :D
    1. Tonus_
      Author's Response
      Thanks for the review! If there's anything you'd like to see added that I don't already have listed on the page, please suggest them in the discussion tab!
  9. Casidesigns
    Version: 1.0.0
    VERY Poor resource. Tons of bugs, can drag out the hats, duplicate them and for some reason it does more than 30% load alone. A plugin like this should do no load whatsoever.
    1. Tonus_
      Author's Response
      Thanks for the review! In creative mode you can drag the hat off yourself and use the middle-mouse button to duplicate them. I unfortunately cannot stop inventory clicks for creative inventories. As for the lag, my test and public server show no signs of lag from timings. Please let me know if I'm missing something!