@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
141 lines (137 loc) • 11.5 kB
JavaScript
'use strict';
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
class ServerName {
server;
motd;
name = "JSRakNet";
protocol;
version;
maxPlayers;
onlinePlayers = 0;
gamemode;
serverId = 0n;
/**
* Create a new server name for a RakNet server.
* @param {any} server - The server instance.
*/
constructor(server) {
this.server = server;
this.motd = server.getConfig().getMotd();
this.gamemode = server.getConfig().getGamemode();
this.maxPlayers = server.getConfig().getMaxPlayers();
this.protocol = server.getIdentifiers().Protocol;
this.version = server.getIdentifiers().MinecraftVersions.at(0);
}
/**
* Get the message of the day.
* @returns {string} the message of the day.
*/
getMotd() {
return this.motd;
}
/**
* Set the message of the day.
* @param {string} motd - The message of the day.
*/
setMotd(motd) {
this.motd = motd;
}
/**
* Get the server name.
* @returns {string} The server name.
*/
getName() {
return this.name;
}
/**
* Set the server name.
* @param {string} name - The server name.
*/
setName(name) {
this.name = name;
}
/**
* Get the protocol version.
* @returns {number} The protocol version.
*/
getProtocol() {
return this.protocol;
}
/**
* Set the protocol version.
* @param {number} protocol - The protocol version.
*/
setProtocol(protocol) {
this.protocol = protocol;
}
/**
* Get the version of the server.
* @returns {string} The version of the server.
*/
getVersion() {
return this.version;
}
/**
* Set the version of the server.
* @param {string} version - The version of the server.
*/
setVersion(version) {
this.version = version;
}
/**
* Get the amount of online players.
* @returns {number} The amount of online players.
*/
getOnlinePlayerCount() {
return this.onlinePlayers;
}
/**
* Set the amount of online players.
* @param {number} count - The amount of online players.
*/
setOnlinePlayerCount(count) {
this.onlinePlayers = count;
}
/**
* Get the maximum amount of players.
* @returns {number} The maximum amount of players.
*/
getMaxPlayerCount() {
return this.maxPlayers;
}
/**
* Set the maximum amount of players.
* @param {number} count - The maximum amount of players.
* @returns {void}
*/
setMaxPlayerCount(count) {
this.maxPlayers = count;
}
getGamemode() {
return this.gamemode;
}
setGamemode(gamemode) {
this.gamemode = gamemode;
}
getServerId() {
return this.serverId;
}
setServerId(id) {
this.serverId = id;
}
toString() {
return [
"MCPE",
this.getMotd() || "Example motd",
this.getProtocol(),
this.getVersion(),
this.getOnlinePlayerCount(),
this.getMaxPlayerCount(),
this.getServerId(),
this.getName(),
this.getGamemode()
].join(";") + ";";
}
}
exports.ServerName = ServerName;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyTmFtZS5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvU2VydmVyTmFtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2VydmVyTmFtZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXI6IGFueTtcbiAgICBwcml2YXRlIG1vdGQ6IHN0cmluZztcbiAgICBwcml2YXRlIG5hbWUgPSAnSlNSYWtOZXQnO1xuICAgIHByaXZhdGUgcHJvdG9jb2w7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uO1xuICAgIHByaXZhdGUgbWF4UGxheWVyczogbnVtYmVyO1xuICAgIHByaXZhdGUgb25saW5lUGxheWVyczogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIGdhbWVtb2RlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzZXJ2ZXJJZCA9IDBuO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IHNlcnZlciBuYW1lIGZvciBhIFJha05ldCBzZXJ2ZXIuXG4gICAgICogQHBhcmFtIHthbnl9IHNlcnZlciAtIFRoZSBzZXJ2ZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZlcjogYW55KSB7XG4gICAgICAgIHRoaXMuc2VydmVyID0gc2VydmVyO1xuICAgICAgICB0aGlzLm1vdGQgPSBzZXJ2ZXIuZ2V0Q29uZmlnKCkuZ2V0TW90ZCgpO1xuICAgICAgICB0aGlzLmdhbWVtb2RlID0gc2VydmVyLmdldENvbmZpZygpLmdldEdhbWVtb2RlKCk7XG4gICAgICAgIHRoaXMubWF4UGxheWVycyA9IHNlcnZlci5nZXRDb25maWcoKS5nZXRNYXhQbGF5ZXJzKCk7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSAoc2VydmVyIGFzIGFueSkuZ2V0SWRlbnRpZmllcnMoKS5Qcm90b2NvbDtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gKHNlcnZlciBhcyBhbnkpLmdldElkZW50aWZpZXJzKCkuTWluZWNyYWZ0VmVyc2lvbnMuYXQoMCkhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWVzc2FnZSBvZiB0aGUgZGF5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBtZXNzYWdlIG9mIHRoZSBkYXkuXG4gICAgICovXG4gICAgcHVibGljIGdldE1vdGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW90ZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBtZXNzYWdlIG9mIHRoZSBkYXkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG1vdGQgLSBUaGUgbWVzc2FnZSBvZiB0aGUgZGF5LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNb3RkKG1vdGQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdGQgPSBtb3RkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc2VydmVyIG5hbWUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHNlcnZlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgc2VydmVyIG5hbWUuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgc2VydmVyIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIHNldE5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwcm90b2NvbCB2ZXJzaW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBwcm90b2NvbCB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm90b2NvbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90b2NvbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBwcm90b2NvbCB2ZXJzaW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwcm90b2NvbCAtIFRoZSBwcm90b2NvbCB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRQcm90b2NvbChwcm90b2NvbDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSBwcm90b2NvbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHZlcnNpb24gb2YgdGhlIHNlcnZlci5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdmVyc2lvbiBvZiB0aGUgc2VydmVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgdmVyc2lvbiBvZiB0aGUgc2VydmVyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gVGhlIHZlcnNpb24gb2YgdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0VmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGFtb3VudCBvZiBvbmxpbmUgcGxheWVycy5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgYW1vdW50IG9mIG9ubGluZSBwbGF5ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRPbmxpbmVQbGF5ZXJDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5vbmxpbmVQbGF5ZXJzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGFtb3VudCBvZiBvbmxpbmUgcGxheWVycy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgLSBUaGUgYW1vdW50IG9mIG9ubGluZSBwbGF5ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRPbmxpbmVQbGF5ZXJDb3VudChjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25saW5lUGxheWVycyA9IGNvdW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWF4aW11bSBhbW91bnQgb2YgcGxheWVycy5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgbWF4aW11bSBhbW91bnQgb2YgcGxheWVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TWF4UGxheWVyQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4UGxheWVycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBwbGF5ZXJzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb3VudCAtIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBwbGF5ZXJzLlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNYXhQbGF5ZXJDb3VudChjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWF4UGxheWVycyA9IGNvdW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHYW1lbW9kZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nYW1lbW9kZTtcbiAgICB9XG4gICAgcHVibGljIHNldEdhbWVtb2RlKGdhbWVtb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nYW1lbW9kZSA9IGdhbWVtb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXJ2ZXJJZCgpOiBiaWdpbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJJZDtcbiAgICB9XG4gICAgcHVibGljIHNldFNlcnZlcklkKGlkOiBiaWdpbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJJZCA9IGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICdNQ1BFJyxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE1vdGQoKSB8fCAnRXhhbXBsZSBtb3RkJyxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFByb3RvY29sKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPbmxpbmVQbGF5ZXJDb3VudCgpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TWF4UGxheWVyQ291bnQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlcnZlcklkKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRHYW1lbW9kZSgpXG4gICAgICAgICAgICBdLmpvaW4oJzsnKSArICc7J1xuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQU8sTUFBTSxVQUFXLENBQUE7QUFBQSxFQUNILE1BQUE7QUFBQSxFQUNULElBQUE7QUFBQSxFQUNBLElBQU8sR0FBQSxVQUFBO0FBQUEsRUFDUCxRQUFBO0FBQUEsRUFDQSxPQUFBO0FBQUEsRUFDQSxVQUFBO0FBQUEsRUFDQSxhQUF3QixHQUFBLENBQUE7QUFBQSxFQUN4QixRQUFBO0FBQUEsRUFDQSxRQUFXLEdBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNWixZQUFZLE1BQWEsRUFBQTtBQUM1QixJQUFBLElBQUEsQ0FBSyxNQUFTLEdBQUEsTUFBQTtBQUNkLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxNQUFBLENBQU8sU0FBVSxFQUFBLENBQUUsT0FBUSxFQUFBO0FBQ3ZDLElBQUEsSUFBQSxDQUFLLFFBQVcsR0FBQSxNQUFBLENBQU8sU0FBVSxFQUFBLENBQUUsV0FBWSxFQUFBO0FBQy9DLElBQUEsSUFBQSxDQUFLLFVBQWEsR0FB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