# Enshwick > Enshwick is a modding API platform for the game Enshrouded. Mod makers write mods in Rust against the `enshwick` crate, in Luau, or as data packs without code. The Enshwick loader ships with it: players install it once, and it runs every mod in the `mods` folder of the game. To write a mod, read [For AI assistants](https://enshwick.com/dev/ai-assistants/) first: the kinds of mod, `cargo enshwick new`, the `unstable` feature and tests with the fake host. The API reference of the `enshwick` crate is on [docs.rs](https://docs.rs/enshwick). Public modules of the `enshwick` crate and the guide pages that document them: - `enshwick::abi`: [Getting started](https://enshwick.com/dev/getting-started/), [The loader and the ABI](https://enshwick.com/dev/concepts/loader-and-abi/), [Settings](https://enshwick.com/dev/settings/), [Events and the scheduler](https://enshwick.com/dev/events/), [The world](https://enshwick.com/dev/world/), [Migrations](https://enshwick.com/dev/migrations/), [Calls between mods](https://enshwick.com/dev/calls/), [Hooks](https://enshwick.com/dev/hooks/), [Mid-function hooks](https://enshwick.com/dev/mid-function-hooks/), [Content](https://enshwick.com/dev/content/), [Served resources](https://enshwick.com/dev/content/resources/), [Testing](https://enshwick.com/dev/testing/), [ABI reference](https://enshwick.com/dev/abi-reference/) - `enshwick::actions`: [The world](https://enshwick.com/dev/world/), [Effects](https://enshwick.com/dev/effects/), [Time of day](https://enshwick.com/dev/daytime/), [Game settings](https://enshwick.com/dev/game-settings/), [Weather and chunks](https://enshwick.com/dev/weather/), [Terrain](https://enshwick.com/dev/terrain/), [Buffs](https://enshwick.com/dev/buffs/), [Player actions](https://enshwick.com/dev/actions/), [Chat, notices and the console](https://enshwick.com/dev/chat/), [Messages between server and client](https://enshwick.com/dev/messages/), [Stats](https://enshwick.com/dev/stats/) - `enshwick::affixes`: [Affixes](https://enshwick.com/dev/affixes/) - `enshwick::altars`: [Altars and bases](https://enshwick.com/dev/altars/), [Hooks](https://enshwick.com/dev/hooks/) - `enshwick::buffs`: [Buffs](https://enshwick.com/dev/buffs/) - `enshwick::code`: [Finding the game](https://enshwick.com/dev/finding-the-game/), [Code patches](https://enshwick.com/dev/code-patches/), [Items](https://enshwick.com/dev/content/items/) - `enshwick::config`: [Settings](https://enshwick.com/dev/settings/) - `enshwick::console`: [Threads](https://enshwick.com/dev/concepts/threads/), [Player actions](https://enshwick.com/dev/actions/), [Chat, notices and the console](https://enshwick.com/dev/chat/), [Testing](https://enshwick.com/dev/testing/) - `enshwick::content`: [Migrations](https://enshwick.com/dev/migrations/), [Extending other mods](https://enshwick.com/dev/extending/), [Content](https://enshwick.com/dev/content/), [Items](https://enshwick.com/dev/content/items/), [Recipes](https://enshwick.com/dev/content/recipes/), [Disabling recipes](https://enshwick.com/dev/content/disabled-recipes/), [Workshops](https://enshwick.com/dev/content/workshops/), [Random loot](https://enshwick.com/dev/content/random-loot/), [Served resources](https://enshwick.com/dev/content/resources/), [Texts](https://enshwick.com/dev/content/texts/), [Data packs](https://enshwick.com/dev/content/packs/), [Inventory limits](https://enshwick.com/dev/content/limits/), [Affixes](https://enshwick.com/dev/affixes/) - `enshwick::damage`: [Damage](https://enshwick.com/dev/damage/) - `enshwick::daytime`: [Time of day](https://enshwick.com/dev/daytime/) - `enshwick::ecs`: [Sides and hosting](https://enshwick.com/dev/concepts/sides-and-hosting/), [Game events](https://enshwick.com/dev/game-events/), [The world](https://enshwick.com/dev/world/), [Luau mods](https://enshwick.com/dev/luau/), [Finding the game](https://enshwick.com/dev/finding-the-game/), [The game's own types](https://enshwick.com/dev/game-types/), [Hooks](https://enshwick.com/dev/hooks/), [ECS inside systems](https://enshwick.com/dev/ecs/), [Loot containers](https://enshwick.com/dev/content/loot/) - `enshwick::effects`: [Effects](https://enshwick.com/dev/effects/) - `enshwick::entity_data`: [Entity data](https://enshwick.com/dev/entity-data/) - `enshwick::events`: [The join check](https://enshwick.com/dev/concepts/join-check/), [Events and the scheduler](https://enshwick.com/dev/events/), [The world](https://enshwick.com/dev/world/), [Time of day](https://enshwick.com/dev/daytime/), [Altars and bases](https://enshwick.com/dev/altars/), [Knowledge and quests](https://enshwick.com/dev/knowledge/), [Calls between mods](https://enshwick.com/dev/calls/), [Luau mods](https://enshwick.com/dev/luau/), [Testing](https://enshwick.com/dev/testing/), [Releasing mods](https://enshwick.com/dev/releasing/), [Stability](https://enshwick.com/dev/stability/), [ABI reference](https://enshwick.com/dev/abi-reference/) - `enshwick::files`: [State and data folders](https://enshwick.com/dev/state/) - `enshwick::game_events`: [Game events](https://enshwick.com/dev/game-events/), [The world](https://enshwick.com/dev/world/), [State and data folders](https://enshwick.com/dev/state/), [Luau mods](https://enshwick.com/dev/luau/) - `enshwick::game_settings`: [Game settings](https://enshwick.com/dev/game-settings/) - `enshwick::i18n`: [The world](https://enshwick.com/dev/world/), [Effects](https://enshwick.com/dev/effects/), [Time of day](https://enshwick.com/dev/daytime/), [Game settings](https://enshwick.com/dev/game-settings/), [Weather and chunks](https://enshwick.com/dev/weather/), [Terrain](https://enshwick.com/dev/terrain/), [The map](https://enshwick.com/dev/map/), [Buffs](https://enshwick.com/dev/buffs/), [Chat, notices and the console](https://enshwick.com/dev/chat/), [Messages between server and client](https://enshwick.com/dev/messages/), [Served resources](https://enshwick.com/dev/content/resources/), [Texts](https://enshwick.com/dev/content/texts/), [Stats](https://enshwick.com/dev/stats/) - `enshwick::interactions`: [Interactions](https://enshwick.com/dev/interactions/) - `enshwick::inventory`: [Inventories](https://enshwick.com/dev/inventories/), [Item data](https://enshwick.com/dev/item-data/) - `enshwick::item_data`: [Item data](https://enshwick.com/dev/item-data/) - `enshwick::knowledge`: [Knowledge and quests](https://enshwick.com/dev/knowledge/) - `enshwick::loot`: [Settings](https://enshwick.com/dev/settings/), [Loot containers](https://enshwick.com/dev/content/loot/), [Random loot](https://enshwick.com/dev/content/random-loot/), [Affixes](https://enshwick.com/dev/affixes/) - `enshwick::map`: [The map](https://enshwick.com/dev/map/), [The interface](https://enshwick.com/dev/interface/) - `enshwick::migrations`: [Migrations](https://enshwick.com/dev/migrations/), [Items](https://enshwick.com/dev/content/items/) - `enshwick::mods`: [The join check](https://enshwick.com/dev/concepts/join-check/), [Events and the scheduler](https://enshwick.com/dev/events/), [Testing](https://enshwick.com/dev/testing/), [Releasing mods](https://enshwick.com/dev/releasing/) - `enshwick::net`: [Messages between server and client](https://enshwick.com/dev/messages/) - `enshwick::pacing`: [Pacing and threads](https://enshwick.com/dev/pacing/) - `enshwick::packs`: [Data packs](https://enshwick.com/dev/content/packs/) - `enshwick::points`: [Extending other mods](https://enshwick.com/dev/extending/) - `enshwick::progress`: [Character progress](https://enshwick.com/dev/progress/) - `enshwick::rates`: [Game rates](https://enshwick.com/dev/rates/) - `enshwick::raw`: [The game's own types](https://enshwick.com/dev/game-types/), [Code in the game's frame](https://enshwick.com/dev/game-frame/) - `enshwick::schedule`: [Events and the scheduler](https://enshwick.com/dev/events/) - `enshwick::script`: [Luau mods](https://enshwick.com/dev/luau/) - `enshwick::services`: [Services between mods](https://enshwick.com/dev/services/), [Calls between mods](https://enshwick.com/dev/calls/), [Stability](https://enshwick.com/dev/stability/) - `enshwick::shape`: [Services between mods](https://enshwick.com/dev/services/) - `enshwick::state`: [State and data folders](https://enshwick.com/dev/state/), [Testing](https://enshwick.com/dev/testing/), [Releasing mods](https://enshwick.com/dev/releasing/) - `enshwick::stats`: [Stats](https://enshwick.com/dev/stats/), [Affixes](https://enshwick.com/dev/affixes/) - `enshwick::status`: [Logging and diagnostics](https://enshwick.com/dev/logging/) - `enshwick::survivors`: [Survivors](https://enshwick.com/dev/survivors/), [Texts](https://enshwick.com/dev/content/texts/) - `enshwick::terrain`: [Terrain](https://enshwick.com/dev/terrain/) - `enshwick::test`: [Migrations](https://enshwick.com/dev/migrations/), [Calls between mods](https://enshwick.com/dev/calls/), [Extending other mods](https://enshwick.com/dev/extending/), [Inventories](https://enshwick.com/dev/inventories/), [Testing](https://enshwick.com/dev/testing/) - `enshwick::time`: [Threads](https://enshwick.com/dev/concepts/threads/), [Logging and diagnostics](https://enshwick.com/dev/logging/), [Events and the scheduler](https://enshwick.com/dev/events/), [Effects](https://enshwick.com/dev/effects/), [Weather and chunks](https://enshwick.com/dev/weather/), [Terrain](https://enshwick.com/dev/terrain/), [The map](https://enshwick.com/dev/map/), [Buffs](https://enshwick.com/dev/buffs/), [Stats](https://enshwick.com/dev/stats/) - `enshwick::ui`: [The interface](https://enshwick.com/dev/interface/) - `enshwick::vetoes`: [Crafting and building vetoes](https://enshwick.com/dev/vetoes/) - `enshwick::voxels`: [Terrain](https://enshwick.com/dev/terrain/) - `enshwick::weather`: [Weather and chunks](https://enshwick.com/dev/weather/) - `enshwick::world`: [The world](https://enshwick.com/dev/world/), [Terrain](https://enshwick.com/dev/terrain/), [Chat, notices and the console](https://enshwick.com/dev/chat/), [Loot containers](https://enshwick.com/dev/content/loot/) ## Documentation Sets - [Abridged documentation](https://enshwick.com/llms-small.txt): a compact version of the documentation for Enshwick, with non-essential content removed - [Complete documentation](https://enshwick.com/llms-full.txt): the full documentation for Enshwick - [Mod makers](https://enshwick.com/_llms-txt/mod-makers.txt): the guide for writing mods in Rust, in Luau and as data packs, with the notes for AI assistants first - [Players](https://enshwick.com/_llms-txt/players.txt): how to install, update and remove Enshwick, play on a server, back up worlds, every mod and its settings, where files live and the error codes ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation ## Optional - [API reference](https://docs.rs/enshwick): every public item of the `enshwick` crate - [Source and examples](https://github.com/enshwick/enshwick): the platform, with Rust, Luau and data pack mods in `examples/`