CLASS net/minecraft/class_5676 net/minecraft/client/gui/widget/CyclingButtonWidget FIELD field_27961 HAS_ALT_DOWN Ljava/util/function/BooleanSupplier; FIELD field_27962 BOOLEAN_VALUES Ljava/util/List; FIELD field_27963 optionText Lnet/minecraft/class_2561; FIELD field_27964 index I FIELD field_27965 value Ljava/lang/Object; FIELD field_27966 values Lnet/minecraft/class_5676$class_5680; FIELD field_27967 valueToText Ljava/util/function/Function; FIELD field_27968 narrationMessageFactory Ljava/util/function/Function; FIELD field_27969 callback Lnet/minecraft/class_5676$class_5678; FIELD field_27970 tooltipFactory Lnet/minecraft/class_5676$class_5679; FIELD field_27971 optionTextOmitted Z METHOD (IIIILnet/minecraft/class_2561;Lnet/minecraft/class_2561;ILjava/lang/Object;Lnet/minecraft/class_5676$class_5680;Ljava/util/function/Function;Ljava/util/function/Function;Lnet/minecraft/class_5676$class_5678;Lnet/minecraft/class_5676$class_5679;Z)V ARG 1 x ARG 2 y ARG 3 width ARG 4 height ARG 5 message ARG 6 optionText ARG 7 index ARG 8 value ARG 9 values ARG 10 valueToText ARG 11 narrationMessageFactory ARG 12 callback ARG 13 tooltipFactory ARG 14 optionTextOmitted METHOD method_32603 getValue ()Ljava/lang/Object; METHOD method_32604 (Ljava/lang/Boolean;)Lnet/minecraft/class_2561; ARG 0 value METHOD method_32605 setValue (Ljava/lang/Object;)V ARG 1 value METHOD method_32606 builder (Ljava/util/function/Function;)Lnet/minecraft/class_5676$class_5677; COMMENT Creates a new builder for a cycling button widget. ARG 0 valueToText METHOD method_32607 onOffBuilder (Lnet/minecraft/class_2561;Lnet/minecraft/class_2561;)Lnet/minecraft/class_5676$class_5677; COMMENT Creates a builder for a cycling button widget that only has {@linkplain Boolean#TRUE} COMMENT and {@linkplain Boolean#FALSE} values. It displays COMMENT {@code on} for {@code true} and {@code off} for {@code false}. COMMENT Its current initial value is {@code true}. ARG 0 on ARG 1 off METHOD method_32608 (Lnet/minecraft/class_2561;Lnet/minecraft/class_2561;Ljava/lang/Boolean;)Lnet/minecraft/class_2561; ARG 2 value METHOD method_32609 internalSetValue (Ljava/lang/Object;)V ARG 1 value METHOD method_32610 composeGenericOptionText (Ljava/lang/Object;)Lnet/minecraft/class_5250; ARG 1 value METHOD method_32611 getGenericNarrationMessage ()Lnet/minecraft/class_5250; COMMENT {@return a generic narration message for this button} COMMENT COMMENT

If the button omits the option text in rendering, such as showing only COMMENT "Value", this narration message will still read out the option like COMMENT "Option: Value". METHOD method_32612 cycle (I)V ARG 1 amount METHOD method_32613 onOffBuilder (Z)Lnet/minecraft/class_5676$class_5677; COMMENT Creates a builder for a cycling button widget that only has {@linkplain Boolean#TRUE} COMMENT and {@linkplain Boolean#FALSE} values. It displays COMMENT {@link net.minecraft.client.gui.screen.ScreenTexts#ON} for {@code true} and COMMENT {@link net.minecraft.client.gui.screen.ScreenTexts#OFF} for {@code false}. COMMENT Its current initial value is set to {@code initialValue}. ARG 0 initialValue METHOD method_32614 onOffBuilder ()Lnet/minecraft/class_5676$class_5677; COMMENT Creates a builder for a cycling button widget that only has {@linkplain Boolean#TRUE} COMMENT and {@linkplain Boolean#FALSE} values. It displays COMMENT {@link net.minecraft.client.gui.screen.ScreenTexts#ON} for {@code true} and COMMENT {@link net.minecraft.client.gui.screen.ScreenTexts#OFF} for {@code false}. COMMENT Its current initial value is {@code true}. METHOD method_37026 composeText (Ljava/lang/Object;)Lnet/minecraft/class_2561; ARG 1 value METHOD method_37027 getValue (I)Ljava/lang/Object; ARG 1 offset CLASS class_5677 Builder COMMENT A builder to easily create cycling button widgets. COMMENT COMMENT Each builder must have at least one of its {@code values} methods called COMMENT with at least one default (non-alternative) value in the list before COMMENT building. COMMENT COMMENT @see CyclingButtonWidget#builder(Function) FIELD field_27972 initialIndex I FIELD field_27973 value Ljava/lang/Object; FIELD field_27974 valueToText Ljava/util/function/Function; FIELD field_27975 tooltipFactory Lnet/minecraft/class_5676$class_5679; FIELD field_27976 narrationMessageFactory Ljava/util/function/Function; FIELD field_27977 values Lnet/minecraft/class_5676$class_5680; FIELD field_27978 optionTextOmitted Z METHOD (Ljava/util/function/Function;)V COMMENT Creates a builder. COMMENT COMMENT @see CyclingButtonWidget#builder(Function) ARG 1 valueToText METHOD method_32616 omitKeyText ()Lnet/minecraft/class_5676$class_5677; COMMENT Makes the built button omit the option and only display the current value COMMENT for its text, such as showing "Jump Mode" than "Mode: Jump Mode". METHOD method_32617 build (IIIILnet/minecraft/class_2561;Lnet/minecraft/class_5676$class_5678;)Lnet/minecraft/class_5676; COMMENT Builds a cycling button widget. COMMENT COMMENT @throws IllegalStateException if no {@code values} call is made, or the COMMENT {@code values} has no default values available ARG 1 x ARG 2 y ARG 3 width ARG 4 height ARG 5 optionText ARG 6 callback METHOD method_32618 tooltip (Lnet/minecraft/class_5676$class_5679;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the tooltip factory that provides tooltips for any of the values. COMMENT COMMENT

If this is not called, the values simply won't have tooltips. ARG 1 tooltipFactory METHOD method_32619 initially (Ljava/lang/Object;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the initial value of this button widget. COMMENT COMMENT

This is not effective if {@code value} is not in the default COMMENT values (i.e. excluding alternative values). COMMENT COMMENT

If this is not called, the initial value defaults to the first COMMENT value in the values list supplied. ARG 1 value METHOD method_32620 values (Ljava/util/List;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the option values for this button. ARG 1 values METHOD method_32621 values (Ljava/util/List;Ljava/util/List;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the option values for this button. COMMENT COMMENT

When the user presses the ALT key, the {@code alternatives} values COMMENT will be iterated; otherwise the {@code defaults} values will be iterated COMMENT when clicking the built button. ARG 1 defaults ARG 2 alternatives METHOD method_32622 values (Ljava/util/function/BooleanSupplier;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the option values for this button. COMMENT COMMENT

When {@code alternativeToggle} {@linkplain BooleanSupplier#getAsBoolean() COMMENT getAsBoolean} returns {@code true}, the {@code alternatives} values COMMENT will be iterated; otherwise the {@code defaults} values will be iterated COMMENT when clicking the built button. ARG 1 alternativeToggle ARG 2 defaults ARG 3 alternatives METHOD method_32623 narration (Ljava/util/function/Function;)Lnet/minecraft/class_5676$class_5677; COMMENT Overrides the narration message of the button to build. COMMENT COMMENT

If this is not called, the button will use COMMENT {@link CyclingButtonWidget#getGenericNarrationMessage()} for narration COMMENT messages. ARG 1 narrationMessageFactory METHOD method_32624 values ([Ljava/lang/Object;)Lnet/minecraft/class_5676$class_5677; COMMENT Sets the option values for this button. ARG 1 values METHOD method_32625 (Ljava/lang/Object;)Ljava/util/List; ARG 0 value METHOD method_35723 build (IIIILnet/minecraft/class_2561;)Lnet/minecraft/class_5676; ARG 1 x ARG 2 y ARG 3 width ARG 4 height ARG 5 optionText METHOD method_35724 (Lnet/minecraft/class_5676;Ljava/lang/Object;)V ARG 0 button ARG 1 value CLASS class_5678 UpdateCallback METHOD onValueChange (Lnet/minecraft/class_5676;Ljava/lang/Object;)V ARG 1 button ARG 2 value CLASS class_5679 TooltipFactory CLASS class_5680 Values METHOD method_32626 getCurrent ()Ljava/util/List; METHOD method_32627 of (Ljava/util/List;)Lnet/minecraft/class_5676$class_5680; ARG 0 values METHOD method_32628 of (Ljava/util/function/BooleanSupplier;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/class_5676$class_5680; ARG 0 alternativeToggle ARG 1 defaults ARG 2 alternatives METHOD method_32629 getDefaults ()Ljava/util/List;