LookAtMySuitBot/js/node_modules/prismarine-registry/test/mcpc.js

40 lines
1.3 KiB
JavaScript

const collectPackets = require('./util/collectMcpcPackets')
const Registry = require('prismarine-registry')
async function main (version = '1.18') {
const registry = Registry(version)
let loggedIn = false
const handlers = {
login (version, body) {
if (body.dimensionCodec) {
registry.loadDimensionCodec(body.dimensionCodec)
console.log('Loaded dimension codec', registry.biomes)
registry.writeDimensionCodec()
// TODO: Add proper way to compare two NBT objects in prismarine-nbt, as deepEqual will fail with incorrect sorting
// assert.deepEqual(reEncoded, body.dimensionCodec)
console.log('Re-encoded dimension codec')
if (registry.supportFeature('signedChat')) {
if (!Object.keys(registry.chatFormattingByName).includes('minecraft:chat')) {
throw Error('formatting data for `minecraft:chat` not found')
}
}
}
loggedIn = true
},
declare_recipes (version, body) {
// todo: load recipes
}
}
await collectPackets(version, Object.keys(handlers), (name, body) => handlers[name](version, body))
await new Promise(resolve => setTimeout(resolve, 5000))
if (!loggedIn) {
throw new Error('Did not login')
}
}
module.exports = main