I think the other user's issue (MC-252436) was incorrectly linked as a duplicate of this issue. That issue, without any further information, appears to me to just be an instance of a feature cycle caused by invalid datapack configuration.
> you can prevent this yourself by just re-using the file, rather than making exact duplicates.
It is also worth mentioning that no, you can't re-use the file, as that would lead to a correctly identified cycle, which would still crash. However, it is still possible to avoid this entirely, for instance using features that don't have object equality which is something quite easy to avoid. For example, since `Holder.Reference` is not a `record`, all we have to do to fix the above example is to change the inline configured feature in each one of those placed features, to a single reference to a new configured feature.
For what it's worth, https://github.com/Mojang/DataFixerUpper/pull/55 seems to fix this issue as per my testing.
The recipe count is actually vanilla's error message displaying the number of recipe types, not the total number of recipes. This change happened somewhere around 1.14 I believe, once recipe types were introduced. It can be fixed very simply. In 1.16.4, using official mappings:
// In RecipeManager.apply(), at the last line, instead of
// LOGGER.info("Loaded {} recipes", map.size());
// It should read:
LOGGER.info("Loaded {} recipes", this.recipes.values().stream().mapToInt(Map::size).sum());
UPDATE
Doesn't work in both Inventory and in hand!!!
I can reproduce in 1.18 and in 1.19. The setup:
/gamerule naturalRegeneration false
/effect give @p hunger 100 100 true
Wait for hunger to go down - it needs to do down enough to be noticeable. Then,
/difficulty peaceful
Your hunger will immediately start to regenerate. However, it is only doing so on client. Taking any sort of damage will cause the hunger bar to "reset" to the correct value, which will then be falsely regenerated on client.
Confirmed via looking at the code that is it the same cause in both 1.18 and 1.19.
Reproduced in 1.18:
[media]
[media]Reproduced in 1.19: