Over the past week and a half I’ve been porting Enjin’s current API over to a public repository and making changes that help to unify the code-base. Initially we had 3 modules that had separate package names (com.enjin.core, com.enjin.common, and com.enjin.rpc), now all three of those packages have been renamed to ‘com.enjin.api’. While this change will break 3rd party plugins utilizing the API I feel that it’s in our best interest to refactor the API now rather than later.

I’ve also been working on making UML diagrams (below) of the Service API. While it doesn’t 100% reflect the current condition of the API, it does contain some changes that we’ll be making such as adding the JsonRpcService class. This will allow us to reduce redundant code as well as introduce new service types should the need arise. The rpc implementation signatures are unchanged and should be fairly simple for developers to convert their projects to.

You can find the source of the API at https://bitbucket.org/enjineer/mp-api! Keep in mind that it is currently a work in progress and will be evolving as we continue to develop the new plugin.