/** * Makes the final path. * @returns {void} */ makeFinal() { const segments = this.currentSegments; if (segments.length > 0 && segments[0].reachable) { this.returnedForkContext.add(segments); } }
decode() { super.decode(); this.seqNumber = this.__getLTriad(); while (!this.__feof()) { let data = minejs.utils.Binary.subBytes(this.buffer, this.offset); let packet = minejs.raknet.protocol.EncapsulatedPacket.fromBinary(data, false); this.__offset += packet.getOffset(); if (packet.buffer.length == 0) break; this.packets.add(packet); } }
/** * @param {object} data * @param {string} defaultValue * @return Array */ loadPermissions(data, defaultValue) { if (defaultValue == null) defaultValue = Permission.DEFAULT_OP; let result = []; if (data != null) { for (let key in data) { let entry = data[key]; result.add(this.loadPermission(key, entry, defaultValue, result)); } } return result; }
Object.defineProperty(Array.prototype, 'groupBy', withValue(function Array$groupBy(callback, instance) { var length = this.length; var groups = []; var keys = {}; for (var i = 0; i < length; i++) { if (i in this) { var key = callback.call(instance, this[i], i); if (String.isNullOrEmpty(key)) { continue; } var items = keys[key]; if (!items) { items = []; items.key = key; keys[key] = items; groups.add(items); } items.add(this[i]); } } return groups; }));
/** * 如果插件没有在失败列表,则启动,否则忽略 * * @param {Plugin[]} failedToStartedPlugins * @param {Plugin} plugin * @memberof PluginStarter */ startPluginInternal(failedToStartedPlugins, plugin) { if (failedToStartedPlugins.has(plugin.id)) { return; } try { plugin.start(); } catch (error) { failedToStartedPlugins.add(plugin.id); } }
keysToDo.add( name );