All symbols documented on this page are exported from theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ClassicUO/classicuo-web/llms.txt
Use this file to discover all available pages before exploring further.
@classicuo/modding package entry point (src/api/index.ts). They are injected into the mod sandbox as globals by the ClassicUO Web runtime and re-exported with full TypeScript types by the SDK.
Event Functions
addEventListener
Registers a listener for a named game event. Returns a numeric listener ID that you must keep to remove the listener later.
The event name. Must be one of the keys in
EventMap (see table below).Callback function. The argument type is inferred from the
EventMap entry for the given event name.When
true, the listener automatically removes itself after firing once. Defaults to false.number — a listener ID used with removeEventListener.
EventMap Reference
| Event name | Callback signature | Description |
|---|---|---|
journalEntry | (ev: JournalEntry) => void | Fires for every new journal line. |
playerCreated | (ev: any) => void | Fires when the player object is first created (on login). |
worldClear | (ev: any) => void | Fires when the world state is cleared (logout / server transition). |
profileLoaded | (ev: any) => void | Fires when the player’s game profile has been loaded. |
gumpUpdate | (ev: GumpUpdateEvent) => void | Fires on any WebGump update from the server. |
gumpClose | (ev: GumpCloseEvent) => void | Fires when any WebGump is closed. |
`webGump:${type}:update` | (ev: GumpUpdateEvent) => void | Type-scoped update event for a specific WebGump type. |
`webGump:${type}:close` | (ev: GumpUpdateEvent) => void | Type-scoped close event for a specific WebGump type. |
JournalEntry Interface
removeEventListener
Removes a previously registered listener by its ID.
The numeric ID returned by a previous
addEventListener call.Player Body & Shard Configuration
addExtraPlayerBody
Registers an additional player body graphic mapping. Use this to extend the client’s body table with custom race or gender variants specific to your shard.
The body graphic ID to register.
The gump art ID used to represent this body in paper doll and character selection UIs.
The animation ID linked to this body graphic.
Whether this body represents a female character.
Numeric race identifier (e.g.
1 = Human, 2 = Elf, 3 = Gargoyle).When
true, equipment conversion data is copied from the base body. Defaults to false.setShardRules
Applies a ShardRules configuration object at runtime. Returns true if the rules were applied successfully, false otherwise.
A
ShardRules object validated by shardRulesSchema. Controls scripting permissions, feature flags, and game option overrides. See the Types page for the full schema.WebGump Helpers
sendWebGumpResponse
Sends data back to the server for an open WebGump identified by its serial and server ID.
The serial number of the gump, as received in the
GumpUpdateEvent.The server-side gump ID, as received in the
GumpUpdateEvent.The payload to send back to the server. Objects are serialized to JSON automatically.
closeWebGump
Sends a close signal to the server for an open WebGump.
The serial number of the gump to close.
The server-side gump ID to close.
client Object
The client object provides async methods to issue actions as the player. All methods return Promise<null> (except castSpell, which returns null synchronously).
Methods
Casts a spell by its numeric spell ID. This is the only synchronous client method.
Sends a chat message as your player with an optional hue override. Can be used to send server commands, e.g.
client.say('[help').Displays a local system message in the client’s journal and chat. The message is not sent to the server.
Displays a floating overhead message above the entity with the given
serial.Activates a skill by its numeric skill ID.
Equips an item with the given serial number.
Unequips an item with the given serial number.
Initiates an attack against the entity with the given serial number.
Triggers the fly action (Gargoyle characters).
Triggers the land action (Gargoyle characters).
player Object
The player object exposes the local player’s stats and equipment as async getters. Each getter returns a Promise that resolves with the current value from the game engine.
Core Stats
| Getter | Return type | Description |
|---|---|---|
player.name | Promise<string> | Character name. |
player.hits | Promise<number> | Current hit points. |
player.hitsMax | Promise<number> | Maximum hit points. |
player.mana | Promise<number> | Current mana. |
player.manaMax | Promise<number> | Maximum mana. |
player.stamina | Promise<number> | Current stamina. |
player.staminaMax | Promise<number> | Maximum stamina. |
player.gold | Promise<number> | Gold in backpack. |
player.strength | Promise<number> | Strength stat. |
player.dexterity | Promise<number> | Dexterity stat. |
player.intelligence | Promise<number> | Intelligence stat. |
player.weight | Promise<number> | Current carried weight. |
player.weightMax | Promise<number> | Maximum carry weight. |
player.luck | Promise<number> | Luck stat. |
player.followers | Promise<number> | Current follower count. |
player.followersMax | Promise<number> | Maximum allowed followers. |
player.tithingPoints | Promise<number> | Tithing points (Paladin). |
player.hunger | Promise<number> | Hunger level. |
player.shortTermMurders | Promise<number> | Short-term murder count. |
player.longTermMurders | Promise<number> | Long-term murder count. |
Resistances
| Getter | Return type |
|---|---|
player.physicalResistance | Promise<number> |
player.fireResistance | Promise<number> |
player.coldResistance | Promise<number> |
player.poisonResistance | Promise<number> |
player.energyResistance | Promise<number> |
player.maxPhysicResistence | Promise<number> |
player.maxFireResistence | Promise<number> |
player.maxColdResistence | Promise<number> |
player.maxPoisonResistence | Promise<number> |
player.maxEnergyResistence | Promise<number> |
Combat & Skill Modifiers
| Getter | Return type |
|---|---|
player.damageMin | Promise<number> |
player.damageMax | Promise<number> |
player.damageIncrease | Promise<number> |
player.hitChanceIncrease | Promise<number> |
player.defenseChanceIncrease | Promise<number> |
player.maxDefenseChanceIncrease | Promise<number> |
player.swingSpeedIncrease | Promise<number> |
player.spellDamageIncrease | Promise<number> |
player.fasterCasting | Promise<number> |
player.fasterCastRecovery | Promise<number> |
player.lowerManaCost | Promise<number> |
player.lowerReagentCost | Promise<number> |
player.enhancePotions | Promise<number> |
player.reflectPhysicalDamage | Promise<number> |
Regeneration & Increases
| Getter | Return type |
|---|---|
player.hitPointsRegeneration | Promise<number> |
player.manaRegeneration | Promise<number> |
player.staminaRegeneration | Promise<number> |
player.hitPointsIncrease | Promise<number> |
player.manaIncrease | Promise<number> |
player.maxManaIncrease | Promise<number> |
player.maxHitPointsIncrease | Promise<number> |
player.staminaIncrease | Promise<number> |
player.maxStaminaIncrease | Promise<number> |
player.strengthIncrease | Promise<number> |
player.dexterityIncrease | Promise<number> |
player.intelligenceIncrease | Promise<number> |
player.statsCap | Promise<number> |
Status Flags
| Getter | Return type | Description |
|---|---|---|
player.isPoisoned | Promise<number> | Non-zero if the player is poisoned. |
player.isYellowHits | Promise<number> | Non-zero if the player’s health bar is yellow. |
player.deathScreenTimer | Promise<number> | Remaining death screen timer in ms. |
player.equippedItems
Returns a snapshot of all equipped item slots.
EquippedItem: