New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@xmcl/client

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xmcl/client - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

48

index.js

@@ -1,5 +0,13 @@

import NBT from "@xmcl/nbt";
import { TextComponent } from "@xmcl/text-component";
import { StatusClient } from "./net/status-client";
export var ResourceMode;
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const nbt_1 = __importDefault(require("@xmcl/nbt"));
const text_component_1 = require("@xmcl/text-component");
const status_client_1 = require("./net/status-client");
var ResourceMode;
(function (ResourceMode) {

@@ -9,4 +17,4 @@ ResourceMode[ResourceMode["ENABLED"] = 0] = "ENABLED";

ResourceMode[ResourceMode["PROMPT"] = 2] = "PROMPT";
})(ResourceMode || (ResourceMode = {}));
export var Server;
})(ResourceMode = exports.ResourceMode || (exports.ResourceMode = {}));
var Server;
(function (Server) {

@@ -24,4 +32,4 @@ class Status {

}
static pinging() { return new Status(TextComponent.from("unknown"), TextComponent.from("Pinging..."), -1, -1, -1); }
static error() { return new Status(TextComponent.from("Error"), TextComponent.from("Error"), -1, -1, -1); }
static pinging() { return new Status(text_component_1.TextComponent.from("unknown"), text_component_1.TextComponent.from("Pinging..."), -1, -1, -1); }
static error() { return new Status(text_component_1.TextComponent.from("Error"), text_component_1.TextComponent.from("Error"), -1, -1, -1); }
static from(obj) {

@@ -31,9 +39,9 @@ if (obj instanceof Status) {

}
let motd = TextComponent.from("");
let motd = text_component_1.TextComponent.from("");
if (obj.description) {
motd = TextComponent.from(obj.description);
motd = text_component_1.TextComponent.from(obj.description);
}
const favicon = obj.favicon;
const version = obj.version;
let versionText = TextComponent.from("");
let versionText = text_component_1.TextComponent.from("");
let protocol = -1;

@@ -44,3 +52,3 @@ let online = -1;

if (version.name) {
versionText = TextComponent.from(version.name);
versionText = text_component_1.TextComponent.from(version.name);
}

@@ -100,3 +108,3 @@ if (version.protocol) {

async function readInfo(buff) {
const value = await NBT.deserialize(buff);
const value = await nbt_1.default.deserialize(buff);
if (!value.servers) {

@@ -141,3 +149,3 @@ throw {

};
return NBT.serialize(object);
return nbt_1.default.serialize(object);
}

@@ -159,3 +167,3 @@ Server.writeInfo = writeInfo;

let error;
const client = StatusClient.create(protocol, timeout);
const client = status_client_1.StatusClient.create(protocol, timeout);
for (let retryTimes = retry + 1; retryTimes > 0; retryTimes--) {

@@ -186,7 +194,7 @@ try {

Server.fetchStatus = fetchStatus;
})(Server || (Server = {}));
export * from "./net/coders";
export * from "./net/packet";
export * from "./net/status-client";
export * from "./net/client";
})(Server = exports.Server || (exports.Server = {}));
__export(require("./net/coders"));
__export(require("./net/packet"));
__export(require("./net/status-client"));
__export(require("./net/client"));
//# sourceMappingURL=index.js.map

@@ -1,10 +0,15 @@

import ByteBuffer from "bytebuffer";
import { EventEmitter } from "events";
import { Socket } from "net";
import { Transform, Writable } from "stream";
import { unzip } from "zlib";
class PacketInBound extends Transform {
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bytebuffer_1 = __importDefault(require("bytebuffer"));
const events_1 = require("events");
const net_1 = require("net");
const stream_1 = require("stream");
const zlib_1 = require("zlib");
class PacketInBound extends stream_1.Transform {
constructor() {
super(...arguments);
this.buffer = ByteBuffer.allocate(1024);
this.buffer = bytebuffer_1.default.allocate(1024);
}

@@ -39,3 +44,3 @@ _transform(chunk, encoding, callback) {

}
class PacketDecompress extends Transform {
class PacketDecompress extends stream_1.Transform {
constructor(option) {

@@ -51,3 +56,3 @@ super();

}
const message = ByteBuffer.wrap(chunk);
const message = bytebuffer_1.default.wrap(chunk);
const dataLength = message.readVarint32();

@@ -60,3 +65,3 @@ if (dataLength === 0 || dataLength < this.option.compressionThreshold) {

const compressedContent = message.buffer.slice(message.offset);
unzip(compressedContent, (err, result) => {
zlib_1.unzip(compressedContent, (err, result) => {
if (err) {

@@ -73,3 +78,3 @@ callback(err);

}
class PacketDecode extends Transform {
class PacketDecode extends stream_1.Transform {
constructor(client) {

@@ -80,3 +85,3 @@ super({ writableObjectMode: true, readableObjectMode: true });

_transform(chunk, encoding, callback) {
const message = ByteBuffer.wrap(chunk);
const message = bytebuffer_1.default.wrap(chunk);
const packetId = message.readVarint32();

@@ -94,3 +99,3 @@ const packetContent = message.slice();

}
class PacketEmitter extends Writable {
class PacketEmitter extends stream_1.Writable {
constructor(eventBus) {

@@ -105,3 +110,3 @@ super({ objectMode: true });

}
class PacketEncoder extends Transform {
class PacketEncoder extends stream_1.Transform {
constructor(client) {

@@ -115,3 +120,3 @@ super({ writableObjectMode: true, readableObjectMode: true });

if (coder && coder.encode) {
const buf = new ByteBuffer();
const buf = new bytebuffer_1.default();
buf.writeByte(id);

@@ -128,5 +133,5 @@ coder.encode(buf, message);

}
class PacketOutbound extends Transform {
class PacketOutbound extends stream_1.Transform {
_transform(packet, encoding, callback) {
const buffer = new ByteBuffer();
const buffer = new bytebuffer_1.default();
buffer.writeVarint32(packet.length);

@@ -147,3 +152,3 @@ buffer.append(packet);

}
export class Channel extends EventEmitter {
class Channel extends events_1.EventEmitter {
constructor() {

@@ -166,3 +171,3 @@ super();

};
this.connection = new Socket({ allowHalfOpen: false });
this.connection = new net_1.Socket({ allowHalfOpen: false });
this.enableCompression = false;

@@ -257,2 +262,3 @@ this.compressionThreshold = -1;

}
exports.Channel = Channel;
//# sourceMappingURL=client.js.map

@@ -0,5 +1,10 @@

"use strict";
// tslint:disable: variable-name
import NBT from "@xmcl/nbt";
import Long from "long";
import "uuid";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const nbt_1 = __importDefault(require("@xmcl/nbt"));
const long_1 = __importDefault(require("long"));
require("uuid");
const VarInt = {

@@ -74,10 +79,10 @@ decode: (buffer, inst) => buffer.readVarint32(),

}
let hi = Long.fromString(components[0], false, 16);
let hi = long_1.default.fromString(components[0], false, 16);
hi = hi.shiftLeft(16);
hi = hi.or(Long.fromString(components[1], false, 16));
hi = hi.or(long_1.default.fromString(components[1], false, 16));
hi = hi.shiftLeft(16);
hi = hi.or(Long.fromString(components[2], false, 16));
let lo = Long.fromString(components[3], false, 16);
hi = hi.or(long_1.default.fromString(components[2], false, 16));
let lo = long_1.default.fromString(components[3], false, 16);
lo = lo.shiftLeft(48);
lo = lo.or(Long.fromString(components[4], false, 16));
lo = lo.or(long_1.default.fromString(components[4], false, 16));
buffer.writeUint64(hi);

@@ -141,3 +146,3 @@ buffer.writeUint64(lo);

itemDamage,
nbt: NBT.deserializeSync(Buffer.from(buffer.buffer)),
nbt: nbt_1.default.deserializeSync(Buffer.from(buffer.buffer)),
};

@@ -168,3 +173,3 @@ },

};
export default Coders;
exports.default = Coders;
//# sourceMappingURL=coders.js.map

@@ -0,3 +1,5 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const registry = [];
export function Field(type) {
function Field(type) {
return (target, key) => {

@@ -11,2 +13,3 @@ const prototype = target.constructor;

}
exports.Field = Field;
// https://stackoverflow.com/questions/1606797/use-of-apply-with-new-operator-is-this-possible

@@ -17,3 +20,3 @@ function newCall(Cls) {

}
export function Packet(side, id, state) {
function Packet(side, id, state) {
// tslint:disable-next-line: ban-types

@@ -50,2 +53,3 @@ return (constructor) => {

}
exports.Packet = Packet;
(function (Packet) {

@@ -60,4 +64,4 @@ function clear() {

Packet.flush = flush;
})(Packet || (Packet = {}));
export class ProtocolManager {
})(Packet = exports.Packet || (exports.Packet = {}));
class ProtocolManager {
constructor() {

@@ -70,2 +74,3 @@ this.mapping = {};

}
exports.ProtocolManager = ProtocolManager;
//# sourceMappingURL=packet.js.map

@@ -0,1 +1,2 @@

"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

@@ -7,59 +8,63 @@ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;

};
import Long from "long";
import Coders from "../coders";
import { Field, Packet } from "../packet";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const long_1 = __importDefault(require("long"));
const coders_1 = __importDefault(require("../coders"));
const packet_1 = require("../packet");
let Handshake = class Handshake {
};
__decorate([
Field(Coders.VarInt)
packet_1.Field(coders_1.default.VarInt)
], Handshake.prototype, "protocolVersion", void 0);
__decorate([
Field(Coders.String)
packet_1.Field(coders_1.default.String)
], Handshake.prototype, "serverAddress", void 0);
__decorate([
Field(Coders.Short)
packet_1.Field(coders_1.default.Short)
], Handshake.prototype, "serverPort", void 0);
__decorate([
Field(Coders.VarInt)
packet_1.Field(coders_1.default.VarInt)
], Handshake.prototype, "nextState", void 0);
Handshake = __decorate([
Packet("client", 0x00, "handshake")
packet_1.Packet("client", 0x00, "handshake")
], Handshake);
export { Handshake };
exports.Handshake = Handshake;
let ServerQuery = class ServerQuery {
};
ServerQuery = __decorate([
Packet("client", 0x00, "status")
packet_1.Packet("client", 0x00, "status")
], ServerQuery);
export { ServerQuery };
exports.ServerQuery = ServerQuery;
let ServerStatus = class ServerStatus {
};
__decorate([
Field(Coders.Json)
packet_1.Field(coders_1.default.Json)
], ServerStatus.prototype, "status", void 0);
ServerStatus = __decorate([
Packet("server", 0x00, "status")
packet_1.Packet("server", 0x00, "status")
], ServerStatus);
export { ServerStatus };
exports.ServerStatus = ServerStatus;
let Ping = class Ping {
constructor() {
this.time = Long.fromNumber(Date.now());
this.time = long_1.default.fromNumber(Date.now());
}
};
__decorate([
Field(Coders.Long)
packet_1.Field(coders_1.default.Long)
], Ping.prototype, "time", void 0);
Ping = __decorate([
Packet("client", 0x01, "status")
packet_1.Packet("client", 0x01, "status")
], Ping);
export { Ping };
exports.Ping = Ping;
let Pong = class Pong {
};
__decorate([
Field(Coders.Long)
packet_1.Field(coders_1.default.Long)
], Pong.prototype, "ping", void 0);
Pong = __decorate([
Packet("server", 0x01, "status")
packet_1.Packet("server", 0x01, "status")
], Pong);
export { Pong };
exports.Pong = Pong;
//# sourceMappingURL=default.js.map

@@ -1,10 +0,12 @@

import { Channel } from "./client";
import { Packet } from "./packet";
import { Handshake, Ping, ServerQuery, ServerStatus } from "./protocols/default";
export class StatusClient {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const client_1 = require("./client");
const packet_1 = require("./packet");
const default_1 = require("./protocols/default");
class StatusClient {
constructor(protocol, timeout) {
this.protocol = protocol;
this.timeout = timeout;
this.channel = new Channel();
Packet.flush().forEach((r) => this.channel.registerPacket(r));
this.channel = new client_1.Channel();
packet_1.Packet.flush().forEach((r) => this.channel.registerPacket(r));
}

@@ -22,6 +24,6 @@ static create(protocol, timeout) {

const { status } = await new Promise((resolve, reject) => {
this.channel.oncePacket(ServerStatus, (e) => {
this.channel.oncePacket(default_1.ServerStatus, (e) => {
resolve(e);
});
this.channel.send(new Handshake(), {
this.channel.send(new default_1.Handshake(), {
protocolVersion: this.protocol,

@@ -33,3 +35,3 @@ serverAddress: host,

this.channel.state = "status";
this.channel.send(new ServerQuery());
this.channel.send(new default_1.ServerQuery());
});

@@ -40,3 +42,3 @@ const { ping } = await new Promise((resolve, reject) => {

});
this.channel.send(new Ping());
this.channel.send(new default_1.Ping());
});

@@ -48,3 +50,4 @@ status.ping = Date.now() - ping.toNumber();

}
export default StatusClient;
exports.StatusClient = StatusClient;
exports.default = StatusClient;
//# sourceMappingURL=status-client.js.map
{
"name": "@xmcl/client",
"version": "1.0.0",
"version": "1.0.1",
"main": "./index.js",

@@ -13,4 +13,4 @@ "description": "Minecraft client ping server",

"dependencies": {
"@xmcl/nbt": "^1.0.0",
"@xmcl/text-component": "^1.0.0",
"@xmcl/nbt": "^1.0.1",
"@xmcl/text-component": "^1.0.1",
"bytebuffer": "^5.0.1",

@@ -41,3 +41,3 @@ "long": "^3.2.0",

"homepage": "https://github.com/Voxelum/minecraft-launcher-core-node#readme",
"gitHead": "7babb4628dd072c266a30697d9104aef38215403"
"gitHead": "d3d7dd06d3a3f1363a84f9f2434818cf2935666c"
}
# Client Module
[![npm version](https://img.shields.io/npm/v/@xmcl/client.svg)](https://www.npmjs.com/package/client)
[![npm version](https://img.shields.io/npm/v/@xmcl/client.svg)](https://www.npmjs.com/package/@xmcl/client)
[![npm](https://img.shields.io/npm/l/@xmcl/minecraft-launcher-core.svg)](https://github.com/voxelum/minecraft-launcher-core-node/blob/master/LICENSE)

@@ -5,0 +5,0 @@ [![Build Status](https://github.com/voxelum/minecraft-launcher-core-node/workflows/Release%20Pre-Check/badge.svg)](https://github.com/voxelum/minecraft-launcher-core-node/workflows/Release%20Pre-Check/badge.svg)

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc