-
Notifications
You must be signed in to change notification settings - Fork 0
Client Registration
Client Registration
Butterfly API provides ClientRegistrar for common client-side registration tasks.
Client registration must only be performed on the physical client.
Getting the Client Registrar
From your ModContext:
MOD.client();
This should normally be used from your Fabric client initializer.
public class ExampleModClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
ClientRegistrar client = ExampleMod.MOD.client();
}
}
Calling MOD.client() on a dedicated server will throw an IllegalStateException.
Block Render Layers Cutout MOD.cutout(EXAMPLE_BLOCK);
Multiple blocks can be supplied:
MOD.cutout( EXAMPLE_BLOCK, SECOND_BLOCK, THIRD_BLOCK ); Cutout Mipped MOD.cutoutMipped(EXAMPLE_BLOCK);
In the current 1.21.11 implementation, cutoutMipped(...) uses the same CUTOUT render layer as cutout(...).
Translucent MOD.translucent(EXAMPLE_BLOCK); Entity Renderers MOD.entityRenderer( EXAMPLE_ENTITY, ExampleEntityRenderer::new );
The equivalent ClientRegistrar method is:
MOD.client().entity(...); Block Entity Renderers MOD.blockEntityRenderer( EXAMPLE_BLOCK_ENTITY, ExampleBlockEntityRenderer::new );
The equivalent ClientRegistrar method is:
MOD.client().blockEntity(...); Screens
Register a handled screen with:
MOD.screen( EXAMPLE_SCREEN_HANDLER, ExampleScreen::new ); Model Layers MOD.modelLayer( EXAMPLE_MODEL_LAYER, ExampleModel::getTexturedModelData ); Particle Factories MOD.particleFactory( EXAMPLE_PARTICLE, ExampleParticle.Factory::new ); Related Pages Mod Context Registration