Athena.systems.inventory.factory ​
Functions ​
fromBaseToStored ​
Usage
Athena.systems.inventory.factory.fromBaseToStored<CustomData>(baseItem, quantity): any
Converts a base item into a stored item for reference.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
Parameters ​
| Name | Type | 
|---|---|
| baseItem | BaseItem<DefaultItemBehavior,CustomData> | 
| quantity | number | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:391
fromBaseToStoredAsync ​
Usage
Athena.systems.inventory.factory.fromBaseToStoredAsync<CustomData>(baseItem, quantity): Promise<player<CustomData>>
Converts a base item to a stored item asynchronously.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
Parameters ​
| Name | Type | 
|---|---|
| baseItem | BaseItem<DefaultItemBehavior,CustomData> | 
| quantity | number | 
Returns ​
Promise<player<CustomData>>
Defined in ​
server/systems/inventory/factory.ts:243
fromStoredItem ​
Usage
Athena.systems.inventory.factory.fromStoredItem<CustomData, CustomBehavior>(item): player<CustomBehavior & player, CustomData> | undefined
Converts an item from a player inventory, or toolbar to a full item set.
Also performs weight calculations.
Use when usage is not at server-start.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
| CustomBehavior | DefaultItemBehavior | 
Parameters ​
| Name | Type | 
|---|---|
| item | StoredItem<CustomData> | 
Returns ​
player<CustomBehavior & player, CustomData> | undefined
Defined in ​
server/systems/inventory/factory.ts:327
fromStoredItemAsync ​
Usage
Athena.systems.inventory.factory.fromStoredItemAsync<CustomData, CustomBehavior>(item): Promise<player<CustomBehavior & player, CustomData> | undefined>
Converts an item from a player inventory, equipment, or toolbar to a full item set.
Also performs weight calculations.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
| CustomBehavior | {} | 
Parameters ​
| Name | Type | 
|---|---|
| item | StoredItem<CustomData> | 
Returns ​
Promise<player<CustomBehavior & player, CustomData> | undefined>
Defined in ​
server/systems/inventory/factory.ts:175
getBaseItem ​
Usage
Athena.systems.inventory.factory.getBaseItem<CustomData, CustomBehavior>(dbName, version?): player<player & CustomBehavior, CustomData>
Get a base item based on dbName, and version if supplied.
Does not wait for database of items to load first.
Use when usage is not at server-start.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
| CustomBehavior | {} | 
Parameters ​
| Name | Type | Default value | 
|---|---|---|
| dbName | string | undefined | 
| version? | number | undefined | 
Returns ​
player<player & CustomBehavior, CustomData>
Defined in ​
server/systems/inventory/factory.ts:284
getBaseItemAsync ​
Usage
Athena.systems.inventory.factory.getBaseItemAsync<CustomData, CustomBehavior>(dbName, version?): Promise<player<player & CustomBehavior, CustomData>>
Get a base item based on dbName, and version if supplied.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
| CustomBehavior | {} | 
Parameters ​
| Name | Type | Default value | 
|---|---|---|
| dbName | string | undefined | 
| version? | number | undefined | 
Returns ​
Promise<player<player & CustomBehavior, CustomData>>
Defined in ​
server/systems/inventory/factory.ts:51
getBaseItemByFuzzySearch ​
Usage
Athena.systems.inventory.factory.getBaseItemByFuzzySearch<CustomData>(partialName): player<player, CustomData> | undefined
Searches for a base item based on a fuzzy search. Specify either 'myitem', 'My_Item', or 'My Item'.
Will try to find a match in the following order:
- Exact dbname
- Exact name
- Partial name
- Partial dbname
Export
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
Parameters ​
| Name | Type | 
|---|---|
| partialName | string | 
Returns ​
player<player, CustomData> | undefined
Defined in ​
server/systems/inventory/factory.ts:463
getBaseItems ​
Usage
Athena.systems.inventory.factory.getBaseItems(): player[]
Does not wait for items to load, returns what base items are in the array.
Use this only during runtime; and not during startup.
Export
Returns ​
player[]
Defined in ​
server/systems/inventory/factory.ts:440
getBaseItemsAsync ​
Usage
Athena.systems.inventory.factory.getBaseItemsAsync(): Promise<player[]>
Waits for the database items to finish loading before returning data.
Export
Returns ​
Promise<player[]>
Defined in ​
server/systems/inventory/factory.ts:423
isDoneLoadingAsync ​
Usage
Athena.systems.inventory.factory.isDoneLoadingAsync(): Promise<void>
Wait until the isDoneLoading variable is set to true before continuing.
Returns ​
Promise<void>
Defined in ​
server/systems/inventory/factory.ts:29
override ​
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "getBaseItemAsync" | 
| callback | <CustomData, CustomBehavior>( dbName:string,version?:number) =>Promise<player<player&CustomBehavior,CustomData>> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:515
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "upsertAsync" | 
| callback | ( baseItem:BaseItem) =>any | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:516
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "fromStoredItemAsync" | 
| callback | <CustomData, CustomBehavior>( item:StoredItem<CustomData>) =>Promise<player<CustomBehavior&player,CustomData> |undefined> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:517
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "fromBaseToStoredAsync" | 
| callback | <CustomData>( baseItem:BaseItem<DefaultItemBehavior,CustomData>,quantity:number) =>Promise<player<CustomData>> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:518
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "getBaseItem" | 
| callback | <CustomData, CustomBehavior>( dbName:string,version?:number) =>player<player&CustomBehavior,CustomData> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:519
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "fromStoredItem" | 
| callback | <CustomData, CustomBehavior>( item:StoredItem<CustomData>) =>player<CustomBehavior&player,CustomData> |undefined | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:520
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "toStoredItem" | 
| callback | <CustomData>( item:Item<DefaultItemBehavior,CustomData>) =>player<CustomData> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:521
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "fromBaseToStored" | 
| callback | <CustomData>( baseItem:BaseItem<DefaultItemBehavior,CustomData>,quantity:number) =>any | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:522
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "getBaseItems" | 
| callback | () => player[] | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:523
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "getBaseItemsAsync" | 
| callback | () => Promise<player[]> | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:524
Usage
Athena.systems.inventory.factory.override(functionName, callback): any
Used to override inventory item factory functionality
Parameters ​
| Name | Type | 
|---|---|
| functionName | "getBaseItemByFuzzySearch" | 
| callback | <CustomData>( partialName:string) =>player<player,CustomData> |undefined | 
Returns ​
any
Defined in ​
server/systems/inventory/factory.ts:525
toStoredItem ​
Usage
Athena.systems.inventory.factory.toStoredItem<CustomData>(item): player<CustomData>
Converts a full item, into a storeable version of the item.
Only certain parts of the item will be stored.
Use when usage is not at server-start.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
Parameters ​
| Name | Type | 
|---|---|
| item | Item<DefaultItemBehavior,CustomData> | 
Returns ​
player<CustomData>
Defined in ​
server/systems/inventory/factory.ts:359
toStoredItemAsync ​
Usage
Athena.systems.inventory.factory.toStoredItemAsync<CustomData>(item): Promise<player<CustomData>>
Converts a full item, into a storeable version of the item.
Only certain parts of the item will be stored.
Type parameters ​
| Name | Type | 
|---|---|
| CustomData | {} | 
Parameters ​
| Name | Type | 
|---|---|
| item | Item<DefaultItemBehavior,CustomData> | 
Returns ​
Promise<player<CustomData>>
Defined in ​
server/systems/inventory/factory.ts:207
upsertAsync ​
Usage
Athena.systems.inventory.factory.upsertAsync(baseItem): any
Updates or inserts a new database item into the database.
If a verison is specified and it does not find a matching version it will add a new item.
If a version is not specified; it will find a non-versioned item to replace.
Example ​
Athena.systems.inventory.factory.upsertAsync({
    dbName: 'burger',
    data: { health: 5 },
    icon: 'burger',
    name: 'Burger',
    maxStack: 8,
    weight: 25,
    behavior: {
        canDrop: true,
        canStack: true,
        canTrade: true,
        destroyOnDrop: false,
        isToolbar: true
    },
    consumableEventToCall: 'edible',
    customEventsToCall: [
         {
             name: 'Desconstruct',
             eventToCall: 'deconstruct-item-ingredients'
         }
   ]
});Parameters ​
| Name | Type | 
|---|---|
| baseItem | BaseItem | 
Returns ​
any
 V5 Docs
V5 Docs