@mcbelibs/hslib
Version:
personal library for bdsx
44 lines • 3.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.onEntitiesDetected = exports.EntitiesDetectedEvent = exports.FETCH_COMMAND = void 0;
const command_1 = require("bdsx/bds/command");
const command_2 = require("bdsx/command");
const eventtarget_1 = require("bdsx/eventtarget");
const nativetype_1 = require("bdsx/nativetype");
const careful_1 = require("../careful");
const command_3 = require("./command");
const interval_1 = require("./interval");
exports.FETCH_COMMAND = "fetchentities";
class EntitiesDetectedEvent {
constructor(identifier, entities) {
this.identifier = identifier;
this.entities = entities;
}
static register(identifier, selectors) {
this.Entries[identifier] = selectors;
}
static fetch(identifier, selector) {
command_3.MCCmd.run(`${exports.FETCH_COMMAND} ${identifier} ${selector}`);
}
}
exports.EntitiesDetectedEvent = EntitiesDetectedEvent;
EntitiesDetectedEvent.Entries = {};
exports.onEntitiesDetected = new eventtarget_1.Event();
careful_1.careful.on(() => {
interval_1.IntervalUtil.New(() => {
for (const id of Object.keys(EntitiesDetectedEvent.Entries)) {
const selector = EntitiesDetectedEvent.Entries[id];
command_3.MCCmd.run(`${exports.FETCH_COMMAND} ${id} ${selector}`);
}
}, 200);
command_2.command.register(exports.FETCH_COMMAND, exports.FETCH_COMMAND, command_1.CommandPermissionLevel.Host).overload((p, o, op) => {
const entities = p.entities.newResults(o);
if (entities.length === 0)
return;
exports.onEntitiesDetected.fire(new EntitiesDetectedEvent(p.identifier, entities));
}, {
identifier: nativetype_1.CxxString,
entities: command_1.ActorCommandSelector,
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2hldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZldGNoZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsOENBQWdGO0FBQ2hGLDBDQUF1QztBQUN2QyxrREFBeUM7QUFDekMsZ0RBQTRDO0FBQzVDLHdDQUFxQztBQUNyQyx1Q0FBa0M7QUFDbEMseUNBQTBDO0FBRTdCLFFBQUEsYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFhLHFCQUFxQjtJQVc5QixZQUFtQixVQUFrQixFQUFTLFFBQWlCO1FBQTVDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBQUcsQ0FBQztJQVRuRSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQWtCLEVBQUUsU0FBaUI7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUlELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtRQUM3QyxlQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcscUJBQWEsSUFBSSxVQUFVLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDOztBQVZMLHNEQVlDO0FBWFUsNkJBQU8sR0FBNEQsRUFBRSxDQUFDO0FBWXBFLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxtQkFBSyxFQUEwQyxDQUFDO0FBQ3RGLGlCQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNaLHVCQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNsQixLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekQsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELGVBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxxQkFBYSxJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsaUJBQU8sQ0FBQyxRQUFRLENBQUMscUJBQWEsRUFBRSxxQkFBYSxFQUFFLGdDQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FDaEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ1QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2xDLDBCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDLEVBQ0Q7UUFDSSxVQUFVLEVBQUUsc0JBQVM7UUFDckIsUUFBUSxFQUFFLDhCQUFvQjtLQUNqQyxDQUNKLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyJ9