loftar wrote:shubla wrote:What exactly prevents you from adding these resource files with code in them to the git repository? It would be enough to expose the source code so custom client developers can then modify and copy the code as needed into their clients.
Since the source code is already available in the resources. I don't quite understand what the advantage of maintaining a separate Git tree with their source code would be.
Yes it is technically available from the resources, but to access it I have to see considerable effort:
first I must find out the name of the resource that is responsible for some certain feature in the client, and see it so my client updates the resource
then I must decompile the resource file, now I must attach the resource file to my client code directory and do the possible modifications to it,
now if the resource ever changes in the future, my client will crash with some (possibly obfuscated) error message and I will have to debug for quite some time to find out where the issue is, and then find that resource file again from some folder.. and decompile it.. modify it and publish a new update... tedious.
Now think about this: what if instead of doing all the things above, I could just write "git pull" or something, and get the source code without digging around, decompiling etc. and instantly see if there is some change related to resource source file that my client uses. I want the file visible in my IDE without having to first write my own decompiler for resource files etc. etc.
If I understood correctly, your only motive for the current resource thing is that clients don't need to be explicitly updated
if they have not modified the resource file, and you can keep some of the things "secret", to only appear when the player sees it. Of course after the first player sees them, they are not that secret anymore.
Even if you still don't completely understand what the advantage in having them in some more easily available form is, you should still do something, as it would greatly ease development and maintenance of custom clients.
The preferred way would be of course to have them in the git like all the other files of the client. I'm sure that there is some way where you could still update them via resource files without updating the whole jar-file if you make some small change to them.