Capability Fix
Modby lcy0x1
Improve capability searching performance on entities
Description
Discord: https://discord.gg/BCHNhsDMXz
This mod improves one key part of lags in 1.20.1 Forge/NeoForge: Capability fetching on entities. The implementation used on 1.20.1 searches across all capability providers to find one capability on one entity. This is extremely inefficient when there are many mods adding capability providers.
The approach this mod takes is to have a whitelist of capabilities to be cached. It stores a cache of capabilities on every entity. Capabilities that are whitelisted will be cached when it's fetched the first time and later it will not go through the list of capability providers but fetched from the cache directly.
This method is safe only for capabilities that is available on entities since its first fetch and never removed or re-attached later. One example would be Curios API's capability. Thus, this mod is whitelist-based by default. You can take the risk and make it apply to all capabilities on entities via config, or manually add all capabilities to the whitelist in config. By default, only Curios API's capability is in the whitelist.
You are recommended to use this mod only when you confirmed with spark that capability fetch on entity costs at least 4% of server mspt. This mod fully deployed would reduce capability fetching cost by 75%, tested on a modpack which original capability fetching cost is 8% of server mspt.
The correct way to use this mod is:
- After the game runs a while, run
/capabilityfix gather_others. It will tell you how many times each capability is fetched. - Open your latest.log and find that chat message. Copy the capability ID into your config
capabilityfix-common.toml. - Run
/capabilityfix reload_configingame to apply the whitelist. - Test functionalities related to that capability to see if it would cause any bug. If it does, remove it from the whitelist.
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Create: Ice & Creams
Get your many ice creams with the power of Rotational Force!
Radial Aggro Indicator
Shows a radial indicator on screen to show the direction of the mob that is currently targeting the player
Wasteland Things
A few random blocks and items required for Verdant Idea modpack
Moonlit Performance Enhancement Module
A optimization mod for Forge/NeoForge that overhauls Minecraft’s core event system. Eliminates reflection bottlenecks to...
Into The Maelstrom
An adventure rpg mod
Wandrous
A magic inspired on Noita's spell system, create wands, mix modifiers, make cool spells!