Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lack of documentation #1

Open
AtomicScience opened this issue Aug 12, 2020 · 6 comments
Open

Lack of documentation #1

AtomicScience opened this issue Aug 12, 2020 · 6 comments

Comments

@AtomicScience
Copy link

Hello, @zenith391!

Right now I develop plugins for (real) Minecraft servers, and your project could be a huge source of knowledge about the architecture of server cores and their internals. However, don't take it personally, your code is an unreadable spaghetti mess.

Fixing this should not be very hard, since you've only just started working, but it will make your open-source project much simpler for others to understand and participate in, not mentioning that it will make it much simpler for you in the first place.


If you want to do it, here is a shortlist of what, in my opinion, would be cool to accomplish:

  • Well-organized code, divided into modules with specific tasks
    Proper organization is what your code lacks in the first place. For example, implementing chunk generation in the main launcher (mc.lua) was not a bright idea for sure - and this not the only example! Think of dividing code into 3-4 modules (Noise generator, chunks handlers, etc.) with a single purpose - it will make code easier to maintain and understand

  • Code comments
    The title explains itself - provide comments for "delicate" places, where you use not-so-straightforward hacks or utilize some complex syntax, that can't be understood at the first glance.

  • Documentation
    Documentation should explain your design choices - why have you decided to use bridge software? What concerns have you encountered and how you have dealt with them or plan to deal with?
    Optionally, it would be very cool to explain the basics of the system you are working at - how packets are formed, how a world is loaded, how NBT data is formatted, etc. But if you are too lazy or busy to do it, at least provide links to your information sources - sites, other projects, wikis - just anything that helps you and could help others to understand your project as well

  • Milestones
    If would be nice for everyone visiting your repo to see how much have you done and how much you are planning to do in the future.
    Just collect all that you have done so far, make sure it works relatively stable and call it "Alpha v0.1", for example. And before starting working on v0.2, make a shortlist of features you are aiming to implement and issues to resolve.
    It will not only show everyone what you've implemented and help you structure your work, but also show potential contributors where you'd be glad to use their help

@zenith391
Copy link
Owner

Yea i'll do that in the next few days

@Ocawesome101
Copy link

https://wiki.vg/Server_List might be worth looking at.

@zenith391
Copy link
Owner

zenith391 commented Aug 17, 2020

@Ocawesome101 remember this project is a quick write-up from which 90% of the codebase was made in a few days. So of course it's not yet as beautiful and organized as something like Glowstone or Lantern.

@Ocawesome101
Copy link

Ocawesome101 commented Aug 18, 2020 via email

@prolexgreen
Copy link

How to run this

@Ocawesome101
Copy link

How to run this

Look in the README, at the bottom. There are instructions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants