UNPKG

pw-js-world

Version:

An optional package for PW-JS-Api, aims to serve world purposes.

51 lines (46 loc) 2.18 kB
// I cba so all of the typings will go here import { OmitRecursively, ProtoGen } from "pw-js-api"; import Block from "../Block.js"; import Player, { IPlayerEffect, IPlayerRights } from "../Player.js"; type Point = { x: number, y: number }; export interface SendableBlockPacket { /** * If true, just leave one position */ isFillOperation: boolean; blockId: number; layer: number; /** * Note: (I THINK) 250 positions limit. */ positions: Point[]; fields: OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName"> } export type BlockArg = (string | number | boolean | Uint8Array | undefined); export type PWGameHook = { worldBlockPlacedPacket: { player: Player, oldBlocks: Block[], newBlocks: Block[] }, playerJoinedPacket: { player: Player }, playerLeftPacket: { player: Player }, playerInitPacket: { player: Player }, playerFacePacket: { player: Player, oldFace: number }, playerModModePacket: { player: Player, oldState: boolean }, playerGodModePacket: { player: Player, oldState: boolean }, playerAddEffectPacket: { player: Player, effect: IPlayerEffect }, playerRemoveEffectPacket: { player: Player, effect: IPlayerEffect }, playerResetEffectsPacket: { player: Player, effects: IPlayerEffect[] }, playerMovedPacket: { player: Player }, playerResetPacket: { player: Player }, playerRespawnPacket: { player: Player }, playerUpdateRightsPacket: { player: Player, rights: IPlayerRights }, playerTeamUpdatePacket: { player: Player, oldTeam: number }, playerCountersUpdatePacket: { player: Player, oldState: { coinsBlue: number, coinsGold: number, deaths: number } }, playerTeleportedPacket: { player: Player }, globalSwitchChangedPacket: { player: Player }, globalSwitchResetPacket: { player: Player }, playerLocalSwitchChangedPacket: { player: Player }, playerLocalSwitchResetPacket: { player: Player }, playerChatPacket: { player: Player }, playerDirectMessagePacket: { player: Player }, playerTouchBlockPacket: { player: Player }, playerCounterTransactionPacket: { player: Player, oldScore: number, diff: number } };