Content Guides
Data Components
Registering Data Components
Data components can be registered using a BalmDataComponentTypeRegistrar.
public class ModDataComponents {
public static Holder<DataComponentType<Unit>> yourDataComponent;
public static void initialize(BalmDataComponentTypeRegistrar dataComponentTypes) {
yourDataComponent = dataComponentTypes.register("your_data_component", Codec.unit(Unit.INSTANCE)).asHolder();
}
}
You can obtain a BalmDataComponentTypeRegistrar through the BalmRegistrars instance passed to your mod initializer, or by registering your mod as a BalmModule.
Using an Initializer
public class YourMod {
public static void initialize(BalmRegistrars registrars) {
registrars.dataComponentTypes(ModDataComponents::initialize);
}
}
Using BalmModule
public class YourMod implements BalmModule {
@Override
public void registerDataComponents(BalmDataComponentTypeRegistrar dataComponentTypes) {
ModDataComponents.initialize(dataComponentTypes);
}
}