The “contents” property is the most hardest part here. It consists of a multiple json objects where each one represents a so-called ‘action’ that can add/remove single/multiple items to a case. There are six different actions:

“single” – adds a single item. It has several extra properties such as:

“amount” [Could be either a single number or a range (for random item amount. e.g. ‘1-10’ will drop from one to ten items] Defaults to ‘1’),

“nbt” – an item’s extra data (so-called ‘Named Binary Tag’ which is moustly used for items that store energy or mana, etc.)

“enchant” – a chance for a tool to have a random enchantment (minimal (and default) value: 0, maximal: 1)

“rarity”- an integer value from 0 to 4 that says how rare the item is.

“extended” – works the same way as “single” but has no “meta” property because it adds all the item’s variants to the case at once.

“oredict” – this one is similar to “extended” but it finds item by their ‘oredict name’ instead of item id. It also has several builtin values such as ‘ingos’ for every ingot, ‘gems’ for every gem, ‘ores’ for every ore and ‘ingotBlocks’ for every ingot block. (e.g. “type”: “ingot”)