UNPKG

mcraft-fun-mineflayer

Version:

Mineflayer viewer (connector) for mcraft.fun project and vanilla Minecraft client! Both TCP and WebSockets servers are supported.

84 lines (83 loc) 3.2 kB
import { Client, Server } from 'minecraft-protocol'; import { Bot } from 'mineflayer'; import { UIDefinition, UiLilDef } from './customChannel'; import { PacketsLogger } from './packetsLogger'; export interface MineflayerPluginSettings { /** @default 25587 */ websocketPort?: number; websocketHost?: string; /** @default true */ websocketEnabled?: boolean; /** SSL configuration for WebSocket server */ ssl?: { /** @default false */ enabled?: boolean; /** @default false - if true, will use a self-signed certificate */ selfSigned?: boolean; /** Path to SSL certificate file */ cert?: string; /** Path to SSL private key file */ key?: string; }; /** @default 25587 */ tcpPort?: number; tcpHost?: string; /** @default true */ tcpEnabled?: boolean; /** @default undefined - no ip filter */ ipFilter?: string[]; /** @default true */ showConnectionInstructions?: boolean; /** @default undefined - no password protection */ password?: string; /** * Disabling this option is experimental but can help with understanding when bot is disconnected * @default true */ stopServersOnDisconnect?: boolean; /** @default false */ allowEval?: boolean; /** @default false */ sendConsole?: boolean; /** @default true */ sendStats?: boolean; /** @default false */ forwardChat?: boolean; /** @default false */ takeoverMode?: boolean; } export declare const createMineflayerPluginServer: (bot: Bot, options: MineflayerPluginSettings) => { ui: { updateUI: (id: string, ui: UIDefinition) => void; removeUI: (id: string) => void; updateText: (id: string, text: string) => void; updateLil: (id: string, object: { [key: string]: string | number | boolean | (() => void) | null; }, params?: Omit<UiLilDef, "type" | "params" | "buttons"> & { onUpdate?: (id: string, newValue: any, oldValue: any) => void; }) => void; removeLil: (id: string) => void; }; methods: Record<string, (...args: any[]) => void>; _customChannel: { send: (packet: import("./customChannel").CustomChannelPacketFromServer, client?: Client) => void; receivedProcessor: (packet: import("./customChannel").CustomChannelPacketFromClient) => void; registerChannel: (client: Client) => void; newConnection: (client: Client) => void; }; _tcpServer: Server | undefined; _wsServer: Server | undefined; captureWorldIntoFile: (fileName?: string, adjustPacketsLogger?: (logger: PacketsLogger) => void) => PacketsLogger; _unstable: { createStateCaptureFile: (fileName?: string, adjustPacketsLogger?: (logger: PacketsLogger) => void) => PacketsLogger; startRecording: (adjustPacketsLogger?: (logger: PacketsLogger) => void) => void; stopRecording: (saveFileName?: string) => void; debugWorldCapture(): void; }; }; export type WebViewerPlugin = ReturnType<typeof createMineflayerPluginServer>; declare module 'mineflayer' { interface Bot { webViewer: WebViewerPlugin; } }