HypariaMC / EssentialsX

EssentialsX - A maintained fork of Essentials 2.x.
GNU General Public License v3.0
0 stars 0 forks source link

HLang integration #5

Open ghost opened 5 years ago

ghost commented 5 years ago

I think that the way you made the fork of EssentialsX is not working, as HLang shouldn't have dependencies as EssentialsX have. HLang is at the core of everything. Moreover, we all have troubles to build EssentialsX since we don't understand fully what you did. I'd like to suggest you an other manner who would allow us to be more effective. It would be great if EssentialsX depends on HLang, and not the contrary. The best solution would be to suggest to the EssentialsX's team a pull request which add a command allowing the player to change his language. It is a feature which would be interesting for their plugin and that they can't refuse. On our side, we would only have to query EssentialsX through its API with HLang to change the player's language. This way, we will no longer need to run under a fork that is really problematic.

We are really blocked by this problem. @mrsglo and @ClementGF can't compile HLang and this slows down the next server.

Thank you for your help and investment in this project.

Phoenix616 commented 5 years ago

See my comment here on how to build it, (but use the new 2.x-updstream-hyparia branch instead) you just need the custom EssentialsX installed in the repo where you want to build HLang.

If you don't want the adaptor for Essentials directly inside HLang I could make that a separate plugin which would forward the language changes from HLang to any plugin that doesn't directly depend on HLang. However I don't think there is any benefit in completely moving the selection logic to EssentialsX as that wouldn't change anything with the project build setup, HLang would then definitely need to depend on EssentialsX in order to react on the locale change (e.g. to make it available on Bungee), also any selection menu would still need to be in HLang or in a separate plugin supporting that setting in EssentialsX.

ghost commented 5 years ago

The only viable solution is to have EssentialsX manage one language system per player itself. Thus, a player would be able to choose his language, just as ASkyBlock allows. In addition, through an API, it would be possible to modify a player's EssentialsX language according to their HLang choice.

This would be a great addition to EssentialsX and would make our lives much easier. This would be a win-win situation for everyone.