mcraft-fun-mineflayer
Version:
Mineflayer viewer (connector) for mcraft.fun project and vanilla Minecraft client! Both TCP and WebSockets servers are supported.
45 lines (44 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStateCaptureFile = exports.PACKETS_REPLAY_FILE_EXTENSION = exports.WORLD_STATE_FILE_EXTENSION = exports.WORLD_STATE_VERSION = void 0;
const minecraft_protocol_1 = require("minecraft-protocol");
const packetsLogger_1 = require("./packetsLogger");
const events_1 = require("events");
exports.WORLD_STATE_VERSION = 1;
exports.WORLD_STATE_FILE_EXTENSION = 'worldstate.txt';
exports.PACKETS_REPLAY_FILE_EXTENSION = 'packets.txt';
// todo rename
const createStateCaptureFile = (bot, adjustPacketsLogger) => {
const header = {
formatVersion: exports.WORLD_STATE_VERSION,
minecraftVersion: bot.version,
};
const logger = new packetsLogger_1.PacketsLogger(header);
adjustPacketsLogger?.(logger);
logger.contents = `${JSON.stringify(header)}\n`;
//@ts-ignore
class FakeClient extends events_1.EventEmitter {
id = 0;
state = minecraft_protocol_1.states.PLAY;
username = '';
socket = {};
writeChannel(channel, params) {
logger.log(true, { name: 'writeChannel', state: 'play' }, { channel, params });
}
write(name, params) {
logger.log(true, { name, state: 'play' }, params);
}
registerChannel(name, typeDefinition, custom) {
}
chat() { }
writeRaw(buffer) {
throw new Error('Not implemented');
}
supportFeature = bot.supportFeature;
}
return {
client: new FakeClient(),
logger
};
};
exports.createStateCaptureFile = createStateCaptureFile;