Each row is one area of the game. Open it to see what a mod can do there, and
which API items do it. The API reference documents
each item, and /api-coverage.json holds the same data.
Items4 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | content::vanilla::item, item_data (Unstable), Blob |
|---|
| Change | Covered | Stable | content::changes, Field::MaxStackSize (Unstable); item fields and stack size |
|---|
| Create | Covered | Stable | content::items, content::icons |
|---|
| Events | Covered | Stable | HandleEquipmentSlotChangedEvent, LootInteractionEvent |
|---|
| Interface | Researching | | |
|---|
Recipes5 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | content::vanilla::recipe |
|---|
| Change | Covered | Stable | content::recipes::change, recipes::rules |
|---|
| Create | Covered | Unstable | Load::add_recipe, derive_recipes |
|---|
| Events | Covered | Stable | CraftRecipeEvent, CraftRecipeSuccessEvent, vetoes::on_craft |
|---|
| Interface | Covered | Stable | content::menu |
|---|
Crafting stations5 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | content::vanilla::station, workshop |
|---|
| Change | Covered | Stable | content::menu; which recipes a workshop lists |
|---|
| Create | Covered | Stable | content::workshops |
|---|
| Events | Covered | Stable | CraftRecipeEvent |
|---|
| Interface | Covered | Stable | content::menu |
|---|
Loot4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | content::loot_tables, loot::Containers |
|---|
| Change | Covered | Unstable | loot_tables, rates |
|---|
| Create | Covered | Stable | loot::drops; mod items at an exact chance |
|---|
| Events | Covered | Stable | LootInteractionEvent, loot::on_loot_pass |
|---|
| Interface | Does not apply | | |
|---|
Survivors and NPCs4 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | survivors, survivors::workshop |
|---|
| Change | Covered | Stable | on_survivor_lookup, on_survivor_bed_check, effects::npc_command |
|---|
| Create | Covered | Stable | effects::spawn, survivors::add_summon_item |
|---|
| Events | Covered | Stable | on_summon, on_summoned, on_survivor_status |
|---|
| Interface | In work | | |
|---|
Flame Altars4 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | altars::Altars; the list, levels and bases |
|---|
| Change | Covered | Stable | base_limit, raise_base_limit, on_altar_limit |
|---|
| Create | Covered | Stable | Flame Altar kinds of a mod |
|---|
| Events | Covered | Stable | AltarsChanged, FlameAltarEvent, on_altar_zone |
|---|
| Interface | In work | | |
|---|
Building and props5 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | world::props, prop_state, capture |
|---|
| Change | Covered | Unstable | place_prop, remove_prop, place_block, transactions |
|---|
| Create | Covered | Stable | prop types and crafting props of a mod |
|---|
| Events | Covered | Stable | BuildingPlaced, BuildingRemoved, vetoes::on_build, can_build |
|---|
| Interface | Covered | Stable | vetoes::BuildVerdict; a refusal reason under the build cursor |
|---|
Terrain and voxels3 / 3 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | voxels, terrain::materials |
|---|
| Change | Covered | Stable | write_voxels; add, dig and flatten terrain |
|---|
| Create | Not supported | | new terrain materials |
|---|
| Events | Covered | Stable | ChunkLoaded, ChunkUnloaded |
|---|
| Interface | Does not apply | | |
|---|
Inventory and containers3 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | inventory, world::containers (Unstable) |
|---|
| Change | Covered | Stable | set_item, content::containers |
|---|
| Create | In work | | |
|---|
| Events | Covered | Stable | HandleEquipmentSlotChangedEvent, LootInteractionEvent |
|---|
| Interface | Researching | | |
|---|
Players and accounts3 / 3 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | world::players, player_by_key, players_named |
|---|
| Change | Covered | Unstable | kick, ban, allowlist and mute |
|---|
| Create | Does not apply | | |
|---|
| Events | Covered | Stable | PlayerJoined, PlayerLeft, events::PlayerDied (Unstable) |
|---|
| Interface | Not supported | | an admin interface |
|---|
Character stats and buffs4 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | world::stats, stats, buffs |
|---|
| Change | Covered | Stable | set_health, heal; add buffs and define stats |
|---|
| Create | Covered | Stable | stats::define_stat, affixes |
|---|
| Events | Covered | Stable | stats::on_stats_changed |
|---|
| Interface | In work | | |
|---|
Skills and experience3 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | world::stats, progress |
|---|
| Change | Covered | Unstable | rates, progress::on_skill, on_experience |
|---|
| Create | In work | | |
|---|
| Events | Covered | Stable | LevelUpEvent, XpGainedEvent |
|---|
| Interface | In work | | |
|---|
Combat and enemies4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | HitEvent, Load::on_damage (Unstable) |
|---|
| Change | Covered | Stable | enemy values, spawn entries and spawner counts |
|---|
| Create | Covered | Stable | enemies and arsenals of a mod, entity templates |
|---|
| Events | Covered | Stable | HitEvent, EntityDiedEvent |
|---|
| Interface | Does not apply | | |
|---|
Knowledge3 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | knowledge::get |
|---|
| Change | Covered | Unstable | Knowledge::revoke; grant and revoke, per world or account |
|---|
| Create | In work | | |
|---|
| Events | Covered | Stable | KnowledgeChanged, Load::on_knowledge_input (Unstable) |
|---|
| Interface | In work | | |
|---|
Quests2 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | knowledge::quests, completed |
|---|
| Change | In work | | |
|---|
| Create | In work | | |
|---|
| Events | Covered | Stable | QuestCompleted |
|---|
| Interface | In work | | |
|---|
Map and fog5 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | map markers, the map frame and the fog |
|---|
| Change | Covered | Unstable | ui::map; set markers and the waypoint |
|---|
| Create | Covered | Unstable | map_marker_types |
|---|
| Events | Covered | Unstable | Load::on_waypoint, on_ping |
|---|
| Interface | Covered | Unstable | ui::map; markers |
|---|
Weather, time and shroud4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | weather::state, daytime::now, shroud_time |
|---|
| Change | Covered | Stable | weather::set, clock_speed, change_shroud_time; set the hour of the day |
|---|
| Create | Covered | Stable | add and change weather phenomena |
|---|
| Events | Covered | Stable | DayStarted, NightStarted |
|---|
| Interface | Does not apply | | |
|---|
Chat and notices4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | chat lines on the server |
|---|
| Change | Does not apply | | |
|---|
| Create | Covered | Unstable | tell, broadcast and notify |
|---|
| Events | Covered | Stable | ChatSaid; a chat filter that may rewrite a line |
|---|
| Interface | Covered | Unstable | notices |
|---|
Interface4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Does not apply | | |
|---|
| Change | Covered | Stable | Load::extend_screen; panels on the game's screens |
|---|
| Create | Covered | Stable | ui; windows, dialogs, HUD and widgets |
|---|
| Events | Covered | Stable | ui::on_frame; dialog answers |
|---|
| Interface | Covered | Stable | ui |
|---|
Input and interactions4 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Unstable | input, Frame::open_screen, Load::on_screen_changed |
|---|
| Change | In work | | |
|---|
| Create | Covered | Unstable | controls a mod declares |
|---|
| Events | Covered | Stable | interactions::on_interaction, AcceptOfferedInteractionEvent |
|---|
| Interface | Covered | Unstable | players set their own keys |
|---|
Sound1 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Does not apply | | |
|---|
| Change | In work | | |
|---|
| Create | In work | | |
|---|
| Events | In work | | |
|---|
| Interface | Covered | Stable | interface sounds |
|---|
Saves and worlds3 / 3 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | state::Store, WorldLoaded, WorldSaved |
|---|
| Change | Covered | Stable | WorldSaving, hold_saves, Spawn::do_not_save; the save's identity |
|---|
| Create | Does not apply | | |
|---|
| Events | Covered | Stable | WorldLoaded, WorldSaved, ShutdownStarted |
|---|
| Interface | Does not apply | | |
|---|
Networking and joining5 / 5 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | join_missing; the mods list |
|---|
| Change | Covered | Stable | sides server and both, requires, after and breaks |
|---|
| Create | Covered | Stable | messages between a mod's parts |
|---|
| Events | Covered | Stable | JoinRefused; a received message |
|---|
| Interface | Covered | Stable | the mismatch screen, refusals by mod id and version |
|---|
Game settings and rates4 / 4 covered
| Capability | State | Stability | API |
|---|
| Read | Covered | Stable | game_settings |
|---|
| Change | Covered | Unstable | rates, game_settings |
|---|
| Create | Does not apply | | |
|---|
| Events | Covered | Stable | SettingsChanged, SettingsReplaced |
|---|
| Interface | Covered | Stable | settings per world behind each mod's gear |
|---|
| Capability | What a mod can do |
|---|
| Read | see the current state |
| Change | change values and rules of the game |
| Create | add something of its own, such as an item or recipe |
| Events | hear what happened |
| Interface | show it to a player and let the player act on it |
| State | Meaning |
|---|
| Covered | the API has calls for it |
| In work | the API for it is being built |
| Researching | the needed facts about the game are being found |
| Not supported | the API does not offer it |
| Does not apply | the game has nothing of this kind in that area |
A covered row is Stable or Unstable, as Stability lists its
items. A stable row marks each unstable item it names. An unstable item needs
the unstable feature and may change in any release.
What comes next lists what Enshwick aims to add.