* Add packet dumper, configuable vanilla server, client events * Fix server/client closing * Add internal server test * protocol: use WindowID types * Add internal client/server test * test timeout fixes * client example updates * update server example, use protocol updates Server example with bedrock-provider Use 64-bit varints for entity runtime ids * fix internal test packet path
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
process.env.DEBUG = 'minecraft-protocol raknet'
|
|
const { Client } = require('bedrock-protocol')
|
|
const { ChunkColumn, Version } = require('bedrock-provider')
|
|
|
|
async function test () {
|
|
const client = new Client({
|
|
hostname: '127.0.0.1',
|
|
port: 19132
|
|
// You can specify version by adding :
|
|
// version: '1.16.210'
|
|
})
|
|
|
|
client.once('resource_packs_info', (packet) => {
|
|
client.write('resource_pack_client_response', {
|
|
response_status: 'completed',
|
|
resourcepackids: []
|
|
})
|
|
|
|
client.once('resource_pack_stack', (stack) => {
|
|
client.write('resource_pack_client_response', {
|
|
response_status: 'completed',
|
|
resourcepackids: []
|
|
})
|
|
})
|
|
|
|
client.queue('client_cache_status', { enabled: false })
|
|
client.queue('request_chunk_radius', { chunk_radius: 1 })
|
|
client.queue('tick_sync', { request_time: BigInt(Date.now()), response_time: 0n })
|
|
})
|
|
|
|
client.on('level_chunk', async packet => {
|
|
const cc = new ChunkColumn(Version.v1_4_0, packet.x, packet.z)
|
|
await cc.networkDecodeNoCache(packet.payload, packet.sub_chunk_count)
|
|
const blocks = []
|
|
for (let x = 0; x < 16; x++) {
|
|
for (let z = 0; z < 16; z++) {
|
|
blocks.push(cc.getBlock(x, 0, z)) // Read some blocks in this chunk
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
test()
|