Files
Emberwild/data/items.json
Paul Bailey 67bf85523d M1d: creatures, hunting, weapons, food buffs and the hide cloak
- Rabbits, deer and boars with procedural meshes and animated legs, a
  state machine (idle/wander/flee/charge/dead) and heightmap steering that
  avoids water, cliffs, the world edge, trees and buildings
- Spawner keeps a habitat-based budget around the player (6/4/3)
- Melee needs a weapon or tool (club, spear, axe, pickaxe); box sweep hits
- Wooden spear (thrust or throw) and crude bow with draw-scaled arrows;
  projectiles stick in the world as saved pickups
- Carcasses: E to butcher for meat, hide and embedded arrows
- Boars charge and gore when hit; hurt flash and a brief healing pause
- Cooked meat gives Well fed (faster stamina and healing); buffs saved
- Hide cloak: wear for warmth, saved, goes in the grave on death
- Feathers as meadow pickups (appended, existing save ids unchanged)
- New test_creatures_combat suite; run_all.sh gets a per-suite time limit
2026-11-04 10:55:44 +00:00

380 lines
8.5 KiB
JSON

{
"items": [
{
"id": "stick",
"name": "Stick",
"category": "resource",
"stack": 50,
"description": "A sturdy branch. Handles, kindling, fuel.",
"mesh": "stick",
"fuel": 20
},
{
"id": "stone",
"name": "Stone",
"category": "resource",
"stack": 50,
"description": "A fist-sized stone.",
"mesh": "stone"
},
{
"id": "flint",
"name": "Flint",
"category": "resource",
"stack": 50,
"description": "Sharp-edged stone. Knaps into blades and axe heads.",
"mesh": "flint"
},
{
"id": "wood",
"name": "Wood",
"category": "resource",
"stack": 50,
"description": "Split timber from a felled tree.",
"mesh": "wood",
"fuel": 60
},
{
"id": "stone_axe",
"name": "Stone Axe",
"category": "tool",
"stack": 1,
"description": "Chops trees. Hold it and click on a tree.",
"mesh": "stone_axe",
"tool": {
"kind": "axe",
"tier": 1,
"damage": 1.0
}
},
{
"id": "stone_pickaxe",
"name": "Stone Pickaxe",
"category": "tool",
"stack": 1,
"description": "Breaks boulders into stone and flint.",
"mesh": "stone_pickaxe",
"tool": {
"kind": "pickaxe",
"tier": 1,
"damage": 1.0
}
},
{
"id": "club",
"name": "Wooden Club",
"category": "weapon",
"stack": 1,
"description": "Crude, heavy, effective. One blow fells a rabbit.",
"mesh": "club",
"weapon": {
"damage": 12,
"reach": 2.4,
"stamina": 8,
"cooldown": 0.55
}
},
{
"id": "campfire",
"name": "Campfire",
"category": "placeable",
"stack": 5,
"description": "Light and warmth. Place it, then keep it burning.",
"mesh": "campfire",
"place": {
"piece": "campfire",
"footprint": [
1.4,
1.4
]
}
},
{
"id": "workbench",
"name": "Workbench",
"category": "placeable",
"stack": 1,
"description": "Crafting station for better gear and storage.",
"mesh": "workbench",
"place": {
"piece": "workbench",
"footprint": [
2.0,
1.1
]
}
},
{
"id": "chest",
"name": "Wooden Chest",
"category": "placeable",
"stack": 5,
"description": "Stores 16 stacks.",
"mesh": "chest",
"place": {
"piece": "chest",
"footprint": [
1.2,
0.8
]
}
},
{
"id": "fiber",
"name": "Plant Fiber",
"category": "resource",
"stack": 50,
"description": "Tough stems from bushes. Twine, torch wrapping.",
"mesh": "fiber",
"fuel": 5
},
{
"id": "berries",
"name": "Berries",
"category": "food",
"stack": 30,
"description": "A handful of wild berries. Right-click to eat.",
"mesh": "berries",
"food": {
"hunger": 9,
"health": 2
}
},
{
"id": "mushroom",
"name": "Mushroom",
"category": "food",
"stack": 30,
"description": "Edible raw, much better roasted at a campfire.",
"mesh": "mushroom",
"food": {
"hunger": 6,
"health": 0
}
},
{
"id": "roasted_mushroom",
"name": "Roasted Mushroom",
"category": "food",
"stack": 30,
"description": "Smoky and filling. Right-click to eat.",
"mesh": "roasted_mushroom",
"food": {
"hunger": 24,
"health": 8
}
},
{
"id": "torch",
"name": "Torch",
"category": "tool",
"stack": 1,
"description": "Hold it for light and a little warmth.",
"mesh": "torch",
"light": {
"range": 10.0,
"energy": 1.6,
"heat": 0.3
}
},
{
"id": "grave",
"name": "Grave",
"category": "placeable",
"stack": 1,
"description": "Where you fell. Your belongings are inside.",
"mesh": "grave",
"hidden": true,
"place": {
"piece": "grave",
"footprint": [
1.0,
1.6
]
}
},
{
"id": "wood_floor",
"name": "Wood Floor",
"category": "building",
"stack": 20,
"description": "2 x 2 m. Snaps to other pieces. Sits level on the ground.",
"mesh": "wood_floor",
"place": {
"piece": "build",
"kind": "floor"
}
},
{
"id": "wood_wall",
"name": "Wood Wall",
"category": "building",
"stack": 20,
"description": "2 x 2 m. Snaps to floor edges, other walls and roofs.",
"mesh": "wood_wall",
"place": {
"piece": "build",
"kind": "wall"
}
},
{
"id": "wood_door",
"name": "Wood Door",
"category": "building",
"stack": 10,
"description": "A wall with a door in it. E opens and closes it.",
"mesh": "wood_door",
"place": {
"piece": "door",
"kind": "door"
}
},
{
"id": "wood_roof",
"name": "Wood Roof",
"category": "building",
"stack": 20,
"description": "Rises 1 m over 2 m. Two from opposite walls of a 4 m hut meet at the ridge.",
"mesh": "wood_roof",
"place": {
"piece": "build",
"kind": "roof"
}
},
{
"id": "wood_gable",
"name": "Wood Gable",
"category": "building",
"stack": 20,
"description": "Triangle that closes the end of a roof. R to flip it.",
"mesh": "wood_gable",
"place": {
"piece": "build",
"kind": "gable"
}
},
{
"id": "bed",
"name": "Bed",
"category": "placeable",
"stack": 1,
"description": "Sets your spawn point. Sleep through the night under a roof.",
"mesh": "bed",
"place": {
"piece": "bed",
"footprint": [
1.0,
2.1
]
}
},
{
"id": "raw_meat",
"name": "Raw Meat",
"category": "food",
"stack": 20,
"description": "Cook it at a campfire. Eaten raw it barely helps.",
"mesh": "raw_meat",
"food": {
"hunger": 5,
"health": -4
}
},
{
"id": "cooked_meat",
"name": "Cooked Meat",
"category": "food",
"stack": 20,
"description": "Hearty. Leaves you Well fed: faster stamina and healing for 10 minutes.",
"mesh": "cooked_meat",
"food": {
"hunger": 34,
"health": 12,
"buff": {
"id": "well_fed",
"name": "Well fed",
"seconds": 600,
"stamina_regen": 1.3,
"health_regen": 2.0
}
}
},
{
"id": "hide",
"name": "Hide",
"category": "resource",
"stack": 20,
"description": "Raw hide from a deer or boar. Makes a warm cloak.",
"mesh": "hide"
},
{
"id": "feather",
"name": "Feather",
"category": "resource",
"stack": 50,
"description": "Found in meadows. Fletching for arrows.",
"mesh": "feather"
},
{
"id": "spear",
"name": "Wooden Spear",
"category": "weapon",
"stack": 1,
"description": "LMB thrusts (long reach). RMB throws it: pick it up again where it lands.",
"mesh": "spear",
"weapon": {
"damage": 18,
"reach": 3.1,
"stamina": 10,
"cooldown": 0.6,
"throw": {
"damage": 30,
"speed": 24.0,
"stamina": 14
}
}
},
{
"id": "bow",
"name": "Crude Bow",
"category": "weapon",
"stack": 1,
"description": "Hold LMB to draw, release to shoot. Uses arrows.",
"mesh": "bow",
"bow": {
"ammo": "arrow",
"draw": 0.9,
"damage": [
8,
32
],
"speed": [
16.0,
46.0
],
"stamina": 6
}
},
{
"id": "arrow",
"name": "Flint Arrow",
"category": "weapon",
"stack": 50,
"description": "Ammunition for the bow. Arrows that miss can be picked up again.",
"mesh": "arrow"
},
{
"id": "hide_cloak",
"name": "Hide Cloak",
"category": "tool",
"stack": 1,
"description": "Right-click to wear it (+15 warmth, less chill from wet). Take it off from the inventory screen.",
"mesh": "hide_cloak",
"wear": {
"warmth": 15,
"wet_chill": 0.6
}
}
]
}