promotional bannermobile promotional banner

Novelty API

Novelty is a small addons that add 24 additional equipment slot to player.
Novelty is a small addon that adds an additional equipment slot to the player. It adds 24 new slots, including a hat, face, neckless, 2 bracelets, 2 hands, 2 feet, belt, back, spellbook, 2 charms, and 10 trinkets. This addon doesn't add any accessories; it is intended to be used by other addons.
 

compatibility:

if you want to add your items to be compatible with accessories slot, you have two opitions to make your own compatibility by usings tags and commands or scriptings with additional library.

option 1: using custom tags

you can add those tags to your custom items:
"novelty:is_hat": Add item can be eqipped at hat slot, 
"novelty:is_belt": Add item can be eqipped at belt slot,
"novelty:is_face": Add item can be eqipped at face slot,
"novelty:is_hand": Add item can be eqipped at hand slot,
"novelty:is_bracelet": Add item can be eqipped at bracelet slot,
"novelty:is_trinket": Add item can be eqipped at trinket slot,
"novelty:is_back": Add item can be eqipped at back slot,
"novelty:is_neckless": Add item can be eqipped at neckless slot,
"novelty:is_foot": Add item can be eqipped at foot slot,
"novelty:is_spellbook": Add item can be eqipped at spellbook slot,
"novelty:is_charm": Add item can be eqipped at charm slot
player has equipped accessories slot will have tag "novelty:<item identifier>",
 
 
example code:

items/test_item.json

{ 
"format_version": "1.20.80",
"minecraft:item": {
"description": {
"identifier": "example:item_hat",
"menu_category": {
"category": "equipment"
}
},
"components": {
"minecraft:icon": "brush",
"minecraft:tags": {
"tags": [
"novelty:is_hat"
]
},
"minecraft:max_stack_size":  1
}
}
}
 
and the command sample uses a tag selector:
execute at @a[tag=novelty:example:item_hat] run effect @s levitation

 

option 2: using custom library scripting

using a scripting library can be able to define vanilla items to accessouries slot, by using scripting you can also interacting into the item like see dynamic properties, durability, and also replacing the item.
you can copy the library inside the script behavior pack at path "scripts/lib/NoveltyManager.js".
 
here is some little documentation:
Interface AccessoriesSlot:
    Hat: "Hat"
    Belt: "Belt"
    Face: "Face"
    Hand: "Hand"
    Bracelet: "Bracelet"
    Trinket: "Trinket"
    Back: "Back"
    Neckless: "Neckless"
    Foot: "Foot"
    Spellbook: "Spellbook"
  Charm: "Charm"

Class NoveltyManager:
    static registerAccessoriesItem(identifier, slot): return void
identifier: string, eg: "minecraft:apple"
slot: Interface AccessoriesSlot, eg: AccessoriesSlot.Hat

    static registerAccessoriesItemFromTag(tag, slot): return void
tag: string, eg: "minecraft:is_sword"
slot: Interface AccessoriesSlot, eg: AccessoriesSlot.Hat

  static getAccessories(player, slot, index = -1): return ItemStack | [ItemStack] | undefined
player: Class Player
slot: Interface AccessoriesSlot, eg: AccessoriesSlot.Hat
index: int, eg: 1
(index is suppose to select the index of the item, like hands with index 0 is left and 1 is right, also with trinket slot can select from 0 - 9, based on total amount of the slot. index -1 is mean to all of the items using array)

  static getAccessoriesSlot(player, slot, index = -1): return ContainerSlot | [ContainerSlot] | undefined
player: Class Player
slot: Interface AccessoriesSlot, eg: AccessoriesSlot.Hat
index: int, eg: 1
(index is suppose to select the index of the item, like hands with index 0 is left and 1 is right, also with trinket slot can select from 0 - 9, based on total amount of the slot. index -1 is mean to all of the items using array)

  static getAllAccessories(player): return [ItemStack]
player: Class Player

    static getAllAccessoriesSlot(player): return [ContainerSlot]
player: Class Player

    static setItem(player, slot, itemStack): return void
player: Class Player
slot: Interface AccessoriesSlot, eg: AccessoriesSlot.Hat
itemStack: Class ItemStack
 
example code:
import { NoveltyManager, AccessoriesSlot } from "./lib/NoveltyManager"; 
import { system, world } from "@minecraft/server";

NoveltyManager.registerAccessoriesItem("minecraft:apple", AccessoriesSlot.Face);

system.runInterval(()=>{
    for(let playerData of world.getPlayers()){
        let face = NoveltyManager.getAccessoriesSlot(playerData, AccessoriesSlot.Face);
        if(face != undefined && face.typeId == "minecraft:apple"){
            playerData.runCommand("say using apple")
        }
    }
}, 5);
if you want to make it simple I recommend using option 1 but if you using more complex I recommend using option 2


The Novelty API Team

profile avatar
Owner
  • 568
    Followers
  • 14
    Projects
  • 4.6M
    Downloads

More from qduoubpView all

  • UI Queue project image

    UI Queue

    • 420.1K
    • Scripts

    UI queue is a script that transforms the title command into a custom UI prompt. This script is created for preventing overlapping displayed titles that can break custom UI .

    • 420.1K
    • March 19, 2026
    • Scripts
  • Magnificent Minimap project image

    Magnificent Minimap

    • 723.7K
    • Addons

    Magnificent Minimap is a realtime, responsive, and configurable minimap addon.

    • 723.7K
    • February 5, 2026
    • Addons
    • +4
  • Coldbar Indicator project image

    Coldbar Indicator

    • 106.3K
    • Addons

    Make your gameplay more immersive by add more bars such as armor toughness, extra overloaded armor, saturation and exhaustion hunger.

    • 106.3K
    • November 2, 2025
    • Addons
    • +3
  • Roll and Stamina project image

    Roll and Stamina

    • 997.2K
    • Addons

    Roll & Stamina is an add-on that adds roll and stamina mechanics to Minecraft, allowing players to perform rolls, consume stamina when running, jumping, or rolling, and experience a temporary speed decrease when taking damage.

    • 997.2K
    • October 26, 2025
    • Addons
  • UI Queue project image

    UI Queue

    • 420.1K
    • Scripts

    UI queue is a script that transforms the title command into a custom UI prompt. This script is created for preventing overlapping displayed titles that can break custom UI .

    • 420.1K
    • March 19, 2026
    • Scripts
  • Magnificent Minimap project image

    Magnificent Minimap

    • 723.7K
    • Addons

    Magnificent Minimap is a realtime, responsive, and configurable minimap addon.

    • 723.7K
    • February 5, 2026
    • Addons
    • +4
  • Coldbar Indicator project image

    Coldbar Indicator

    • 106.3K
    • Addons

    Make your gameplay more immersive by add more bars such as armor toughness, extra overloaded armor, saturation and exhaustion hunger.

    • 106.3K
    • November 2, 2025
    • Addons
    • +3
  • Roll and Stamina project image

    Roll and Stamina

    • 997.2K
    • Addons

    Roll & Stamina is an add-on that adds roll and stamina mechanics to Minecraft, allowing players to perform rolls, consume stamina when running, jumping, or rolling, and experience a temporary speed decrease when taking damage.

    • 997.2K
    • October 26, 2025
    • Addons