mojira.dev

Alex O'Neill

More than one avatar was detected! There might be multiple accounts sharing this same name.

Assigned

No issues.

Reported

MC-252369 Feature Cycle detected where no cycle exists Confirmed MC-23986 Control+Q doesn't release all items! Duplicate MC-23726 Baby Zombies + Zombie Pigmen?!?!?? Works As Intended MC-19259 Can't get blocks from creative menu! Duplicate

Comments

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]



Reproduced in 1.19:

[media]

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!!!