PrismarineJS / PrismarineJS/node-minecraft-protocol

Thought about merging with classic (and mcpe later ?)

Open
#376 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
JavaScript
Stars
1.4k
Forks
290
Avg merge
4d 8h
Merged PRs (30d)
7

Description

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 ?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing createClient and createServer entry points, then compare the examples and tests for classic and modern protocols. Review how protodef handles shared serialization and parsing, alongside the referenced minecraft-classic-protocol library. Done means reaching and documenting an architecture decision for shared versus separate clients, servers, examples, and tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
networking
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.