-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: added streamer callback and settings natives
- Loading branch information
Showing
2 changed files
with
147 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
import { BasePlayer } from "@/main"; | ||
import { | ||
StreamerItemTypes, | ||
Streamer_AmxUnloadDestroyItems, | ||
Streamer_GetCellDistance, | ||
Streamer_GetCellSize, | ||
Streamer_GetChunkSize, | ||
Streamer_GetChunkTickRate, | ||
Streamer_GetMaxItems, | ||
Streamer_GetPlayerTickRate, | ||
Streamer_GetRadiusMultiplier, | ||
Streamer_GetTickRate, | ||
Streamer_GetTypePriority, | ||
Streamer_GetVisibleItems, | ||
Streamer_IsToggleChunkStream, | ||
Streamer_IsToggleErrorCallback, | ||
Streamer_IsToggleItemCallbacks, | ||
Streamer_IsToggleItemInvAreas, | ||
Streamer_IsToggleItemStatic, | ||
Streamer_OnItemStreamIn, | ||
Streamer_OnItemStreamOut, | ||
Streamer_OnPluginError, | ||
Streamer_SetCellDistance, | ||
Streamer_SetCellSize, | ||
Streamer_SetChunkSize, | ||
Streamer_SetChunkTickRate, | ||
Streamer_SetMaxItems, | ||
Streamer_SetPlayerTickRate, | ||
Streamer_SetRadiusMultiplier, | ||
Streamer_SetTickRate, | ||
Streamer_SetTypePriority, | ||
Streamer_SetVisibleItems, | ||
Streamer_ToggleChunkStream, | ||
Streamer_ToggleErrorCallback, | ||
Streamer_ToggleItemCallbacks, | ||
Streamer_ToggleItemInvAreas, | ||
Streamer_ToggleItemStatic, | ||
} from "omp-wrapper-streamer"; | ||
|
||
export abstract class Streamer { | ||
constructor() { | ||
Streamer_OnItemStreamIn(this.onItemStreamIn); | ||
Streamer_OnItemStreamOut(this.onItemStreamOut); | ||
Streamer_OnPluginError(this.onPluginError); | ||
} | ||
public static getTickRate = Streamer_GetTickRate; | ||
public static setTickRate = Streamer_SetTickRate; | ||
public static getPlayerTickRate<P extends BasePlayer>(player: P): number { | ||
return Streamer_GetPlayerTickRate(player.id); | ||
} | ||
public static setPlayerTickRate<P extends BasePlayer>( | ||
player: P, | ||
rate = 50 | ||
): number { | ||
return Streamer_SetPlayerTickRate(player.id, rate); | ||
} | ||
public static toggleChunkStream = Streamer_ToggleChunkStream; | ||
public static isToggleChunkStream = Streamer_IsToggleChunkStream; | ||
public static getChunkTickRate<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_GetChunkTickRate(type, player.id); | ||
} | ||
return Streamer_GetChunkTickRate(type, player); | ||
} | ||
public static setChunkTickRate<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
rate: number, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_SetChunkTickRate(type, rate, player.id); | ||
} | ||
return Streamer_SetChunkTickRate(type, rate, player); | ||
} | ||
public static getChunkSize = Streamer_GetChunkSize; | ||
public static setChunkSize = Streamer_SetChunkSize; | ||
public static getMaxItems = Streamer_GetMaxItems; | ||
public static setMaxItems = Streamer_SetMaxItems; | ||
public static getVisibleItems<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_GetVisibleItems(type, player.id); | ||
} | ||
return Streamer_GetVisibleItems(type, player); | ||
} | ||
public static setVisibleItems<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
items: number, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_SetVisibleItems(type, items, player.id); | ||
} | ||
return Streamer_SetVisibleItems(type, items, player); | ||
} | ||
public static getRadiusMultiplier<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_GetRadiusMultiplier(type, player.id); | ||
} | ||
return Streamer_GetRadiusMultiplier(type, player); | ||
} | ||
public static setRadiusMultiplier<P extends BasePlayer>( | ||
type: StreamerItemTypes, | ||
multiplier: number, | ||
player: number | P = -1 | ||
): number { | ||
if (player instanceof BasePlayer) { | ||
return Streamer_SetRadiusMultiplier(type, player.id); | ||
} | ||
return Streamer_SetRadiusMultiplier(type, multiplier, player); | ||
} | ||
public static getTypePriority = Streamer_GetTypePriority; | ||
public static setTypePriority = Streamer_SetTypePriority; | ||
public static getCellDistance = Streamer_GetCellDistance; | ||
public static setCellDistance = Streamer_SetCellDistance; | ||
public static getCellSize = Streamer_GetCellSize; | ||
public static setCellSize = Streamer_SetCellSize; | ||
public static toggleItemStatic = Streamer_ToggleItemStatic; | ||
public static isToggleItemStatic = Streamer_IsToggleItemStatic; | ||
public static toggleItemInvAreas = Streamer_ToggleItemInvAreas; | ||
public static isToggleItemInvAreas = Streamer_IsToggleItemInvAreas; | ||
public static toggleItemCallbacks = Streamer_ToggleItemCallbacks; | ||
public static isToggleItemCallbacks = Streamer_IsToggleItemCallbacks; | ||
public static toggleErrorCallback = Streamer_ToggleErrorCallback; | ||
public static isToggleErrorCallback = Streamer_IsToggleErrorCallback; | ||
public static amxUnloadDestroyItems = Streamer_AmxUnloadDestroyItems; | ||
public abstract onItemStreamIn( | ||
type: StreamerItemTypes, | ||
id: number, | ||
forplayerid: number | ||
): number; | ||
public abstract onItemStreamOut( | ||
type: StreamerItemTypes, | ||
id: number, | ||
forplayerid: number | ||
): number; | ||
public abstract onPluginError(error: string): number; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters