Maintenance of the SpongePowered Mixin documentation

Good evening fellow Sponge community,

In order to get/use some of my Forge blocks & items directly from a plugin (using SpongeForge), I’ve had a sudden interest in using Mixin to achieve this.

Yet, it seems that the wiki page is not longer maintained (or at least it’s been a while) ! Especially the advanced series. :confused:

I am aware that some of the missing documentations are still available through raw JavaDocs, but it would be easier for us to better understand through a formatted & readable wiki page. :blush:

Is the wiki page still up-to-date regarding the current development ? And most of all, will the maintenance be continued in the future ?

Thank you for your time and your work !

The Mixin Wiki is largely the responsibility of @mumfrey who is still actively working on them. However, actual development (of Mixins and of Sponge) often takes priority over documentation. I expect he’ll catch up sometime, unless you want to offer to help write some. I’ll let him add his $0.02 here.

SpongeDocs also has an issue relating to mod compatibility, but it has not had any progress. So we’re still hoping someone well versed in Forge and SpongeAPI can attack it sometime in the future. Sorry I can’t be more help.

I don’t know why you’ll need mixins to access your custom added blocks, since they’re all available through native and Sponge’s API. In regards to the documentation, it takes a fair amount of time to make the docs for the very advanced topics. On top of how advanced they are, the diagrams are very complicated to properly convey the ideas, the overall priority of the documentation is substantially lower than the remainder of the projects he maintains amongst real life.

That being said, if you were to ask your question, those that do know a fair amount about mixins may be able to answer that question (seeing as quite a few of us have worked with writing mixins for the last year and a half).

1 Like

I think this is an X/Y problem.

All you need to do to go from a Minecraft Block to a Sponge BlockType is casting. Sponge modifies the Block class at runtime (via a mixin) to implement BlockType. Same with Item and ItemType. And if you need to do entities, you can also cast between Minecraft’s Entity class and Sponge’s Entity interface.