UNPKG

@bdsx/ostag

Version:
91 lines 7.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const packetids_1 = require("bdsx/bds/packetids"); const packets_1 = require("bdsx/bds/packets"); const player_1 = require("bdsx/bds/player"); const common_1 = require("bdsx/common"); const event_1 = require("bdsx/event"); const launcher_1 = require("bdsx/launcher"); const __1 = require(".."); const OSs = new Map(); event_1.events.packetAfter(packetids_1.MinecraftPacketIds.Login).on((pkt, ni) => { const connreq = pkt.connreq; if (!connreq) return; OSs.set(ni, connreq.getDeviceOS()); }); event_1.events.networkDisconnected.on((ni) => { OSs.delete(ni); }); const mc_level = launcher_1.bedrockServer.level; class OSTag { constructor() { var _a; this.tagger = (msg) => { }; this.config = (0, __1.getConfig)(); this.cfgPerm = player_1.PlayerPermission[(_a = this.config.tags) === null || _a === void 0 ? void 0 : _a.permission]; this.leastPerm = [player_1.PlayerPermission.CUSTOM, undefined, null].includes(this.cfgPerm) ? player_1.PlayerPermission.VISITOR : this.cfgPerm; this.evRegistered = false; this.event(); } getOSName(player) { var _a, _b; const ni = player.getNetworkIdentifier(); return (_b = (_a = this.config[common_1.BuildPlatform[OSs.get(ni)]]) !== null && _a !== void 0 ? _a : this.config.UNKNOWN) !== null && _b !== void 0 ? _b : ""; } event() { event_1.events.playerJoin.on((ev) => { var _a, _b; const os = this.getOSName(ev.player); const position = (_a = this.config.tags) === null || _a === void 0 ? void 0 : _a.position; if (position == null || position === "ScoreTag") ev.player.setScoreTag(os); else if (((_b = this.config.tags) === null || _b === void 0 ? void 0 : _b.position) !== "ScoreTag") this.registerInteractEv(); else ev.player.setScoreTag(os); }); } registerInteractEv() { var _a; if (this.evRegistered) return; try { switch ((_a = this.config.tags) === null || _a === void 0 ? void 0 : _a.position) { case "Raw": this.tagger = player_1.ServerPlayer.prototype.sendMessage; break; case "Popup": this.tagger = player_1.ServerPlayer.prototype.sendPopup; break; case "JukeboxPopup": this.tagger = player_1.ServerPlayer.prototype.sendJukeboxPopup; break; case "Tip": this.tagger = player_1.ServerPlayer.prototype.sendTip; break; case "ActionBar": this.tagger = player_1.ServerPlayer.prototype.sendActionbar; break; default: break; } event_1.events.packetBefore(packetids_1.MinecraftPacketIds.Interact).on((pkt, ni) => { const interactor = ni.getActor(); const isMouseover = pkt.action === packets_1.InteractPacket.Actions.Mouseover; if (isMouseover) { const entity = mc_level.getRuntimeEntity(pkt.actorId, false); if ((entity === null || entity === void 0 ? void 0 : entity.isPlayer()) && interactor) { if (interactor.getPermissionLevel() >= this.leastPerm) this.tagger.call(interactor, "§f" + this.getOSName(entity)); } } }); } catch (_b) { this.evRegistered = true; } } } new OSTag(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmV0YWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY29yZXRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLGtEQUF3RDtBQUN4RCw4Q0FBa0Q7QUFDbEQsNENBQXlFO0FBQ3pFLHdDQUE0QztBQUM1QyxzQ0FBb0M7QUFDcEMsNENBQThDO0FBQzlDLDBCQUErQjtBQUUvQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztBQUV4RCxjQUFNLENBQUMsV0FBVyxDQUFDLDhCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQzVCLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTztJQUNyQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUVILGNBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNqQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsd0JBQWEsQ0FBQyxLQUFLLENBQUM7QUFFckMsTUFBTSxLQUFLO0lBQ1A7O1FBT1EsV0FBTSxHQUFpRCxDQUFDLEdBQVcsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRWxFLFdBQU0sR0FBRyxJQUFBLGFBQVMsR0FBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyx5QkFBZ0IsQ0FBQyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxVQUFpQixDQUFzQixDQUFDO1FBQ3JGLGNBQVMsR0FBRyxDQUFDLHlCQUFnQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBV2pJLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBckJ6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNPLFNBQVMsQ0FBQyxNQUFjOztRQUM1QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE1BQUEsTUFBQyxJQUFJLENBQUMsTUFBYyxDQUFDLHNCQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLG1DQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUM7SUFDMUYsQ0FBQztJQU9PLEtBQUs7UUFDVCxjQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFOztZQUN4QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxNQUFNLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUM7WUFDNUMsSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsS0FBSyxVQUFVO2dCQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0RSxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksMENBQUUsUUFBUSxNQUFLLFVBQVU7Z0JBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7O2dCQUN6RSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQzlCLElBQUk7WUFDQSxRQUFRLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLFFBQVEsRUFBRTtnQkFDaEMsS0FBSyxLQUFLO29CQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO29CQUNqRCxNQUFNO2dCQUNWLEtBQUssT0FBTztvQkFDUixJQUFJLENBQUMsTUFBTSxHQUFHLHFCQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztvQkFDL0MsTUFBTTtnQkFDVixLQUFLLGNBQWM7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDdEQsTUFBTTtnQkFDVixLQUFLLEtBQUs7b0JBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7b0JBQzdDLE1BQU07Z0JBQ1YsS0FBSyxXQUFXO29CQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQVksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO29CQUNuRCxNQUFNO2dCQUNWO29CQUNJLE1BQU07YUFDYjtZQUVELGNBQU0sQ0FBQyxZQUFZLENBQUMsOEJBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUM1RCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssd0JBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUNwRSxJQUFJLFdBQVcsRUFBRTtvQkFDYixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLEVBQUUsS0FBSSxVQUFVLEVBQUU7d0JBQ2xDLElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFLElBQUksSUFBSSxDQUFDLFNBQVM7NEJBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQ3RIO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUFDLFdBQU07WUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSjtBQUNELElBQUksS0FBSyxFQUFFLENBQUMifQ==