Skip to content

Getting Started with Modular Assemblies

Aristeas edited this page May 22, 2024 · 4 revisions

Disclaimer

Modular Assemblies is entirely focused on providing tools to make multiblock structures. If your mod does not use multiblock structures, this is not the framework for you.
Some familiarity with modscripting is expected to make good use of the framework; check out Digi's excellent guide if you'd like to learn. Using the framework should be easier than making a new modscript outright, but having a good sense of good practices and what's even possible will make things go much smoother for you.

With that out of the way, let's get into:

Using Modular Assemblies

Modular Assemblies uses a definition-based framework system where client mods send a "blueprint" to the framework mod. This is similar to WeaponCore, Orrery Combat Framework, and the like; what's unique about Modular Assemblies is that it expects you to write your own behavior for the assembly. You can read more about definitions here: The Modular Definition


There's two different paths you can take with using Modular Assemblies - through the Client Mod Template or via The Modular API. Each has their own advantages and disadvantages.

Via Client Mod Template

This method is the recommended one. The Client Mod Template creates the DefinitionApi and sends your definitions automatically; however, it cannot be inserted into existing projects. A guide to using the Client Mod Template can be found here: https://github.com/StarCoreSE/Modular-Assemblies/wiki/Client-Mod-Template

Via The Modular API

This method is the least invasive, and only requires instantiating the DefinitionApi. It has the advantage of being easy to drop into existing mods, but you will need to generate and send the definitions yourself. A guide to using the Modular DefinitionApi can be found here: https://github.com/StarCoreSE/Modular-Assemblies/wiki/The-Modular-API