HatCosmetics icon

HatCosmetics -----

An easy way to implement resource pack models as hats!



ATTENTION
This plugin is no longer in development by me, Tonus_. To let the plugin keep going without updates, version 2.0.0+ no longer includes the API the plugin depends on, NBT-API. NBT-API is now a dependency that is required and can be downloaded here. All 1.x.x versions include the API, but will not work with future versions. The source code of the plugin can be found on its GitHub repo.

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:
border: LIGHT_BLUE_STAINED_GLASS_PANE

# 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

hats:
  # 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!"

How do you make custom models for hats?
I personally use a program called BlockBench. You can check out their quick start guide here.
Resource Information
Author:
----------
Total Downloads: 7,787
First Release: Aug 24, 2020
Last Update: Jul 22, 2024
Category: ---------------
All-Time Rating:
12 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings