Rewrite significant portions of the backend #52
Labels
area: all
documentation
Improvements or additions to documentation
enhancement
New feature or request
priority: high
Milestone
Description
At the current stage in this project, Krypton is huge. It's not really huge, but it's a very large code base, or, well, I believe it is. In the around 6 months I have worked on this project, there has been a lot of messy code and hackery, things implemented without much knowledge of how they work, little consistency, and a fairly significant portion of the code base is taken from either vanilla Minecraft, Sponge, Velocity, or Bukkit.
To get to the point of this though, I am not pleased with the amount of code in this project that is not original, and while I do understand that not all code bases have to be fully original (and I'd say around 80-90% of them aren't, at least), I would at least like most of this code to be original. In addition, the originality of the code base will help with maintaining consistency across the project, which is something I also feel this project lacks.
So, without further or do, the following is a list of all of the issues I have and possible changes that I would like to make:
Split the authentication mechanism in to a separate projectDetermined to be unnecessary.Redesign entity creation and loading, trying to make entity classes immutableLimits reusability and makes having default values impossible.RegistryHolder
loading system that came with the data pack updatePossibly split the networkingNo longer within the scope of this issue, see Add a packet API #53Remove everything that was copied from vanilla and could be considered redistribution of proprietary licensed codeCovered by Replace all occurrences of proprietary derived code #41Some of you may be wondering why I am choosing to do this, and especially on this large of a scale. Well, the truth is, this project takes up all of my time and effort, and has for a while, and I have noticed that I am getting much more lazy and not even bothering anymore to really try and think up something original, so I have mostly created this to try and force myself to make this project as good as I want it to be.
In addition, when this project is finally declared "stable", meaning it reaches release 1.0, I would like to be releasing something that I am actually proud of, and think is worthy of actually releasing. I have put just about everything I have in to this project, and I really want it to turn out the best I can possibly make it for everyone that has shown their love and support to it over all of the time I have worked on it.
If you'd rather not read that paragraph, the tl;dr is that I think the project is a sloppy mess and want to fix it up.
The text was updated successfully, but these errors were encountered: