Community listing page, reviews may not be monitored by the author.
Just Enough Filtering (JEF)
No reviews yet
JEF is a small client-side add-on for JEI/REI/EMI that adds extra search-bar filtering for item stats.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Runs entirely on the client. Works on vanilla servers.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Just Enough Filtering (JEF)
Ever wanted to find the strongest weapons, tools, and armor in your modpack without reading every tooltip? That's what JEF is for. It adds extra search-bar filtering so you can find items by their actual stats.
JEF adds no GUI. Everything is typed into the search bar you already use. It is client-side only, so servers don't need it.
Supported hosts: JEI, EMI, and REI. JEF hooks whichever one is installed.
What Your Host Mod Already Offers
JEF keeps all native search behavior and only strips its own stat tokens before handing the rest back.
| Prefix | JEI / REI | EMI |
|---|---|---|
@ |
mod name | mod name |
| tooltip text | # ($ on newer JEI) |
$ |
| tags | $ (# on newer JEI) |
# |
% |
creative tab | creative tab |
^ |
color | color |
& |
item id / resource location | item id / resource location |
Also supported: spaces = AND, | = OR, -token = exclude, and quotes for multi-word tokens such as #"attack damage".
What JEF Offers
1) Attribute filtering with !
Filter items by attribute value, whether the attribute is vanilla, Forge, or modded.
!ad>=7- Attack Damage at least 7!as<=2.4- Attack Speed at most 2.4!akb>0- Attack Knockback above 0!dps>=20- computed DPS at least 20 (Attack Damage x Attack Speed)-!ad>=7- exclude items that match
Use a full id (!minecraft:generic.attack_damage>=7) or an alias (see Aliases below).
2) Item stats with !
! isn't limited to attributes. These read the item itself, so they work on items with no attributes at all.
| Filter | Reads |
|---|---|
!durability / !maxdamage |
total durability |
!damage |
current damage on the stack |
!remaining |
durability left |
!maxstack / !stacksize |
max stack size |
!enchantability |
enchantment value |
!repaircost |
accumulated anvil cost |
!nutrition / !food / !hunger |
hunger restored, 0 if inedible |
!saturation |
saturation restored |
!burntime / !fuel |
furnace burn time in ticks |
!enchantments |
enchantment count |
!ench:<id> |
level of one enchantment, 0 if absent |
Examples:
!maxstack=1- items that don't stack!durability>=1500- high-durability gear!nutrition>=6 !saturation>0.8- genuinely good food!burntime>=1600- fuels better than coal!ench:sharpness>=4- Sharpness IV or better!ench:minecraft:mending- anything with Mending-!enchantments>0- exclude everything enchanted
Notes:
- Enchantment ids default to
minecraft, so!ench:lootingand!ench:minecraft:lootingmatch the same thing. Modded ids need the namespace. - A stat name with no comparator means "nonzero", so
!burntimeis every fuel. - These read Minecraft's own data, not tooltip text, so language and tooltip-reformatting mods don't affect them.
3) Comparators
| Comparator | Meaning | Example |
|---|---|---|
>= <= > < |
ordered comparison | !ad>=7 |
= or : |
equal | !maxstack=1 |
!= or <> |
not equal | !maxstack!=64 |
~ |
approximately equal, within 5% or ±0.05 | !as~1.6 |
a..b |
inclusive range | !ad=5..10 |
lo<x<hi |
chained bounds, < exclusive and <= inclusive |
5<!ad<=10 |
Notes:
- Ranges only work with
=/:.!ad>=5..10is rejected rather than half-applied. - Chained bounds put the stat name mid-token, so quote multi-word tooltip labels:
3<#"entity reach"<9. -negates the whole token, so-!ad=5..10excludes items inside the range.
4) Numeric Tooltip Filtering
Don't know an alias and don't want to check the config? Add a comparator and a number to a normal tooltip search and JEF filters on the numbers in the tooltip line itself.
- JEI / REI:
#"entity reach">=3 - EMI:
$"entity reach">=3 #"armor negation">=30- tooltips containing "armor negation" and a number at least 30-#"crit chance">=15- exclude matching items
Notes:
- Text matching is case insensitive.
- A numeric comparison needs a number. An incomplete one like
#"attack damage">falls back to a plain text search. - On JEI, a numeric comparison works behind either prefix, so
#"attack damage">=7works on every JEI build regardless of which prefix that build uses for tooltips.
This is mod-agnostic: if a mod prints a stat as tooltip text, JEF can usually filter it with no dedicated compat.
Tooltip vs attribute: !ad / !as / !dps read item attributes, so your tooltip may show higher numbers under Strength or similar effects. To filter the displayed number instead, use #"attack damage">=20.
Aliases
JEF builds an alias index at runtime from the attribute registry. It always includes the full attribute id, plus aliases generated from ids, translated names, and a few short conveniences like ad and as.
| File | Purpose |
|---|---|
config/jef-aliases.generated.properties |
full alias map, overwritten at runtime, don't edit |
config/jef-aliases.properties |
your overrides, created once if missing, authoritative when present |
Single overrides can also go in config/jef.json under manualAliases:
{ "manualAliases": ["entityreach=attributeslib:entity_reach"] }
Config
| Option | Default | Effect |
|---|---|---|
autoAliasesEnabled |
true | auto-discover attributes and generate aliases |
autoFromIds |
true | generate aliases from registry ids |
autoFromTranslations |
true | generate aliases from translated names in the client language |
enableShortAliases |
true | generate short aliases like ad, as, kbres |
enableAbbreviationAliases |
false | generate abbreviations from words; off because it causes collisions |
aliasFileEnabled |
true | read and write the alias properties files |
logAliases |
false | log the resolved alias map at startup |
showDpsTooltip |
false | add a DPS: <value> line to item tooltips |
usePlayerContextCombat |
false | include your current buffs in !ad / !as / !akb / !dps so filtering matches tooltips that already do |
Just Enough Filtering (JEF)
Have you ever wanted to find out what the strongest weapons, tools, and armor were in your modpack, but didn't want to painstakingly read through all the tooltips? Then this is the mod for you! JEF offers additional search-bar filtering options within JEI to easily find the items with your desired attributes.
What JEI Already Offers
JEI already has several built-in "prefix" searches. The most important ones are:
@modname— filter by mod#text— search tooltip text$tag— search tags%tab— search a specific creative tab^color— search by color&namespace:path— search by item id or resource location
JEI also supports the following:
- Spaces = AND
|= OR-token= exclude token- Quotes for multi-word tokens, e.g. `#"attack damage"
What JEF Offers
JEF adds the additional attribute filtering prefix, "!", allowing you to filter items by their attribute values.
Examples:
!ad>7— filters by items with an Attack Damage of at least 7!as<=2.4— filters by items with an Attack Speed of at most 2.4!akb>0— filters by items with Attack Knockback greater than 0!dps>=20— filters by items with a computed DPS of at least 20-!ad>7— excludes items that match the attribute expression (items with an Attack Damage of at least 7)
To filter by a specific item attribute, you can use full attribute ids: !minecraft:generic.attack_damage>=7, or you can use aliases (see "Aliases below). Supported comparators include the following: >=, <=, >, <, =.
Aliases
JEF automatically builds an alias index at runtime from the attribute registry, creating an editable config list of full atribute ids (e.g. minecraft:generic.attack_damge) and their auto-generated aliases from ids and translated names.
On the client, JEF writes these files:
config/jef.aliases.generated.properties— this is the full alias map, and is automatically overwritten at runtime, and should not be touched.config/jef-aliases.properties— this is the authoritative list of aliases that you can edit to change what attributes map to what aliases.
Both files use the format: namespace:path=alias1,alias2,alias3
I.E.: attribute id = comma-separated list of aliases
You can also add overrides in the Forge client config aliases.manual by putting entries such as: entityreach=attributeslib:entity_reach
Tooltip Filtering
What do you do if you don't know the alias for something and don't want to check the config? That's what plaintext tooltip filtering is for. You can use the # tooltip search operator to search for a token within a tooltip, followed by a comparator and value to filter directly from the numbers within tooltips.
Examples:
#"entity reach">=3— filters for items with tooltips that contain the text, "entity reach" (case insensitive) and a number greater than or equal to 3.#"armor negation">=30— filters for items with tooltips that contain the text, "armor negation" and a number greater than or equal to 30-#"crit chance">=15— excludes items with a tooltip that match the attribute expression.
Configs
config/jef-client.toml offers some useful options for configuring the mod:
- autoEnabled — true by default, allows the mod to auto-discover attributes and generate aliases from ids and translations
- autoFromIds — true by default, allows the mod to generate aliases from attribute registry ids (namespace:path)
- autoFromTranslations — true by default, allows the mod to generate aliases from translated attribute names (client language)
- enableShortAliases — true by default, allows the mod to generate convenient, short aliases like ad/as/kbres
- enableAbbreviations — false by default as it can cause collisions, allows the mod to generate abbreviation aliases from words
- debugLog — false by default, allows the mod to log the resolved alias map to the console at startup
- showDps — false by default, allows the mod to add a computed DPS tooltip to items
- usePlayerContextCombat — false by default, allows the mod to take player buffs into account rather than just using base item attribute values. In certain modded environments, tooltips will take these buffs into account (Attack Strength tooltip displays a higher number when the player has strength). This option makes it so that filtering and tooltips won't display discrepancies in those environments.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources