Cobblemon - Show Held Items
This is an add-on mod for Cobblemon that won't function without the main Cobblemon mod installed.
This modification enables the display of items that Pokémon are holding in the game world. When connecting to a server without this mod, only your own Pokémon's items will be visible.


Technical Information
Server Configuration
The server can control item display by hiding them or showing them as hats/glasses using a datapack that replaces the item tag files "hidden_items.json", "wearable_eye_items.json", or "wearable_hat_items.json". Hidden items will still be visible to the Pokémon's owner.
Path for hidden items:
datapacks[YOUR_SERVER_DATAPACK]\data\show-held-items\tags\items\hidden_items.json
Default file settings:
{
"replace": true,
"values": [
"#cobblemon:held/is_held_item",
"#cobblemon:berries"
]
}
Any modded or vanilla items can be added here.
Paths for eye items and hats:
datapacks[YOUR_SERVER_DATAPACK]\data\show-held-items\tags\items\wearable_eye_items.json
datapacks[YOUR_SERVER_DATAPACK]\data\show-held-items\tags\items\wearable_hat_items.json
Example using Villager Hats and Simple Hats:

wearable_eye_items.json:
{
"replace": false,
"values": [
"simplehats:clockface",
"simplehats:sunglasses"
]
}

wearable_hat_items.json:
{
"replace": false,
"values": [
"#villagerhats:hats"
]
}
Compatibility With Other Models
If some Pokémon don't display their held items or you want custom Fakemon to show their items, you can add a locator to the model named "held_item" or "held_item_fixed".
The "held_item" locator displays items the same way players do. This works best for items like spyglasses, tridents, and other tools.

Sometimes items held like players look incorrect. For bird-like or dog-like Pokémon, it's better to use "held_item_fixed". This displays the flat default item model.

To change the item's rotation, simply change the locator's rotation.
To support wearable hats or eye items, add locators "held_item_head" and "held_item_eyes" to the model near the eyes or on top of the head.

If the item is the wrong size, you can add modifiers to locators using Null Objects. Give the Null Object the name of the locator you want to modify followed by square brackets and a scale value, for example, "held_item_head[scale=2.25]".
