Community listing page, reviews here may not be monitored by the author.
Capability Fix
No reviews yet
Improve capability searching performance on entities
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
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
About
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.
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
(opens in a new tab)
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers