Page cover

⚒️Items

All the subtleties of item creation

Components

tooltip_display - Sets the Components to hide tooltips from. List of all DataComponents can be found here. Use this instead of ItemFlags

max_stack_size - Sets the maximum slot-size of an NexoItem enchantment_glint_override - Sets an override-state for the enchantment glint durability - Sets the durability of this NexoItem hide_tooltip - Hides all tooltips from the given NexoItemon hover food - Defines a few properties specifically relevant to food when an item is consumed consumable - Makes an item consumable, with bunch of sub-properties jukebox_playable - Lets this item be inserted into a Jukebox and play a given song

  • show_in_tooltip - Show song-info in Item-Tooltip

  • song_key - The key of the song (Custom songs requires datapacks)

equippable - Make this item equippable like armor damage_resistant - Specify a damage-type this item is invulnerable to

  • If you want to do multiple damage-types, you need a datapack with a new custom tag

  • All available damage-types can be found here

enchantable - Set the maximum enchantment-cost for this item in an enchanting table glider - Allows the player to glide, like with elytra, when equipped item_model - The base-model for this item, can replace custom_model_data

  • References model in assets/<namespace>/items/<model> -> item_model: namespace:model

tooltip_style - Style of the items tooltip

  • References custom sprite-background at assets/<namespace>/textures/gui/sprites/tooltip/<id>_background

  • References custom sprite-frame at assets/<namespace>/textures/gui/sprites/tooltip/<id>_frame

  • Can be customized & animated using mcmeta Wiki

use_cooldown - Applies a cooldown to all matching items when used use_remainder - Replaces the item with a remainder item if its stack count has decreased after use damage_resistant - The tag-key for the damage-type repairable - What item(s) should be allowed in anvils to repair durability custom_model_data - Used for all the new formatting for 1.21.4 CMD component

Example of all the above properties:

my_item:
  itemname: <gradient:#4B36B1:#6699FF>My Item
  Components:
    tooltip_display:            # Should be used instead of ItemFlags
      - minecraft:enchantments
      - minecraft:attribute_modifiers
    hide_tooltip: true        # If true, hides the entire tooltip on hover
    enchantment_glint_override: false
    durability: 10
    # if the material above isnt a normal tool, but say PAPER
    # The item will not have its durability lowered by actions by default
    # Example of making the tool lower its durability from hitting entities and breaking blocks
    #durability:
    #  value: 10
    #  damage_block_break: true
    # damage_entity_hit: true
    max_stack_size: 10
    tool:
      #damage_per_block:                       # Optional, defaults to 1
      #default_mining_speed:                   # Optional, defaults to 1.0
      rules:
        - speed: 1.0
          correct_for_drops: true             # If mining the given blocks should drop or not
          material: DIAMOND_BLOCK             # The material this rule applies to, also supports list format
          #materials:
          #  - DIAMOND_BLOCK
          #  - NETHERITE_BLOCK
          # List of all tags can be found at https://minecraft.wiki/w/Tag#Block_tags_2
          tag: minecraft:mineable/axe         # The block-tag this rule applies to, also supports list format
          #tags:
          #  - minecraft:mineable/axe
          #  - minecraft:mineable/shovel
    food:
      nutrition: 2
      saturation: 2 
      #can_always_eat: false                   # Optional, default is false
    consumable:
      sound: minecraft:entity.generic.eat     # Optional, default is entity.generic.eat
      consume_particles: true                 # Optional, default is true
      consume_seconds: 1.6                    # Optional, default is 1.6
      animation: EAT                          # Optional, default is EAT
      effects:
        APPLY_EFFECTS:
          mining_fatigue:
            duration: 10
            amplifier: 1
            ambient: false
            show_icon: true
            show_particles: true
            probability: 1.0
        REMOVE_EFFECTS:
        - speed
        CLEAR_ALL_EFFECTS: {}
        TELEPORT_RANDOMLY:
          diameter: 16.0
        PLAY_SOUND:
          sound: minecraft:ambient.basalt_deltas.additions1
    damage_resistant: is_fire
    enchantable: 1
    glider: true
    item_model: minecraft:example         #`assets/minecraft/models/item/example.json`
    tooltip_style: minecraft:example      #`assets/minecraft/textures/gui/sprites/tooltip/example_(background & frame)`
    use_remainder:
      #minecraft_type: DIAMOND
      #crucible_item: crucibleid
      #eco_item: ecoid
      #mmoitems_id: id
      #mmoitems_type: type
      nexo_item: itemid
    use_cooldown:
      seconds: 1.2                        #Default is 1.0
      group: nexo:example               #Default is `nexo:itemid`, set to ""-blank to affect by material
    damage_resistant: minecraft:is_fire   #This acts as a replacement for isFireResistant from 1.21
    repairable: minecraft:planks          # Supports a single string or list of strings
      #- minecraft:diamond                # Both individual materials and tags are supported
    equippable:
      slot: HEAD
      #model: minecraft:example           Optional, primarily useful for Custom-Armor
      #camera_overlay: minecraft:example  Optional, used by carved_pumpkin etc, example; `assets/minecraft/textures/example.png`
      #equip_sound: item.armor.equip_chain
      #allowed_entities:                  Optional, defaults to all entities
      #  - PLAYER
      #  - SKELETON
      #dispensable: true                  Optional, default is true
      #swappable: true                    Optional, default is true
      #damage_on_hurt: true               Optional, default is true
    custom_model_data:                  #In-depth explanation here: https://minecraft.wiki/w/Data_component_format#custom_model_data
      #floats: [ 1f, 2f, ...]            #Optional, same logic as with CMD before
      #colors: [ 1, 123456, [r, g, b]]
      #string: [ "something", "somethingelse", ...]
      #flags: []

ItemTemplate

This allows you to easily copy properties from a template-item onto other items. In the template item:

template_item:
  template: true
  material: DIAMOND_SWORD
  ...

In the item you want to copy the properties to:

template_item1:
  template: template_item
  itemname: Template Item 1

template_item2:
  template: template_item
  itemname: Template Item 2
  material: CLOCK

PersistentData

This lets you add custom data into the items PersistentDataContainer. These exist within the PublicBukkitValues of the item. Type is the type of data to add. Supported types can be found here. Nexo also has some custom DataTypes which can be used, like UUID. These can be found here

myitem:
  PersistentData:
    - type: STRING
      key: mynamespace:something
      value: "Hi this is a string"

Itemname

This allows you to change the name displayed of your item without interfering with renamed items.

my_item:
  itemname: "<red><bold>Example" #example name

Displayname

This is only useful on 1.20.4, above it will just use Itemname custom_name will set the displayname/customname if you need to use this legacy feature

my_item:
  displayname: "<red><bold>Example" #example name
  #customname: "<red><bold>Example" #example name

Material

This allows you to change the item type

my_item:
  material: WOODEN_SWORD

Color

This allows you to change the color of an item made of a supported material (e.g. leather armor).

my_item:
  color: 3, 252, 136 #rgb

Lore

This allows you to add lines of text under the item name.

my_item:
  lore:
  - "One line"
  - "<green>Another line"

Disable Enchanting

This options allows you to prevent an item from being enchanted via anvils or enchantment tables. This does not prevent enchantments from being applied in the config.\

my_item:
  disable_enchanting: true

excludeFromInventory

This option allows you to exclude an item from the nexo inventory. It will no longer be displayed but you can still get it using nexo give command. It is useful for items used in other plugins like inventory icons.

my_item:  
  excludeFromInventory: true

unbreakable

my_item:
  unbreakable: true

ItemFlags

This allows you to set ItemFlags to an item, get the list of available flags here.

my_item:
  ItemFlags:
    - HIDE_ENCHANTS
    - HIDE_ATTRIBUTES
    - HIDE_UNBREAKABLE
    - HIDE_DESTROYS
    - HIDE_PLACED_ON
    - HIDE_POTION_EFFECTS

PotionEffects

This allows you to add custom Potion Effects to your potion. Get the list of available effects here.

my_item:
  PotionEffects:
    # - type: Get the list here: https://jd.papermc.io/paper/1.21.3/org/bukkit/potion/PotionEffectType.html
    # - duration: in ticks
    # - amplifier: potion effects level
    # - ambient: true/false, makes potion effect produce more, translucent, particles.
    # - particles: true/false, whether this effect has particles or not
    # - icon: true/false, whether this effect has an icon or not
    - type: WITHER
      duration: 200
      amplifier: 2
      ambient: false
      particles: true
      icon: true

AttributeModifiers

This allows you to add minecraft attributes to your item. They are very powerful and allow you to make an item that adds hearts, increases the player's speed, etc. Get the list of available attributes here.

my_item:
  AttributeModifiers:
    # - attribute: Get the list here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html
    # - operations: 0 for ADD_NUMBER, 1 for ADD_SCALAR, 2 for MULTIPLY_SCALAR_1;
    # - slot: HAND, OFF_HAND, FEET, LEGS, CHEST or HEAD
    - attribute: GENERIC_MOVEMENT_SPEED
      amount: 0.1 
      operation: 0
      slot: HAND

Enchantments

If you want to enchant your item (even with non vanilla levels like for example sharpness 15), you can do it with this section.

my_item:
  Enchantments:
    protection: 4
    flame: 34
    sharpness: 18

How do I set a specific CustomModelData?

my_item:
  Pack:
    parent_model: "custom/items/generated_elite"
    texture: custom/items/elite_zombie_walk
    custom_model_data: 452

Pack options

This part has a dedicated page, you can consult it here.

Mechanics options

This part has a dedicated page, you can consult it here.

Last updated