@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
40 lines (39 loc) • 3.68 kB
JavaScript
import Identifiers from "../Identifiers.es.js";
import DataPacket from "./DataPacket.es.js";
//#region src/network/packet/InteractPacket.ts
var InteractAction = /* @__PURE__ */ function(InteractAction) {
InteractAction[InteractAction["LeaveVehicle"] = 3] = "LeaveVehicle";
InteractAction[InteractAction["MouseOver"] = 4] = "MouseOver";
InteractAction[InteractAction["OpenNPC"] = 5] = "OpenNPC";
InteractAction[InteractAction["OpenInventory"] = 6] = "OpenInventory";
return InteractAction;
}({});
var InteractPacket = class extends DataPacket {
static NetID = Identifiers.InteractPacket;
action;
target;
x;
y;
z;
encodePayload() {
this.writeByte(this.action);
this.writeUnsignedVarLong(this.target);
if (this.action === 4) {
this.writeFloatLE(this.x);
this.writeFloatLE(this.y);
this.writeFloatLE(this.z);
}
}
decodePayload() {
this.action = this.readByte();
this.target = this.readUnsignedVarLong();
if (this.action === 4) {
this.x = this.readFloatLE();
this.y = this.readFloatLE();
this.z = this.readFloatLE();
}
}
};
//#endregion
export { InteractAction, InteractPacket as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RQYWNrZXQuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvcGFja2V0L0ludGVyYWN0UGFja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgRGF0YVBhY2tldCBmcm9tICcuL0RhdGFQYWNrZXQnO1xuXG5leHBvcnQgZW51bSBJbnRlcmFjdEFjdGlvbiB7XG4gICAgTGVhdmVWZWhpY2xlID0gMyxcbiAgICBNb3VzZU92ZXIgPSA0LFxuICAgIE9wZW5OUEMgPSA1LFxuICAgIE9wZW5JbnZlbnRvcnkgPSA2XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVyYWN0UGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLkludGVyYWN0UGFja2V0O1xuXG4gICAgcHVibGljIGFjdGlvbiE6IG51bWJlcjtcbiAgICBwdWJsaWMgdGFyZ2V0ITogYmlnaW50O1xuXG4gICAgcHVibGljIHghOiBudW1iZXI7XG4gICAgcHVibGljIHkhOiBudW1iZXI7XG4gICAgcHVibGljIHohOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZUJ5dGUodGhpcy5hY3Rpb24pO1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJMb25nKHRoaXMudGFyZ2V0KTtcblxuICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09IEludGVyYWN0QWN0aW9uLk1vdXNlT3Zlcikge1xuICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy54KTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMueSk7XG4gICAgICAgICAgICB0aGlzLndyaXRlRmxvYXRMRSh0aGlzLnopO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5yZWFkQnl0ZSgpO1xuICAgICAgICB0aGlzLnRhcmdldCA9IHRoaXMucmVhZFVuc2lnbmVkVmFyTG9uZygpO1xuXG4gICAgICAgIGlmICh0aGlzLmFjdGlvbiA9PT0gSW50ZXJhY3RBY3Rpb24uTW91c2VPdmVyKSB7XG4gICAgICAgICAgICB0aGlzLnggPSB0aGlzLnJlYWRGbG9hdExFKCk7XG4gICAgICAgICAgICB0aGlzLnkgPSB0aGlzLnJlYWRGbG9hdExFKCk7XG4gICAgICAgICAgICB0aGlzLnogPSB0aGlzLnJlYWRGbG9hdExFKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUdBLElBQVksaUJBQUwseUJBQUEsZ0JBQUE7Q0FDSCxlQUFBLGVBQUEsa0JBQUEsS0FBQTtDQUNBLGVBQUEsZUFBQSxlQUFBLEtBQUE7Q0FDQSxlQUFBLGVBQUEsYUFBQSxLQUFBO0NBQ0EsZUFBQSxlQUFBLG1CQUFBLEtBQUE7O0FBQ0osRUFBQSxDQUFBLENBQUE7QUFFQSxJQUFxQixpQkFBckIsY0FBNEMsV0FBVztDQUNuRCxPQUFjLFFBQVEsWUFBWTtDQUVsQztDQUNBO0NBRUE7Q0FDQTtDQUNBO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssVUFBVSxLQUFLLE1BQU07RUFDMUIsS0FBSyxxQkFBcUIsS0FBSyxNQUFNO0VBRXJDLElBQUksS0FBSyxXQUFBLEdBQXFDO0dBQzFDLEtBQUssYUFBYSxLQUFLLENBQUM7R0FDeEIsS0FBSyxhQUFhLEtBQUssQ0FBQztHQUN4QixLQUFLLGFBQWEsS0FBSyxDQUFDO0VBQzVCO0NBQ0o7Q0FFQSxnQkFBNkI7RUFDekIsS0FBSyxTQUFTLEtBQUssU0FBUztFQUM1QixLQUFLLFNBQVMsS0FBSyxvQkFBb0I7RUFFdkMsSUFBSSxLQUFLLFdBQUEsR0FBcUM7R0FDMUMsS0FBSyxJQUFJLEtBQUssWUFBWTtHQUMxQixLQUFLLElBQUksS0FBSyxZQUFZO0dBQzFCLEtBQUssSUFBSSxLQUFLLFlBQVk7RUFDOUI7Q0FDSjtBQUNKIn0=