PrismarineJS / node-minecraft-protocol

Parse and serialize minecraft packets, plus authentication and encryption.
https://prismarinejs.github.io/node-minecraft-protocol/
BSD 3-Clause "New" or "Revised" License
1.24k stars 239 forks source link

Thought about merging with classic (and mcpe later ?) #376

Open rom1504 opened 8 years ago

rom1504 commented 8 years ago

I thought it was possible to have one lib handling both classic, mcpc and mcpe. But now looking at a (now working) minecraft-classic lib, https://github.com/mhsjlw/minecraft-classic-protocol, it doesn't seem so obvious.

The serialization/parsing part is indeed common (done by protodef). The client and server are possibly generalizable.

But my problem is with createClient and createServer. They are very different in classic. The examples and the test are also really different between classic and modern.

How do you think we should go with that ?

keeping them separate ? having different tests, example and client,server plugins (~=createClient/createServer) for classic/modern (and one day mcpe) ?

Maybe keeping them separate but putting a maximum of things in common via libs is the best way to go ?

rom1504 commented 8 years ago

(also see https://github.com/mhsjlw/minecraft-classic-protocol/issues/1 )

rom1504 commented 8 years ago

the classic protocol could go in mcdata anyway.

seems like it's protocol 7 https://github.com/mhsjlw/minecraft-classic-protocol/blob/master/src/createClient.js#L37

which is not in https://github.com/PrismarineJS/minecraft-data/blob/master/data/common/protocolVersions.json#L1114

rom1504 commented 8 years ago

putting it in mcdata requires to solve the same thing than in https://github.com/PrismarineJS/minecraft-data/issues/114