Search and Info Pages [Minecraft 1.21.11 to 26.2] - mezz/JustEnoughItems GitHub Wiki

[!NOTE] Version note: This page covers Minecraft 1.21.11, 26.1.2, and 26.2.

Related pages for other README-supported versions:

Search And Info Pages

JEI can help players find your ingredients even when your in-game names are technical or when players know older names, abbreviations, or real-world terms.

Use:

  • registerIngredientAliases for alternate search words.
  • registerModInfo for alternate mod names.
  • registerRecipes and addIngredientInfo for JEI information pages.

Ingredient Search Aliases

Search aliases are optional search terms. JEI skips this registration when the player disables search aliases in JEI's config.

@Override
public void registerIngredientAliases(IIngredientAliasRegistration registration) {
  registration.addAlias(ModItems.CINNABAR_DUST.asItem().getDefaultInstance(), "mercury");

  registration.addAliases(
    VanillaTypes.ITEM_STACK,
    List.of(
      ModItems.CHARGED_CRYSTAL.asItem().getDefaultInstance(),
      ModItems.DAMAGED_CHARGED_CRYSTAL.asItem().getDefaultInstance()
    ),
    List.of("charged", "battery")
  );
}

Use literal aliases for stable common terms. Use translation keys when the alias should be localized.

For custom ingredient types, pass your IIngredientType and the ingredient instance or list:

registration.addAlias(MyIngredientTypes.SPELL, ModSpells.FROST, "ice");

Mod Search Aliases

Use registerModInfo when players search by an acronym, former mod name, or common shortened name.

@Override
public void registerModInfo(IModInfoRegistration registration) {
  registration.addModAliases("examplemod", "exm", "Example Machines");
}

This affects mod-name searches, not ingredient display names.

Info Pages

Use info pages for concise, useful explanations that belong in JEI. They appear in the recipe/info view for the ingredient.

@Override
public void registerRecipes(IRecipeRegistration registration) {
  registration.addIngredientInfo(
    ModBlocks.CRUSHER,
    Component.translatable("jei.examplemod.info.crusher")
  );

  registration.addItemStackInfo(
    new ItemStack(ModItems.CHARGED_CRYSTAL),
    Component.translatable("jei.examplemod.info.charged_crystal")
  );
}

Use translation keys for text. JEI wraps long lines and can split very long descriptions across pages.

What Belongs In JEI Search

Good aliases:

  • Abbreviations players actually type.
  • Former item names after a rename.
  • Common synonyms like "wrench" and "spanner".
  • Material names that are not visible in the item name.

Avoid:

  • Dumping every tooltip word into aliases.
  • Adding aliases for hidden progression spoilers.
  • Repeating the exact display name.
  • Adding aliases that only make sense in one language as hard-coded text when you can use translation keys.