Use ElementsInitializer

The MModding Library provide the ElementsInitializer interface. This interface is used to initialize mod elements, and register them.

Create an Element Initializer

MModdingModBlocks.java
public class MModdingModBlocks implements ElementsInitializer {
    
    // Init a block
    public static final CustomBlock MMODDING_BLOCK = new CustomBlock(
        QuiltBlockSettings.of(Material.METAL)
    )
    
    @Override
    public void register() {
        // And register it
        MMODDING_BLOCK.register(
            new Identifier("mmodding_exemple_mod", "mmodding_block")
        );
    }
}

For more information about the CustomBlock, go to the CustomBlock Page

Register an Elements Initializer

public class MModdingExempleMod implements MModdingModInitializer {

    // ...

    @Override
    public List<ElementsInitializer> getElementsInitializers() {
        List<ElementsInitializer> elementsInitializers = new ArrayList<>();
        // Add the Element Initializer in the List
        elementsInitializers.add(new MModdingModBlocks());
        return elementsInitializers;
    }
    
    // ...
}

By doing this, you won't need to call MModdingExempleMod#register.

Last updated