@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
74 lines • 2.33 kB
TypeScript
import { default as BinaryStream } from '../../../../jsbinaryutils/src/index.ts';
import { Vector3 } from '../../../../math/src/index.ts';
import { Item } from '../../item/Item';
import { default as BlockPosition } from '../../world/BlockPosition';
import { default as DataPacket } from './DataPacket';
export declare enum UseItemAction {
CLICK_BLOCK = 0,
CLICK_AIR = 1,
BREAK_BLOCK = 2
}
export declare enum TransactionType {
NORMAL = 0,
MISMATCH = 1,
USE_ITEM = 2,
USE_ITEM_ON_ENTITY = 3,
RELASE_ITEM = 4
}
export declare class LegacySlotChange {
containerId: number;
slots: number[];
constructor(containerId: number, slots: number[]);
static fromNetwork(stream: BinaryStream): LegacySlotChange;
toNetwork(stream: BinaryStream): void;
}
export declare enum ActionSource {
INVALID = -1,
CONTAINER = 0,
GLOBAL = 1,
WORLD = 2,
CREATIVE = 3,
UNTRACKED_INTERACTION_UI = 100,
NON_IMPLEMENTED_TODO = 99999
}
export declare class InventoryAction {
sourceType: number;
windowId: number | null;
sourceFlags: number | null;
targetSlot: number;
oldItem: Item;
newItem: Item;
constructor(sourceType: number, windowId: number | null, sourceFlags: number | null, targetSlot: number, oldItem: Item, newItem: Item);
static fromNetwork(stream: BinaryStream): InventoryAction;
toNetwork(stream: BinaryStream): void;
}
export interface TransactionData {
actionType: number;
hotbarSlot: number;
itemInHand: Item;
}
export interface UseItemData extends TransactionData {
blockPosition: BlockPosition;
blockFace: number;
playerPosition: Vector3;
clickPosition: Vector3;
blockRuntimeId: number;
}
export interface UseItemOnEntityData extends TransactionData {
entityRuntimeId: bigint;
playerPosition: Vector3;
clickPosition: Vector3;
}
export interface RelaseItemData extends TransactionData {
headRotation: Vector3;
}
export default class InventoryTransactionPacket extends DataPacket {
static NetID: number;
legacyRequestId: number;
legacySlotChanges: LegacySlotChange[];
transactionType: TransactionType;
inventoryActions: InventoryAction[];
transactionData: TransactionData;
decodePayload(): void;
}
//# sourceMappingURL=InventoryTransactionPacket.d.ts.map