Direct answer
Datapack tick functions can run 20 times per second and may chain many commands or selectors. Cost depends on execution work, not merely the number of datapacks.
How to check it
- List enabled datapacks with
/datapack listand locate relevantminecraft:tickfunction tags or their current-version equivalents. - Profile while the feature is running; note whether function execution grows with online players, loaded chunks or tracked entities.
- Disable one suspected datapack on a disposable staging world, restart as required, and compare equivalent activity.
Example: A datapack that checks every player each tick can scale with the number of players; one that checks a single tagged boss only during an encounter has a very different cost.
What to change
Replace broad repeated scans with tagged entities or event-driven function schedules where the pack permits. Add throttling to noncritical cosmetic work and document changed behavior.
Software and version notes
Do not remove a datapack from a production save without a backup: functions, predicates, data components and world-generation registries may be part of the world state. Command syntax varies by release.
Verify the result
After re-enabling the pack, confirm its commands work, the world opens correctly and the affected spark branch has reduced cost.