Created
February 18, 2024 18:24
-
-
Save Blocksnmore/da897ea40279aa6ff46f3447db546e0a to your computer and use it in GitHub Desktop.
Deno node-minecraft-protocol bug report (Adapted from https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/examples/server_world/mc.js)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import mc from "npm:minecraft-protocol"; | |
import PrismarineChunk from "npm:prismarine-chunk"; | |
import Vec3 from "npm:vec3"; | |
import MCData from "npm:minecraft-data"; | |
const mcData = MCData('1.16.5') | |
const Chunk = PrismarineChunk('1.16.5') | |
const server = mc.createServer({ | |
'online-mode': true, | |
encryption: true, | |
host: '0.0.0.0', | |
port: 25565, | |
version: '1.16.5' | |
}) | |
const loginPacket = mcData.loginPacket | |
const chunk = new Chunk() | |
for (let x = 0; x < 16; x++) { | |
for (let z = 0; z < 16; z++) { | |
chunk.setBlockType(new Vec3(x, 100, z), mcData.blocksByName.grass_block.id) | |
chunk.setBlockData(new Vec3(x, 100, z), 1) | |
for (let y = 0; y < 256; y++) { | |
chunk.setSkyLight(new Vec3(x, y, z), 15) | |
} | |
} | |
} | |
server.on('playerJoin', function (client) { | |
client.write('login', { | |
...loginPacket, | |
entityId: client.id, | |
isHardcore: false, | |
gameMode: 0, | |
previousGameMode: 1, | |
worldName: 'minecraft:overworld', | |
hashedSeed: [0, 0], | |
maxPlayers: server.maxPlayers, | |
viewDistance: 10, | |
reducedDebugInfo: false, | |
enableRespawnScreen: true, | |
isDebug: false, | |
isFlat: false | |
}) | |
client.write('map_chunk', { | |
x: 0, | |
z: 0, | |
groundUp: true, | |
biomes: chunk.dumpBiomes !== undefined ? chunk.dumpBiomes() : undefined, | |
heightmaps: { | |
type: 'compound', | |
name: '', | |
value: {} // Client will accept fake heightmap | |
}, | |
bitMap: chunk.getMask(), | |
chunkData: chunk.dump(), | |
blockEntities: [] | |
}) | |
client.write('position', { | |
x: 15, | |
y: 101, | |
z: 15, | |
yaw: 137, | |
pitch: 0, | |
flags: 0x00 | |
}) | |
}) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const mc = require("minecraft-protocol"); | |
const PrismarineChunk = require("prismarine-chunk"); | |
const Vec3 = require("vec3"); | |
const MCData = require("minecraft-data"); | |
const mcData = MCData("1.16.5"); | |
const Chunk = PrismarineChunk("1.16.5"); | |
const server = mc.createServer({ | |
"online-mode": true, | |
encryption: true, | |
host: "0.0.0.0", | |
port: 25565, | |
version: "1.16.5", | |
}); | |
const loginPacket = mcData.loginPacket; | |
const chunk = new Chunk(); | |
for (let x = 0; x < 16; x++) { | |
for (let z = 0; z < 16; z++) { | |
chunk.setBlockType(new Vec3(x, 100, z), mcData.blocksByName.grass_block.id); | |
chunk.setBlockData(new Vec3(x, 100, z), 1); | |
for (let y = 0; y < 256; y++) { | |
chunk.setSkyLight(new Vec3(x, y, z), 15); | |
} | |
} | |
} | |
server.on("playerJoin", function (client) { | |
client.write("login", { | |
...loginPacket, | |
entityId: client.id, | |
isHardcore: false, | |
gameMode: 0, | |
previousGameMode: 1, | |
worldName: "minecraft:overworld", | |
hashedSeed: [0, 0], | |
maxPlayers: server.maxPlayers, | |
viewDistance: 10, | |
reducedDebugInfo: false, | |
enableRespawnScreen: true, | |
isDebug: false, | |
isFlat: false, | |
}); | |
client.write("map_chunk", { | |
x: 0, | |
z: 0, | |
groundUp: true, | |
biomes: chunk.dumpBiomes !== undefined ? chunk.dumpBiomes() : undefined, | |
heightmaps: { | |
type: "compound", | |
name: "", | |
value: {}, // Client will accept fake heightmap | |
}, | |
bitMap: chunk.getMask(), | |
chunkData: chunk.dump(), | |
blockEntities: [], | |
}); | |
client.write("position", { | |
x: 15, | |
y: 101, | |
z: 15, | |
yaw: 137, | |
pitch: 0, | |
flags: 0x00, | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment