This has been made virtually impossible in 24w33a as the packets were changed to using a tag key id instead of a list of items when it can. So this can probably be considered fixed.
I cant reproduce in 1.21-pre4 so yes it must have been fixed in one of the snapshots for 1.21
I have been able to reproduce this every single time, ive had others also reproduce it, the video I sent was created on a brand new instance with 0 configuration until I started the game.
Like I said in the description use the button not [ctrl]+ [scroll wheel] as ctrl scroll wheel logic will set the list scroll to 0 when its used but the button does not.
@Jiingy it has to be done with the button, not the scroll wheel, as the scroll wheel adds a special call to reset the scroll.
Here is a deobfuscated decompiled version of that special check on scroll from the latest snapshot:
CycleButton<Integer> cycleButton = (CycleButton<Integer>)this.list.findOption(optionInstance);
if (cycleButton != null) {
optionInstance.set(k);
cycleButton.setValue(k);
this.list.setScrollAmount(0.0);
return true;
}
Ive updated the description, the last sentence of the original report already had how to reproduce and what results it expected ands observed but ive made it more explicit