Custom Gui Handlers

These can only be done on the client, make sure this is only done on the client.

ConfigGuiRegistry registry = AutoConfig.getGuiRegistry(CONFIG_NAME);

GuiProvider

A GuiProvider is a handler that maps fields to gui entries.

registry.registerAnnotationProvider(...); // apply based on the presence of an annotation
registry.registerPredicateProvider(...); // apply based on a certain Predicate<Field>
registry.registerTypeProvider(...); // apply to a certain type

If multiple registered providers apply to the same field, the priority is as follows: Annotation, then Predicate, then Type. If multiple providers of a single category apply, the first one that was registered will be used. Custom registered providers always take priority over the built-in providers.

GuiTransformer

A GuiTransformer is a handler that maps a generated gui entry to a new gui entry. It can also apply some modifications to the passed entry and return the same reference.

registry.registerAnnotationTransformer(...); // apply based on the presence of an annotation
registry.registerPredicateTransformer(...); // apply based on a certain Predicate<Field>

All matching transformers are applied in order of registration. Custom registered transformers always apply before built-in ones.

Last updated