Skip to main content
Aquiver Module

Development

Use the available framework type definitions and extend the Aquiver server player class.

Type definitions​

Setup overview

Integration notes

Available definitions

Some type definitions are still missing, but the definitions currently required by the module are included.

Extending Player class to access all methods​

Extending Aquiver.ServerPlayer gives you access to the methods implemented by the class.

Configuration

Extend ServerPlayer

Create a custom player class and use the inherited server player methods.

TypeScript example
class MyPlayer extends Aquiver.ServerPlayer {
constructor(source: number | string) {
super(source);

this.addItem("bread", 1, {
QBCore: {
slot: 2,
metadata: {
yeeey: true
}
}
});
}
}
Configuration

Framework-specific addItem implementation

Example implementation from version 1.5; newer versions may differ.

Framework-specific addItem example (version 1.5)
/**
* This function adds an item.
* @param item
* @param amount
* @param extra Additional framework-specific arguments.
*/
addItem(
item: string,
amount: number,
extra?: {
QBCore?: { slot?: number; metadata?: Record<string, any> };
}
) {
switch (Config.Framework) {
case 'ESX_LEGACY': {
const Player = Frameworks.ESX.GetPlayerFromId(this.source);
Player.addInventoryItem(item, amount);
break;
}
case 'QBCORE': {
const Player = Frameworks.QBCore.Functions.GetPlayer(this.source);
Player.Functions.AddItem(item, amount, extra?.QBCore?.slot, extra?.QBCore?.metadata);
break;
}
case 'CUSTOM': {
globalThis.exports[GetCurrentResourceName()].addItem(this.source, item, amount);
break;
}
}
}