@gwigz/homunculus-core
Version:
A third-party framework for interacting with Linden Lab's virtual world "Second Life"
67 lines (66 loc) • 2.07 kB
TypeScript
/**
* ObjectAdd Packet
*
* This file is used to help our packet serialization and deserialization
* process, and to create new packets on the fly.
*
* ⚠️ Do not edit this file manually, it is generated by the `codegen` script!
*
* @see {@link http://wiki.secondlife.com/wiki/Message_Layout}
*/
import { Quaternion, S8, U8, U16, U32, UUID, Vector3 } from "../types";
import { type PacketMetadata } from "./packet";
export interface ObjectAddData {
agentData: {
agentId?: string;
sessionId?: string;
groupId: string;
};
objectData?: {
pCode: number;
material: number;
addFlags: number;
pathCurve: number;
profileCurve: number;
pathBegin: number;
pathEnd: number;
pathScaleX: number;
pathScaleY: number;
pathShearX: number;
pathShearY: number;
pathTwist: number;
pathTwistBegin: number;
pathRadiusOffset: number;
pathTaperX: number;
pathTaperY: number;
pathRevolutions: number;
pathSkew: number;
profileBegin: number;
profileEnd: number;
profileHollow: number;
bypassRaycast: number;
rayStart: Vector3;
rayEnd: Vector3;
rayTargetId: string;
rayEndIsIntersection: number;
scale: Vector3;
rotation: Quaternion;
state: number;
};
}
export declare const objectAddMetadata: {
id: number;
name: string;
frequency: 1;
compression: true;
blocks: {
name: string;
parameters: ([string, typeof U32] | [string, typeof U8] | [string, typeof UUID] | [string, typeof U16] | [string, typeof S8] | [string, typeof Vector3] | [string, typeof Quaternion])[];
}[];
};
export declare const objectAdd: (data: ObjectAddData, reliable?: boolean) => {
data: ObjectAddData;
reliable: boolean | undefined;
metadata: PacketMetadata;
};
export declare const createObjectAddDelegate: (config: Omit<import("..").DelegateConfig<ObjectAddData>, "metadata">) => void;