All Mods Resource Packs Data Packs Shaders Modpacks Plugins
RarityCore

RarityCore

by Yanbwe • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Introduction

The Rarity Core is an all-encompassing rarity enhancement mod that establishes a new rarity system, aiming to make rarity no longer a privilege for certain items and to enhance the presence of rarity in all aspects.

Imagine when you open your inventory. Each item comes with a unique color background, with gray for ordinary items, purple for epic gear, and gold for rare treasures - you can instantly distinguish what's valuable!

Feature

This is what 'rarity' truly means

Instead of the boring three-tier system with changing names, the mod presets seven levels of rarity, which will render a unique colored background behind the item and add a prompt in the notification box, making each item of different rarity look distinct.

background
tips

True - Out-of-the-Box, Rarity is No Longer a Privilege

This mod not only presets rarity information for over 70 mods, but also features an "automatic rarity calculation" function that evaluates the rarity of items based on their crafting recipes.

With a set of combined techniques, without additional configuration, the rarity information can cover over 70% of items in most scenarios!

As a player, you can enjoy the rarity system once the mod is installed! As a creator, you can save a lot of time spent on basic tasks!

Automatic calculation function

High Visual Customization

Don't like the name color changing? You can turn it off!

Want to modify the tooltips for a specific level? Feel free to do so!

Don't want a monotonous gradient background? Prefer to use a background you've drawn yourself? Of course!

Baby-Level Configuration Process

With just a few clicks of the mouse, you can adjust the rarity level. It couldn't be simpler!

Visual editing in the creative inventory

Meeting Advanced Requirements

If you want to configure rarity for items like TacZ firearms that rely on Tag differentiation, you can use this mod's NBT tag matching system (upgraded to item data component matching system after version 1.21.1), which allows for more complex rarity configuration by matching NBT tags or data components, enabling differentiation between items with the same ID but different NBT tags.

Set rarity through the NBT matching system

Technical Advantages

The quadruple configuration methods of data packets, commands, configuration files, and code registration cater to the configuration needs of different groups.

Modern caching and network synchronization ensure a smooth gaming experience.

Mod Interaction and Compatibility

SearchCarefully

SearchCarefully provides a looting system similar to that in Escape from Tarkov. It assigns looting time to items based on the rarity values from the Rarity Core.

SearchCareFully

ColorTooltips

ColorTooltips offers vibrant and smooth tooltip displays, deeply customized for the Rarity Core. It is highly recommended to install alongside the Rarity Core.

ColorTooltips

Apotheosis and its dependencies

This mod treats the six rarity levels of Mythical as its own rarity levels, overriding all other rarity configurations, including but not limited to weapon quality and gem quality. This feature can be toggled on or off in the configuration file.

The mod also interacts with the Apotheotic Additions mod, and the three additional rarities will also be considered as part of this mod's rarity system.

Rendering Compatibility

This mod actively integrates with the Refined Storage and Elegant Core mods, enabling items within the Refined Storage terminal interface and the interfaces of affiliated mods such as Elegant Backpack to be rendered with rarity backgrounds.

Known Compatibility Issues

ImmediatelyFast

When this mod is installed alongside ImmediatelyFast, it can cause the high-transparency parts of the item background textures rendered in the hotbar to disappear. This results in the game appearing as if the item background textures on the hotbar are only 3/4 of their original size when using default textures. It's as if they've been nibbled on. However, the rendering of item backgrounds within the GUI remains unaffected.

Disabling the ImmediatelyFast HUD batching feature will restore normal functionality.

EMI

When this mod is installed alongside EMI, the "Batch Processing" feature of EMI will cause a large number of items in the EMI tab to not render their item backgrounds.

Disabling the "batch processing" feature of EMI will restore normal functionality.

Other Issues

For other resolved compatibility issues, please refer to the Rarity Core Wiki.

😋Getting Started

Want to modify the rarity of items in various convenient ways?
Want to customize the behavior and visuals of rarity cores?
Want to use the API of the Rarity Core?
Want to see which mods are linked with the rarity core?
Please refer to this page -> Rarity Core Wiki.

Future Plans

Support for more Minecraft versions;

Interacts with other mods.

Frequently Asked Questions

Q1: Will it support Fabric?

A1: I have done this before, but I gave up and won't try it again in the future.

Q2: When installed alongside the xxx mod, the rarity background is incorrectly rendered over the item texture.

A2: This is usually caused by the mod using the same method as the rarity core to render elements on items. I am currently looking for a solution.

Q3: Why is the durability bar sometimes partially obscured by the rarity background?

A3: I am currently seeking a solution.

Q4: Will it support the latest Minecraft version?

A4: At least for now, I intend to support the Rarity Core and related sub-modules from version 1.20.1 to the latest version of Minecraft (only mainstream versions, such as 1.21.1, 1.21.11, 26.x, excluding 1.20.6)

Q5: Why do you not plan to support 1.20.6?

A5: Everyone has their own troubles.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.1
Neoforge
22d ago 1
26.2
Neoforge
29d ago 1
26.1.x
Neoforge
29d ago 1
1.21.1
Neoforge
29d ago 1
1.20.1
Forge
29d ago 1
1.20.1
Forge
1mo ago 1
26.2
Neoforge
1mo ago 1
26.1.x
Neoforge
1mo ago 1
1.21.1
Neoforge
1mo ago 1
1.20.1
Forge
1mo ago 1
1.21.1
Neoforge
2mo ago 1
26.2
Neoforge
2mo ago 1
26.1.x
Neoforge
2mo ago 1
1.21.1
Neoforge
2mo ago 1
1.20.1
Forge
2mo ago 1
1.21.1
Neoforge
2mo ago 1
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.20.1
Forge
3mo ago 1
1.21.1
Neoforge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
1.20.1
Forge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
26.1.x
Neoforge
4mo ago 1
26.1.x
Neoforge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
1.20.1
Forge
4mo ago 1
26.1.x
Neoforge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
1.20.1
Forge
4mo ago 1
26.1.x
Neoforge
4mo ago 1
1.21.1
Neoforge
4mo ago 1
1.20.1
Forge
4mo ago 1
1.21.1
Neoforge
5mo ago 1
26.1.x
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.20.1
Forge
5mo ago 1
26.1.x
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
26.1.x
Neoforge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.20.1
Forge
5mo ago 1
1.20.1
Forge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.20.1
Forge
6mo ago 1
1.20.1
Forge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.20.1
Forge
6mo ago 1
1.20.1
Forge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.21.1
Neoforge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.21.1
Neoforge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.21.1
Neoforge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.21.1
Neoforge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
26.1.x
Neoforge
7mo ago 1
1.21.11
Neoforge
7mo ago 1
1.21.1
Neoforge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
  • Fixed stacks carrying enchantments and similar components never matching item_data_matches rules (issue #24)
  • Symptom: matching rules were skipped entirely for these stacks — even a condition as basic as "id exists" never fired — and every tooltip render logged one ERROR plus one WARN
  • Item data is now read through a registry that is available for the current side, falling back step by step when none is, so the rules work again; edit mode's FullMatch config generation and the public API matching entry point are fixed as well
  • Item data serializes identically on the client and the server, so no rarity divergence between the two sides is introduced
  • Fixed item names losing their own formatting codes and custom colors to the rarity name color when ColorTooltips is installed (issue #25)
  • Cause: the 1.21.1 compatibility only handed over the rarity tooltip line, not the item name coloring, so two color pipelines styled the same tooltip; and because name coloring never consulted ColorTooltips at all, the problem reproduced whether or not it was installed
  • RarityCore no longer recolors the item name by rarity while ColorTooltips is installed, so the name keeps its own formatting and colors; behavior without ColorTooltips is unchanged and now matches 1.20.1

### Fixed
  • Fixed NBT matching rules going inactive after restarting the client or re-entering a world. The rule sync packet stringified numeric and boolean equals values, so 1 or true could no longer match vanilla ByteTag flags (1b/0b) on the client. The packet now preserves the original value types, and old stringified packets still match, so no reconnect is needed
  • Equality comparison is now type-aware: numeric conditions only compare against numeric tags (a numeric value can no longer match the text of a string tag), and boolean conditions accept both 1b/0b and 1/0

### Diagnostics
  • EqualsCondition now logs each comparison in debug mode (path, actual tag type and content, expected type and value, result), making "why is my rule not applying" diagnosable

### Network
  • Protocol version raised to 1.2.0. **Multiplayer requires both server and client on 1201.14.2 or later**; mismatched versions are rejected
### Fixed
  • Fixed NBT matching rules going inactive after restarting the client or re-entering a world. The rule sync packet stringified numeric and boolean equals values, so 1 or true could no longer match vanilla ByteTag flags (1b/0b) on the client. The packet now preserves the original value types, and old stringified packets still match, so no reconnect is needed
  • Equality comparison is now type-aware: numeric conditions only compare against numeric tags (a numeric value can no longer match the text of a string tag), and boolean conditions accept both 1b/0b and 1/0

### Diagnostics
  • EqualsCondition now logs each comparison in debug mode (path, actual tag type and content, expected type and value, result), making "why is my rule not applying" diagnosable

### Network
  • Protocol version raised to 1.2.0. **Multiplayer requires both server and client on 1201.14.2 or later**; mismatched versions are rejected
### Fixed
  • Fixed NBT matching rules going inactive after restarting the client or re-entering a world. The rule sync packet stringified numeric and boolean equals values, so 1 or true could no longer match vanilla ByteTag flags (1b/0b) on the client. The packet now preserves the original value types, and old stringified packets still match, so no reconnect is needed
  • Equality comparison is now type-aware: numeric conditions only compare against numeric tags (a numeric value can no longer match the text of a string tag), and boolean conditions accept both 1b/0b and 1/0

### Diagnostics
  • EqualsCondition now logs each comparison in debug mode (path, actual tag type and content, expected type and value, result), making "why is my rule not applying" diagnosable

### Network
  • Protocol version raised to 1.2.0. **Multiplayer requires both server and client on 1201.14.2 or later**; mismatched versions are rejected
### Fixed
  • Fixed NBT matching rules going inactive after restarting the client or re-entering a world. The rule sync packet stringified numeric and boolean equals values, so 1 or true could no longer match vanilla ByteTag flags (1b/0b) on the client. The packet now preserves the original value types, and old stringified packets still match, so no reconnect is needed
  • Equality comparison is now type-aware: numeric conditions only compare against numeric tags (a numeric value can no longer match the text of a string tag), and boolean conditions accept both 1b/0b and 1/0

### Diagnostics
  • EqualsCondition now logs each comparison in debug mode (path, actual tag type and content, expected type and value, result), making "why is my rule not applying" diagnosable

### Network
  • Protocol version raised to 1.2.0. **Multiplayer requires both server and client on 1201.14.2 or later**; mismatched versions are rejected
### Added
  • FTB Library compatibility (issue #22): task icons, reward icons, and reward table icons inside the FTB Quests quest screen now render rarity borders

### Config
  • Added enableFtbLibraryAdapter to client.json (enabled by default) to disable the FTB Library rarity border integration
rarity corev14
raritycore v14
### Fixed
  • Fixed cache component-awareness: stacks with component rarity control (raritycore.Level) are now cached per-stack via NBT hash, no longer polluted by the shared ID cache (fixes the "all guns change together" root cause)

### Adjusted
  • Component rarity control is now "half-enabled": when ModularRarity is detected, component rarity is only read for ModularShoot's gun (modularshoot:gun) and plugin (modularshoot:plugin) items; all other items short-circuit in O(1), removing the hot-path cost of a full copyTag NBT copy (bound items keep working via registerRarity)

### Added
  • Edit-mode panel can now be dragged with the mouse (position is not persisted; resets on restart)
  • Added FTB Library item border rendering compatibility (Mixin + compatibility manager registration)
  • Added enableIronSpellsAdapter config option to disable Iron Spells rarity integration (issue #14)

### Fixed
  • Fixed broken rendering integration with Refined Storage
  • Fixed collapsible panel click accidentally triggering mode switch; restored right-click editing of item slots
  • Fixed dragging outside the panel causing unintended panel movement (added press-guard inside the panel)
  • Panel position is now clamped during rendering to keep it within the screen bounds

### Build & Other
  • Updated build and release workflow with version parsing and publishing support
  • Updated .gitignore to exclude new build files

## [1211.14.4] - 2026-08-10

### Added
  • Edit mode support for TacZ items, with auto-generated sub-item matching configuration
  • Edit-mode panel can now be dragged with the mouse (position is not persisted; resets on restart)
  • Added enableIronSpellsAdapter config option to disable Iron Spells rarity integration (issue #14)

### Fixed
  • Fixed dragging outside the panel causing unintended panel movement (added press-guard inside the panel)
  • Panel position is now clamped during rendering; drag state resets when pressing outside the panel

### Build & Other
  • Bumped mod version to 1211.14.4 and fixed related configuration
  • Updated release workflow to support version tag pushes
KubeJS plugin fix
API fully aligned with version for 1.20.1.
# RarityCore V14 Update

## **Configuration Consolidation**
All configuration related to rarity visuals is now consolidated into a single file, RarityStyle.json. Settings previously scattered across client.json and RarityClientConfig.json have been merged into it. More importantly, we've added even more granular configuration options!

The most notable change is the update to tooltips: rarity tier numbers, stars, and similar elements are now packed as placeholders, and all string content supports language keys. You have full freedom to rearrange their order and modify the content easily. For example, you can now swap the positions of stars and the rarity name! Or add some emoji decorations to tooltips based on the tier? Go wild!

## **Unlimited, Minimal Definition**
The upper limit on rarity tiers has been completely removed. You can now configure styles for any tier equally, and we no longer define fixed names for tiers 1–7.

Think of it this way: RarityCore v14 has shifted
from *"I built a rarity system with 7 tiers, and rarities inside and outside this range need different handling and configuration"*
to *"I preset 7 rarities for the system, but all tiers are handled and configured the same way — change them however you like."*

## **API Upgrades**
This version includes a lot of developer-facing updates, offering a more advanced API, but migration is usually not required.

  • Translation key changes**: Rarity translation keys in language files have been changed from names like rarity.core.common to numeric keys rarity.core.1 through rarity.core.7. If you use a custom resource pack, please update accordingly.
  • Named constants removed**: RARITY_COMMON through RARITY_UNIQUE have been removed in favor of numeric tiers; MIN_RARITY and MAX_RARITY are retained.
  • Query enhancements**: Support for retrieving tooltip content, translation keys, star configurations, border styles, etc., on a per‑tier basis.
  • Event system**: Three types of events — config reload, style change, and registry change.
  • Query items by rarity**: Support for scanning registries by tier to get a list of items.
  • Rarity style modification**: Now supports easier ways to modify and lock rarity styles.
Fixed a config loading bug.
# RarityCore V14 Update

## **Configuration Consolidation**
All configuration related to rarity visuals is now consolidated into a single file, RarityStyle.json. Settings previously scattered across client.json and RarityClientConfig.json have been merged into it. More importantly, we've added even more granular configuration options!

The most notable change is the update to tooltips: rarity tier numbers, stars, and similar elements are now packed as placeholders, and all string content supports language keys. You have full freedom to rearrange their order and modify the content easily. For example, you can now swap the positions of stars and the rarity name! Or add some emoji decorations to tooltips based on the tier? Go wild!

## **Unlimited, Minimal Definition**
The upper limit on rarity tiers has been completely removed. You can now configure styles for any tier equally, and we no longer define fixed names for tiers 1–7.

Think of it this way: RarityCore v14 has shifted
from *"I built a rarity system with 7 tiers, and rarities inside and outside this range need different handling and configuration"*
to *"I preset 7 rarities for the system, but all tiers are handled and configured the same way — change them however you like."*

## **API Upgrades**
This version includes a lot of developer-facing updates, offering a more advanced API, but migration is usually not required.

  • Translation key changes**: Rarity translation keys in language files have been changed from names like rarity.core.common to numeric keys rarity.core.1 through rarity.core.7. If you use a custom resource pack, please update accordingly.
  • Named constants removed**: RARITY_COMMON through RARITY_UNIQUE have been removed in favor of numeric tiers; MIN_RARITY and MAX_RARITY are retained.
  • Query enhancements**: Support for retrieving tooltip content, translation keys, star configurations, border styles, etc., on a per‑tier basis.
  • Event system**: Three types of events — config reload, style change, and registry change.
  • Query items by rarity**: Support for scanning registries by tier to get a list of items.
  • Rarity style modification**: Now supports easier ways to modify and lock rarity styles.
getLocalizedTooltip() now accepts both ItemStack and Item.
Fixed incomplete API issues; the API is now fully aligned with the documentation.

Fixed compatibility with ColorTooltips.
Added translation key support for custom tier display names.
Added translation key support for custom tier display names.
Added translation key support for custom tier display names.
Fixed a crash issue that occurred on dedicated servers.
Fixed a crash issue that occurred on dedicated servers.
Fixed a crash issue that occurred on dedicated servers.
Full support for rarity tiers above level 7

Configuring rarities above level 7 is now fully functional:

Client-side styling: Unconfigured higher tiers automatically inherit the style from the nearest lower tier, and no longer display incorrect textures.

Persistence: Configurations for tiers above 7 are no longer lost after logging out and re‑entering the world.

Hot reload: /raritycore-client reload now properly refreshes all related systems.
Full support for rarity tiers above level 7

Configuring rarities above level 7 is now fully functional:

Client-side styling: Unconfigured higher tiers automatically inherit the style from the nearest lower tier, and no longer display incorrect textures.

Persistence: Configurations for tiers above 7 are no longer lost after logging out and re‑entering the world.

Hot reload: /raritycore-client reload now properly refreshes all related systems.
RarityCore Icon
Download RarityCore
Select game version
Select platform