The WurstScript standard library is the set of ready-to-use packages that ships with Wurst. It wraps common Warcraft III operations, provides reusable data structures, and removes a lot of low-level boilerplate from map code.
If you are new to the library, start with the task that matches what you are building. When you already know the package name, jump straight to the full API reference.
The library is designed to be used from normal Wurst code. Most packages are already available through the standard imports; add an explicit import only when the package is not imported by default. The packages are tested as part of the standard library and are intended for use in real maps, but Warcraft III’s native limits and lifecycle rules still apply.
The pages in this section are hand-written guides with context and complete examples. The API reference is generated from the package hotdoc and is the better place to look up an exact function, type, or member.
Use the object-editing packages when you want abilities, units, items, buffs, or upgrades to be created and configured at compile time. This keeps object data in version control and lets you reuse the same definitions across maps.
Use this quick rule of thumb, then open the package page for the exact API and ownership details.
| Package | Start here when |
|---|---|
| LinkedList | You need a general-purpose list, stack, or queue. |
| HashList | You need fast membership checks or indexed access on a large list. |
| HashMap | You need to map keys to values, including attaching data to handles. |
| HashSet | Each value should occur at most once. |
| BitSet | You need a compact set of boolean flags. |
| ArrayList | You want array-backed storage and predictable iteration. |
Closures let you keep the action next to the event or timer without writing a separate trigger callback.
These packages collect the recurring glue code behind common map systems.
The remaining packages cover file and network helpers, sound, terrain, printing, colors, and wrappers for native handles such as unit, item, and player.
Classes, Functions, and Extension Functions sections to find the exact declaration, then open the source when you need implementation details.The standard library follows the Wurst coding conventions. Its source is often the best reference for idiomatic patterns and for understanding which resources a package creates or destroys.
The standard library source lives on GitHub. If a package is missing an example or its description is unclear, improving the hotdoc or adding a hand-written guide improves the generated reference for everyone.