Filters API
  • Home
  • Tips
  • Using Filters API
    • Setting up
    • Registering filters
    • Adding items
  • Advanced
    • Registering uncategorized filter
    • Configuring reserved button
    • Disabling filters
  • Unsupported
    • Introduction
    • Sorting filters
    • Removing filters
Powered by GitBook
On this page
  • Fabric
  • Forge
  • See also

Was this helpful?

  1. Using Filters API

Adding items

Filters API is an easy-to-use library.

PreviousRegistering filtersNextRegistering uncategorized filter

Last updated 8 months ago

Was this helpful?

The following codes are just examples. They will throw exceptions on the server. You should ensure that Filters API codes are executed only on the client.

The tab that has filters will display categorized items only, except that you have registered .

Call Filter.addItems(Item...) after registering items to add them to the filter.

Fabric

public static void registerItem(String path, Item item, Filter filter) {
    [...]
    filter.addItems(item);
}

Forge

You should add items to filters after ITEMS.register() is called.

public static final DeferredRegisterHolder<Item> ITEMS = new DeferredRegisterHolder<>(MOD_ID, Registry.ITEM_REGISTRY);
public static final ArrayList<Tuple<Filter, Item>> FILTER_ITEMS = new ArrayList<>();

public MainForge() {
    [...]
    ITEMS.register();
}

public static void registerItem(String path, Item item, Filter filter) {
    [...]
    FILTER_ITEMS.add(new Tuple<>(filter, item));
}

@SubscribeEvent
public static void onClientSetupEvent(FMLClientSetupEvent event) {
    [...]
    // initialize filters
    FILTER_ITEMS.forEach(tuple -> tuple.getA().addItems(tuple.getB()));
}

Congratulations! Now you can find filters when opening the creative mode tab.

See also

uncategorized filter
Filter
The javadoc (1.16~1.19.4)