The editor writes these files for you. This page is for when you want to know exactly what a field does, or use Edit raw JSON. Field names are case-insensitive. Leaving a field out uses the default.
items.jsonA list of items: [ { ... }, { ... } ].
| Field | Type | Default | What it does |
|---|---|---|---|
id |
text | required | Unique lowercase ID, no spaces. |
name |
text | the ID | Name shown in-game. |
description |
text | empty | Tooltip text. |
sprite |
text | required | Image file in the pack's Assets/ folder. |
category |
text | food if edible, else material |
Loot pool. Vanilla pools: food, water, medical, drug, tool, container, utility, trash, custom, unobtainable. Also decides the "unknown ___" name before the item is recognised. |
weight |
number | 0.4 |
Carry weight. |
value |
whole number | 5 |
Trade value. |
decayMinutes |
number | 180 |
Spoilage time. |
recognition |
whole number | 2 |
INT needed to identify the item. |
tags |
text | cangetwet |
Comma separated tags, e.g. cangetwet,medicine. |
spawnFrequency |
number | 1 |
How often it spawns in the world. 0 = never, 0.2 = rare. |
slotRotation |
number | 0 |
Rotation of the icon in inventory slots. |
destroyAtZeroCondition |
yes/no | yes for food, no for containers | Delete the item when condition hits 0. |
| Field | Type | What it does |
|---|---|---|
imageSize |
text | A vanilla item ID (e.g. geofruit) to copy its in-game size, or a raw pixels-per-unit number. |
pixelsPerUnit |
number | Direct pixels-per-unit. Wins over imageSize. Without either, the image is 1 world unit across. |
spriteScale |
number | Extra world sprite scale. |
inventoryIconScale |
number | Inventory icon scale. |
isFood and effects)| Field | Type | What it does |
|---|---|---|
isFood |
yes/no | Makes the item usable (eat/drink). Without it, effects do nothing. |
effects.foodType |
whole number | 0 processed (default), 1 meat, 2 plant. The game uses this for diet rules. |
effects.hunger |
number | Hunger restored. |
effects.thirst |
number | Thirst restored. |
effects.weightGain |
number | Body weight gain. |
effects.happiness |
number | Happiness change. |
effects.sickness |
number | Sickness added. |
effects.temperature |
number | Body temperature change (positive warms). |
effects.conditionCost |
number | Condition used per use. Default 1.0 (one use eats it all). |
effects.sound |
text | Sound ID: eatCrunch, eatFlesh, drink, useItem. |
effects.dialogue |
text | Line the character says. |
effects.eatGood / effects.eatBad |
yes/no | Positive or negative reaction line. Ignored if dialogue is set. |
Setting capacity turns the item into a container. Edible containers are drunk from.
| Field | Type | Default | What it does |
|---|---|---|---|
capacity |
number | none | Max liquid in ml. |
autoFill |
yes/no | game default | Refill when standing in liquid. |
combineable |
yes/no | yes | Pour into / out of other containers. |
scaleWeightWithCondition |
yes/no | yes | Weight follows the fill level. |
liquidMask |
text | none | Greyscale fill overlay image in Assets/. |
defaultContents |
list | empty | Starting liquids: [ { "liquidId": "water", "amount": 250 } ]. |
qualities: what the item counts as in recipes, e.g. [ { "id": "cutting", "amount": 1 } ]. Vanilla qualities: blood, condiment, cutting, disinfectant, dressing, fat, firestarter, flammable, flour, foliage, hammering, heatsource, meat, nails, opiate, produce, rippable, water.
recipes.jsonA list of recipes.
| Field | Type | Default | What it does |
|---|---|---|---|
resultId |
text | required | Item or liquid that gets made. |
resultAmount |
whole number | 1 |
How many are made. |
resultCondition |
number | 1.0 |
Starting condition (0-1), or ml for liquid results. |
isLiquidResult |
yes/no | no | Result is a liquid poured into a container. |
dontDrainResultLiquid |
yes/no | no | Don't empty the result container first. |
category |
text | Food |
Crafting tab: Materials, Tools, Medicine, Utilities, Food. |
intRequirement |
whole number | 2 |
INT needed. |
specialKnown |
yes/no | yes | Always visible. No = hidden until INT is high enough. |
isRepair |
yes/no | no | Marks it as a repair recipe. |
ingredients |
list | See below. |
Each ingredient is one of three kinds:
{ "id": "woodscraps", "count": 2, "minimumCondition": 0.5 }. count defaults to 1, minimumCondition to 0.9. Used up unless "destroyItem": false.{ "id": "water", "isLiquid": true, "amount": 100 }. amount is ml (default 100). Drained from a container.{ "quality": "heatsource", "amount": 1 }. Any item with that quality. Not used up by default (good for tools and fires).destroyItem: false keeps tools: they lose condition instead of disappearing.
[
{
"id": "fire.smokedmeat",
"name": "Smoked meat",
"description": "Tough, salty, keeps for ages.",
"sprite": "smokedmeat.png",
"imageSize": "geofruit",
"category": "food",
"decayMinutes": 2000,
"isFood": true,
"effects": { "foodType": 1, "hunger": 30, "sound": "eatFlesh", "eatGood": true }
}
]
[
{
"resultId": "fire.smokedmeat",
"category": "Food",
"ingredients": [
{ "id": "animalflesh", "count": 1 },
{ "quality": "heatsource", "amount": 1 }
]
}
]