Ring of the Mantle overrides Haste effect from other sources
TheRealWormbo opened this issue · 0 comments
Mod Loader
Both Fabric and Forge (I confirm that I have tested both loaders and will specify both loader versions below)
Minecraft Version
1.20.1
Botania version
444-SNAPSHOT
Modloader version
(any)
Modpack info
No response
The latest.log file
(n/a)
Issue description
The Ring of the Mantle takes precedence over any other sources of Haste, regardless of level.
- If the player has mana and equips the ring, it overrides any current Haste level with Haste 2 for 2^32 - 1 game ticks (instead of showing it as infinite). This includes any potentially higher level, which is different from how potions effects usually stack. (Higher levels beat lower levels.)
- If the player does not have mana and equips the ring, any current instance of Haste 2 (specifically that level) is removed from the player.
Steps to reproduce
Scenario 1:
- Build and activate a Haste 2 beacon. The player should receive 17 seconds of Haste 1 within 4 seconds, which immediately starts ticking down.
- Have one filled mana tablet as the only source of mana in the inventory.
- Equip the Ring of the Mantle – the player now has Haste 2 for "29826:09:42".
- Pick up the mana tablet, or move it to the crafting grid, or throw it out (i.e. remove it from the active part of the inventory) – the player no longer has Haste 2, and the beacon doesn't reapply it either.
- Unequip the ring – the Haste 2 effect comes back within 4 seconds, counting down from 17 second again.
Scenario 2:
- Build and activate a Haste 1 beacon. The player should receive a duration of Haste 1 equivalent to the beacon tier within 4 seconds, which immediately starts ticking down.
- Have one filled mana tabled as the only source of mana in the inventory.
- Equip the Ring of the Mantle – the player now has Haste 2 for "29826:09:42".
- Remove the mana tablet from the active inventory – the Haste 2 effect is removed immediately, but within 4 seconds the Haste 1 effect comes back.
Scenario 3:
- Give the player Haste 3 via
/effect give @p minecraft:haste 3600 2
. The player receives 1 hour of the effect. - Have one filled mana tabled as the only source of mana in the inventory.
- Equip the Ring of the Mantle – the player now has Haste 2 for "29826:09:42".
- Remove the mana tablet from the active inventory or unequip the ring – the player no longer has any level of Haste.
Other information
Minecraft has improved effect stacking in multiple ways since the ring's logic was implemented:
- Lower level effects are only hidden (not removed) while higher level effects with shorter duration are active. Once the higher level effect ends, the lower level effect resumes with the remaining duration, which ticked down while the effect was hidden.
- Effect durations can actually be defined as "infinite" now, instead of treating long-duration effects as factually infinite. (Infinite effect duration is considered "longer" than non-infinite effect durations for effect stacking.)