-
Notifications
You must be signed in to change notification settings - Fork 22
Tutorial Creating a Multiblock Structure
This page mainly covers MBD's visual editor. To see how to use CraftTweaker for more detailed control, please see the CT Section (TODO).
All multiblock definitions will be saved in the folder "/config/multiblocked/definition/controller/"
.
Let's demonstrate the visual editor by making an example electrolytic machine that does the electrolysis of Water.
First place down your multiblock's structure, and use the Blueprint right click to select the area of the structure. This will save the structure onto the Blueprint item.
Tip: shift-right click to remove selected area!
Place the Blueprint Table down and insert the Blueprint into the table by simply adding the blueprint to the Blueprint Table's drawer. The Blueprint Table is the core of MBD, you can configure nearly everything about your multiblocks through this multiblock. For how to build it, you can refer via JEI or use Builder to right-click on the controller for automatic building.
- Right-click the controller to open the GUI
Controller Block
- Select
Blueprint
- Select which block you want the controller of the multiblock to be as well as selecting a default face for it, the facing cannot be of the Y-axis (up/down)
- Click the button to open the visual editor
This is where you can set up all the details of your multiblock. From the definition of the controller block, rendering, logic, recipe, and so on.
-
Registry Name
: controller's registry name must be unique, the format is as followsgroup:name
, be sure to set it first each time you create a new multiblock. -
allowRotate
: whether the multiblock's controller is allowed to be rotated, and the relative position of the multiblock would be determined by the controller's front face. If disabled, the controller always facesNORTH
, and there is no orientation restriction for formed checking. -
showInJei
: whether to display this multiblock in JEI. -
isOpaqueCube
: this is an important property, if your model (renderer) is not opaque please do not check it, otherwise it can cause render issues. Check it for better performance (face culling, etc., although not as necessary) when you are sure your model is made of complete full blocks. -
needCatalyst
: Iffalse
, the multiblock is formed automatically. Otherwise, the player would need to provide a catalyst and right-click the controller to trigger the multiblock to be formed. You can set the catalyst by dragging from JEI intoCatalyst
. (Please note that JEI mustn't be in cheat mode) -
consumeCatalyst
: If the catalyst is needed, whether to consume the catalyst (consume one). -
baseRenderer
: renderer for when the multiblock isn't formed. Configure the renderer by clicking theSettings
button (refer to Renderer Page for more details). -
formedRenderer
: renderer for when the multiblock is formed. -
workingRenderer
: renderer for when the multiblock is working.
baseRenderer
is required, the other two fields are optional. The priority of renderers: workingRenderer
> formedRenderer
> baseRenderer
.
You can check the structure formed in (1). Details of the pattern can be set here, such as candidate blocks for each position, whether to use gregtech's slice extension structure, whether to disabled rendering of certain position after the structure is formed, and so on. This setting in (2) is somewhat complex, please refer to Pattern. We don't do too much setup here, we just disable the rendering of the Andesite
Block after the structure is formed. The Settings are as follows:
Don't forget to save pattern after setting. Press Esc to discard the changes and return to the previous page.
S3: recipe map setup
As shown in (1), an empty
RecipeMap
(built-in RecipeMap
) is used by default. Press the button (2) to create a new RecipeMap
. See RecipeMap for more details about RecipeMap
editor. Our setup is as follows:
F: finish
You can view/copy the configuration of the multiblock here. Finally, don't forget to save the controller in (1) and press Esc to discard the changes.
Don't forget to save everything. Now, lets restart the game and see what it goes.