Crates live in data/elitetensura/crates/<id>.json. The file name is the crate id. Run
/reload to apply. See Crates for how they play.
The three built-in crates ship as datapack files themselves — common.json, rare.json and
elite.json — so you can read them as working examples.
Crates are not Minecraft loot tables. They are weighted reward lists with their own
schema, described below.
{
"display_name": "Champion's Crate",
"key_item": "elitetensura:elite_key",
"append": false,
"rewards": [
{ "type": "item", "item": "minecraft:diamond", "count": 8, "weight": 35 },
{ "type": "item", "item": "minecraft:netherite_ingot", "count": 1, "weight": 5 },
{ "type": "skill", "skill": "elitetensura:meditation", "weight": 5 },
{ "type": "soul_points", "amount": 1000, "weight": 5 }
]
}
| Field | Type | Meaning |
|---|---|---|
display_name |
string | Defaults to the id if omitted |
key_item |
item id | The key that opens it. Required unless append is true |
append |
boolean | Merge these rewards into an existing crate instead of replacing it |
rewards |
list | Weighted reward pool |
weight defaults to 1. Odds are that entry’s weight divided by the sum of all weights — so in
the example above, the diamond entry at weight 35 out of a total of 50 is a 70% roll.
Players can see these odds in game by left-clicking the crate, so there is no hidden-rate
problem: whatever you write here is what they will read.
{ "type": "item", "item": "minecraft:diamond", "count": 8, "weight": 35 }
{ "type": "skill", "skill": "elitetensura:meditation", "weight": 5 }
{ "type": "soul_points", "amount": 1000, "weight": 5 }
count.A crate may hand out keys, including its own, which is how the built-in crates chain.
The most useful trick here is "append": true. It merges your rewards into an existing crate,
keeping that crate’s display name and key:
{
"append": true,
"rewards": [
{ "type": "item", "item": "mypack:custom_sword", "weight": 3 }
]
}
Save that as elite.json in your pack and your sword joins the Elite Crate pool without you
having to restate the entire built-in loot list. This is almost always what you want when
adding pack-specific rewards.
Without append, a file with an existing id replaces that crate entirely.
A new crate id is not automatically placeable or reachable. Plan how players get it:
/etadmin crateappend)There are no crafting recipes for keys by default — that is deliberate, since keys are meant to
be earned rather than farmed.