GroupeZ Docs
Configurations

Item Rules

Flexible item-matching system used to validate items dropped into a menu

Item rules are a flexible item-matching system. Instead of comparing an item against a single fixed item stack, a rule describes a set of conditions an item must satisfy (its material, its name, its lore, a custom-model-data range, a plugin item id, etc.).

Rules are mainly used by the item_drag button to decide whether a player is allowed to drop an item into a slot.

Defining a rule

A rule is defined with a rule section. Each rule has a type and its own options:

rule:
  type: material
  materials:
    - DIAMOND
    - EMERALD

You can combine several rules with the and / or composite types (see Combining rules).

The item_drag button

The item_drag button lets a player place (drag) an item into a slot. You can validate the dropped item with a rule, show a check-item placeholder and display an error-item when the item is refused.

items:
  drop-here:
    slot: 13
    type: item_drag

    # Optional: item shown in the slot when it is empty
    check-item:
      type: full
      item:
        material: LIGHT_GRAY_STAINED_GLASS_PANE
        name: "&7Drop a diamond here"

    # Optional: item flashed when the dropped item is refused
    error-item:
      duration: 20      # In ticks (default: 20)
      use_cache: true   # Default: true
      item:
        material: RED_STAINED_GLASS_PANE
        name: "&cInvalid item!"

    # Only items matching this rule are accepted
    rule:
      type: material
      materials:
        - DIAMOND
OptionTypeDescription
check-itemItemItem shown in the slot (with a comparison type, default full)
error-itemItemItem flashed when a refused item is dropped (duration, use_cache)
ruleRuleThe rule the dropped item must match to be accepted

check-item / check_item and error-item / error_item are interchangeable (both spellings work).

Rule types

material

Matches an exact material.

rule:
  type: material
  materials:
    - DIAMOND
    - EMERALD_BLOCK
KeyTypeDescription
materialsListThe list of accepted materials

material-contains / material-prefix / material-suffix

Match the material name by substring, prefix or suffix. Useful to accept whole families of materials (all wool, all logs, etc.).

rule:
  type: material-contains
  patterns:
    - "WOOL"        # matches WHITE_WOOL, RED_WOOL, ...
rule:
  type: material-prefix
  prefixes:
    - "DIAMOND_"    # matches DIAMOND_SWORD, DIAMOND_PICKAXE, ...
rule:
  type: material-suffix
  suffixes:
    - "_LOG"        # matches OAK_LOG, BIRCH_LOG, ...
TypeKeyDescription
material-containspatternsSubstrings the material name must contain
material-prefixprefixesPrefixes the material name must start with
material-suffixsuffixesSuffixes the material name must end with

name

Matches the item's display name.

rule:
  type: name
  match-type: CONTAINS   # EXACT (default), PREFIX, SUFFIX or CONTAINS
  ignore-case: true      # Default: true
  names:
    - "Legendary"
KeyTypeDescription
namesListThe list of names to match
match-typeStringEXACT (default), PREFIX, SUFFIX or CONTAINS
ignore-caseBooleanCase-insensitive matching (default: true)

lore

Matches the item's lore.

rule:
  type: lore
  match-type: CONTAINS   # CONTAINS (default) or EQUALS
  ignore-case: true      # Default: true
  values:
    - "Soulbound"
KeyTypeDescription
valuesListThe lines to look for in the lore
match-typeStringCONTAINS (default) or EQUALS
ignore-caseBooleanCase-insensitive matching (default: true)

tag

Matches a vanilla Minecraft material tag (for example minecraft:planks, minecraft:wool).

rule:
  type: tag
  tags:
    - "planks"
    - "wool"
KeyTypeDescription
tagsListThe list of material tags to match

Aliases: tag, material-tag, material_tag, tags.


custom-model-data

Matches the item's custom model data, either by exact value or by range.

rule:
  type: custom-model-data
  values:
    - 1001
    - 1002
  ranges:
    - min: 2000
      max: 2999
KeyTypeDescription
valuesListAccepted custom-model-data values
rangesListAccepted ranges, each with min and max

Plugin item rules

These rules match a custom item by its plugin id. They support wildcards and an ignore-case option (default true), and require the corresponding plugin to be installed.

rule:
  type: itemsadder
  ignore-case: true
  items:
    - "myitems:ruby"
    - "myitems:*"      # wildcard

Available plugin rule types: craftengine, denizen, eco, executableblocks, executableitems, headdatabase, itemsadder, mmoitems, nexo, nextgens, nova, oraxen, slimefun.

KeyTypeDescription
itemsListThe list of item ids to match (wildcards supported)
ignore-caseBooleanCase-insensitive matching (default: true)

Combining rules

Use and / or to combine several rules.

and — the item must match every sub-rule:

rule:
  type: and
  rules:
    - type: material
      materials:
        - DIAMOND_SWORD
    - type: name
      match-type: CONTAINS
      names:
        - "Legendary"

or — the item must match at least one sub-rule:

rule:
  type: or
  rules:
    - type: material
      materials:
        - DIAMOND
    - type: material
      materials:
        - EMERALD
KeyTypeDescription
rulesListThe list of sub-rules to combine

See also

On this page

GroupeZ MCP

Documentation in your AI

MCP lets your AI search GroupeZ documentation and read current examples to help you configure your plugins.

Read-only · No documentation API key needed

1. Copy the server URL

Transport: HTTP (Streamable HTTP). Authentication: none. Your tool uses its own model and subscription limits.

  1. Open Plugins in ChatGPT on the web, then + → Add custom MCP server.
  2. Name it ‘GroupeZ Documentation’, paste the URL above and choose ‘No authentication’. Create and install the plugin.
  3. In a conversation, type @ and select the plugin before asking. If needed, enable search, get_page and list_pages in its settings.
Official setup guide

3. Ask a question

Use GroupeZ MCP to help me create a zMenu inventory. Search relevant pages, read the examples and cite your sources.
Other clients and troubleshooting

For clients using mcpServers, adapt this example to their format:

{
  "mcpServers": {
    "groupez-docs": {
      "url": ""
    }
  }
}

Available tools are search, get_page and list_pages. Refresh the connector’s tools after updates. If your AI cannot access them, check that the connector is enabled in the conversation and your account allows custom MCP servers. Opening the URL in a browser is not an MCP test.