I have been messing with the client again and looking at certain functionality of clients across different clients. Namely clients like former Amber, Ender, Purus, and Ardennes. A lot of clients change aspects such as tool tips, information related to UI, settings such as lighting and ect which can be found across all the clients. Very few of the changes in most clients is truly mechanical changes. Steps in the vanilla client has really come a long way considering what was given in previous Haven and Hearth clients back in Legacy. One of the biggest issues I and many other developers experience with the client is maintenance. Adding the features is pretty straight forward once you figure out how it works but maintaining it often just leads to death of clients or developers just getting burnt out from so many code merges.
I am not sure if this subject was brought up before but I was wondering if there could be effort put towards making certain aspects in the client moddable so we can support plug and play changes which can suit every ones needs and provide a solid stable SDK to integrate into the client for modders. Good starting points I would consider is tool tip rendering and UI rendering in allowing us to add our own custom widgets or modify existing tooltips through a moddable SDK without directly adding it into the same source as the client in order to adjust or display information differently from what the client already gives us. (Majority of client changes are focused around here and graphic changes when looking at it from a code level perspective.) I know from actually looking at this code that is not as simple in practice but again wondering if there is any aim or ability to go down this direction because I think this would really help with maintaining custom clients and open new avenues for people to easily maintain and modify a client.
I often think one of the best clients wouldn't really be a modified client at all but a modding SDK like Minecraft Forge with extends and maintains compatibility among different mods and allows a community to maintain features rather than an entire client. More is done with a community backing it than a single developer spending hundreds of hours trying to add in some features with maintenance and not having the client break on them.