Lists/Advanced Lists

Advanced lists are a new feature in version 1.9.
Make sure you update!

Overview

Basic list items allow you to select an item by its id and damage value. However, you sometimes need more than that.
Advanced lists provide a way of filtering more properties of an item like its enchantments or its name.


Usage

In your lists.txt file, add your item entry after a $list declaration just like with a regular item. You can specify a list of selectors that serve as conditions for the item. Surround the selectors with { and } and separate them with a comma.

Syntax:

{ selector1, selector2, ... }

Tip: For better overview, you can have your item declaration split up on multiple lines! Whitespaces (spaces, new lines, indentions) don't matter!


Selectors

A selector filters the item by a property. Only if all selectors matched an item stack, it will be considered part of the list.

It consists of three elements:

<item-property> <operator> <value>

Item Property

The item property specifies which property of the item to compare.

PropertyDescriptionExpected valueExampleExample description
idThe item id of the item stack.numberid=5Filters items with id 5 (wood).
dataThe damage value of the item stack.numberdata>0Filters items with damage value of at least 1.
amountThe amount of items in the stack.numberamount=64Filters only full item stacks.
enchantmentLooks for the presence of a specific enchantment. See below.enchantmentenchantment=durability.1Filters items with the "Unbreaking I" enchantment.
enchantment-countThe amount of enchantments on the item.numberenchantment-count=0Filters items without enchantments.
typeA certain type of item. See below.item-typetype=pickaxeFilters pickaxes of any material.
nameThe name of a renamed item.stringname=TestFilters items named "Test".
loreThe lore of an item (all lines).stringlore<>noneFilters all items that have a lore text.

__

Operator

The (logical) operator specifies what has to be the case for the selector to match. It compares the item property with the value and gives a result.

OperatorDescriptionApplicable value types
=Matches when property is exactly equal to value.all
!=Matches when property is not equal to value.all
<Matches when property is smaller than value.number, string, enchantment with level
<=Matches when property is smaller or equal to value.number, string, enchantment with level
>Matches when property is greater than value.number, string, enchantment with level
>=Matches when property is greater or equal to value.number, string, enchantment with level

__

Value

There are various value types that can be used for their corresponding item property. Some are dead simple, some are more complex.

Value typeDescriptionApplicable operators
numberSimply a number ...all
stringA string.
There's no need for quotes, spaces are allowed.
all
> means "property is contained in value"
>= means "property is contained in or is equal to value"
< means "value is contained in property"
<= means "value is contained in or is equal to property"
item-typeAn item type. Possible values:
* weapon
* sword
* tool
* pickaxe
* shovel
* axe
* hoe
* armor
* helmet
* chestplate
* pants
* boots
= and !=
enchantmentCan optionally include a level.
<enchantment-name>
<enchantment-name>.<level>

Enchantment names need to be taken from this list.
Without level: = and !=
With level: all

Page is in development. Please bare with me for what is still missing!