Building a Better Minecraft Client

I’ve been recently been working with a group of coders on github on a custom C++ minecraft server called MCServer. We’ve gotten pretty far, and we will soon be making a huge leap forward with a rewrite of the AI. However, as I’ve been working on it, I’ve been musing over what it would take to implement a custom minecraft client.

I really want to make it. It would be fully compatible with a vanilla server, and be built in such a way that it could easily be compatible with forge. I’ve already figured out how to handle the rendering of all of the chunks, entities, etc., but one thing I am struggling with right now is finding a list of the packets sent during the login sequence, in the order of which they are sent and received. If anyone knows of an up-to-date list, please let me know

So what would make it better?

  • Faster. More chunks can be rendered at a time, which increases sight distance.
  • Builtin support for high definition resource packs.
  • Better handling of character movement so the player will no longer just look like he has no knees or elbows.
  • Plugin Interface. I know the guys at Mojang are working on theirs, but they’ve been slow in its development.
  • Better rendering of transparent blocks.
  • Better looking water.
  • Builtin support for rendering custom monsters, blocks, particles, GUIs, etc.

That’s just a few of the things that I have planned. If y’all can think of anything else that the minecraft client could improve on, let me know in the comments.