package net.minecraft.client;

import net.minecraft.util.Mth;
import net.minecraft.client.gui.components.ChatComponent;
import net.minecraft.network.chat.CommonComponents;
import com.mojang.blaze3d.platform.Window;
import net.minecraft.world.entity.player.ChatVisiblity;
import net.minecraft.client.renderer.GpuWarnlistManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.client.gui.chat.NarratorChatListener;
import com.mojang.blaze3d.pipeline.RenderTarget;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.client.gui.components.AbstractWidget;
import net.minecraft.network.chat.FormattedText;
import java.util.List;
import java.util.Optional;
import net.minecraft.network.chat.Component;

public abstract class Option {
    public static final ProgressOption BIOME_BLEND_RADIUS;
    public static final ProgressOption CHAT_HEIGHT_FOCUSED;
    public static final ProgressOption CHAT_HEIGHT_UNFOCUSED;
    public static final ProgressOption CHAT_OPACITY;
    public static final ProgressOption CHAT_SCALE;
    public static final ProgressOption CHAT_WIDTH;
    public static final ProgressOption CHAT_LINE_SPACING;
    public static final ProgressOption CHAT_DELAY;
    public static final ProgressOption FOV;
    public static final ProgressOption FRAMERATE_LIMIT;
    public static final ProgressOption GAMMA;
    public static final ProgressOption MIPMAP_LEVELS;
    public static final ProgressOption MOUSE_WHEEL_SENSITIVITY;
    public static final BooleanOption RAW_MOUSE_INPUT;
    public static final ProgressOption RENDER_DISTANCE;
    public static final ProgressOption ENTITY_DISTANCE_SCALING;
    public static final ProgressOption SENSITIVITY;
    public static final ProgressOption TEXT_BACKGROUND_OPACITY;
    public static final CycleOption AMBIENT_OCCLUSION;
    public static final CycleOption ATTACK_INDICATOR;
    public static final CycleOption CHAT_VISIBILITY;
    private static final Component GRAPHICS_TOOLTIP_FAST;
    private static final Component GRAPHICS_TOOLTIP_FABULOUS;
    private static final Component GRAPHICS_TOOLTIP_FANCY;
    public static final CycleOption GRAPHICS;
    public static final CycleOption GUI_SCALE;
    public static final CycleOption MAIN_HAND;
    public static final CycleOption NARRATOR;
    public static final CycleOption PARTICLES;
    public static final CycleOption RENDER_CLOUDS;
    public static final CycleOption TEXT_BACKGROUND;
    public static final BooleanOption AUTO_JUMP;
    public static final BooleanOption AUTO_SUGGESTIONS;
    public static final BooleanOption CHAT_COLOR;
    public static final BooleanOption CHAT_LINKS;
    public static final BooleanOption CHAT_LINKS_PROMPT;
    public static final BooleanOption DISCRETE_MOUSE_SCROLL;
    public static final BooleanOption ENABLE_VSYNC;
    public static final BooleanOption ENTITY_SHADOWS;
    public static final BooleanOption FORCE_UNICODE_FONT;
    public static final BooleanOption INVERT_MOUSE;
    public static final BooleanOption REALMS_NOTIFICATIONS;
    public static final BooleanOption REDUCED_DEBUG_INFO;
    public static final BooleanOption SHOW_SUBTITLES;
    public static final BooleanOption SNOOPER_ENABLED;
    public static final CycleOption TOGGLE_CROUCH;
    public static final CycleOption TOGGLE_SPRINT;
    public static final BooleanOption TOUCHSCREEN;
    public static final BooleanOption USE_FULLSCREEN;
    public static final BooleanOption VIEW_BOBBING;
    private final String captionId;
    private Optional<List<FormattedText>> toolTip;
    
    public Option(final String string) {
        this.captionId = string;
        this.toolTip = Optional.<List<FormattedText>>empty();
    }
    
    public abstract AbstractWidget createButton(final Options dmb, final int integer2, final int integer3, final int integer4);
    
    public MutableComponent createCaption() {
        return new TranslatableComponent(this.captionId).append(": ");
    }
    
    public void setTooltip(final List<FormattedText> list) {
        this.toolTip = Optional.<List<FormattedText>>of(list);
    }
    
    public Optional<List<FormattedText>> getTooltip() {
        return this.toolTip;
    }
    
    static {
        final double double3;
        final MutableComponent mx5;
        final int integer2;
        final Component mr;
        final MutableComponent mutableComponent;
        BIOME_BLEND_RADIUS = new ProgressOption("options.biomeBlendRadius", 0.0, 7.0, 1.0f, dmb -> Double.valueOf(dmb.biomeBlendRadius), (dmb, double2) -> {
            dmb.biomeBlendRadius = Mth.clamp((int)(double)double2, 0, 7);
            Minecraft.getInstance().levelRenderer.allChanged();
            return;
        }, (dmb, dmd) -> {
            double3 = dmd.get(dmb);
            mx5 = dmd.createCaption();
            integer2 = (int)double3 * 2 + 1;
            new TranslatableComponent("options.biomeBlendRadius." + integer2);
            return mutableComponent.append(mr);
        });
        final double double4;
        CHAT_HEIGHT_FOCUSED = new ProgressOption("options.chat.height.focused", 0.0, 1.0, 0.0f, dmb -> dmb.chatHeightFocused, (dmb, double2) -> {
            dmb.chatHeightFocused = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> {
            double4 = dmd.toPct(dmd.get(dmb));
            return dmd.createCaption().append(ChatComponent.getHeight(double4) + "px");
        });
        final double double5;
        CHAT_HEIGHT_UNFOCUSED = new ProgressOption("options.chat.height.unfocused", 0.0, 1.0, 0.0f, dmb -> dmb.chatHeightUnfocused, (dmb, double2) -> {
            dmb.chatHeightUnfocused = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> {
            double5 = dmd.toPct(dmd.get(dmb));
            return dmd.createCaption().append(ChatComponent.getHeight(double5) + "px");
        });
        final double double6;
        CHAT_OPACITY = new ProgressOption("options.chat.opacity", 0.0, 1.0, 0.0f, dmb -> dmb.chatOpacity, (dmb, double2) -> {
            dmb.chatOpacity = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> {
            double6 = dmd.toPct(dmd.get(dmb));
            return dmd.createCaption().append((int)(double6 * 90.0 + 10.0) + "%");
        });
        final double double7;
        final MutableComponent mx6;
        CHAT_SCALE = new ProgressOption("options.chat.scale", 0.0, 1.0, 0.0f, dmb -> dmb.chatScale, (dmb, double2) -> {
            dmb.chatScale = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> {
            double7 = dmd.toPct(dmd.get(dmb));
            mx6 = dmd.createCaption();
            if (double7 == 0.0) {
                return mx6.append(CommonComponents.OPTION_OFF);
            }
            else {
                return mx6.append((int)(double7 * 100.0) + "%");
            }
        });
        final double double8;
        CHAT_WIDTH = new ProgressOption("options.chat.width", 0.0, 1.0, 0.0f, dmb -> dmb.chatWidth, (dmb, double2) -> {
            dmb.chatWidth = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> {
            double8 = dmd.toPct(dmd.get(dmb));
            return dmd.createCaption().append(ChatComponent.getWidth(double8) + "px");
        });
        CHAT_LINE_SPACING = new ProgressOption("options.chat.line_spacing", 0.0, 1.0, 0.0f, dmb -> dmb.chatLineSpacing, (dmb, double2) -> dmb.chatLineSpacing = double2, (dmb, dmd) -> dmd.createCaption().append((int)(dmd.toPct(dmd.get(dmb)) * 100.0) + "%"));
        final double double9;
        final TranslatableComponent translatableComponent;
        CHAT_DELAY = new ProgressOption("options.chat.delay_instant", 0.0, 6.0, 0.1f, dmb -> dmb.chatDelay, (dmb, double2) -> dmb.chatDelay = double2, (dmb, dmd) -> {
            double9 = dmd.get(dmb);
            if (double9 <= 0.0) {
                return new TranslatableComponent("options.chat.delay_none");
            }
            else {
                new TranslatableComponent("options.chat.delay", new Object[] { String.format("%.1f", double9) });
                return translatableComponent;
            }
        });
        final double double10;
        final MutableComponent mx7;
        FOV = new ProgressOption("options.fov", 30.0, 110.0, 1.0f, dmb -> dmb.fov, (dmb, double2) -> dmb.fov = double2, (dmb, dmd) -> {
            double10 = dmd.get(dmb);
            mx7 = dmd.createCaption();
            if (double10 == 70.0) {
                return mx7.append(new TranslatableComponent("options.fov.min"));
            }
            else if (double10 == dmd.getMaxValue()) {
                return mx7.append(new TranslatableComponent("options.fov.max"));
            }
            else {
                return mx7.append(Integer.toString((int)double10));
            }
        });
        final double double11;
        final MutableComponent mx8;
        final Component mr2;
        final MutableComponent mutableComponent2;
        FRAMERATE_LIMIT = new ProgressOption("options.framerateLimit", 10.0, 260.0, 10.0f, dmb -> Double.valueOf(dmb.framerateLimit), (dmb, double2) -> {
            dmb.framerateLimit = (int)(double)double2;
            Minecraft.getInstance().getWindow().setFramerateLimit(dmb.framerateLimit);
            return;
        }, (dmb, dmd) -> {
            double11 = dmd.get(dmb);
            mx8 = dmd.createCaption();
            if (double11 == dmd.getMaxValue()) {
                return mx8.append(new TranslatableComponent("options.framerateLimit.max"));
            }
            else {
                new TranslatableComponent("options.framerate", new Object[] { (int)double11 });
                return mutableComponent2.append(mr2);
            }
        });
        final double double12;
        final MutableComponent mx9;
        GAMMA = new ProgressOption("options.gamma", 0.0, 1.0, 0.0f, dmb -> dmb.gamma, (dmb, double2) -> dmb.gamma = double2, (dmb, dmd) -> {
            double12 = dmd.toPct(dmd.get(dmb));
            mx9 = dmd.createCaption();
            if (double12 == 0.0) {
                return mx9.append(new TranslatableComponent("options.gamma.min"));
            }
            else if (double12 == 1.0) {
                return mx9.append(new TranslatableComponent("options.gamma.max"));
            }
            else {
                return mx9.append("+" + (int)(double12 * 100.0) + "%");
            }
        });
        final double double13;
        final MutableComponent mx10;
        MIPMAP_LEVELS = new ProgressOption("options.mipmapLevels", 0.0, 4.0, 1.0f, dmb -> Double.valueOf(dmb.mipmapLevels), (dmb, double2) -> dmb.mipmapLevels = (int)(double)double2, (dmb, dmd) -> {
            double13 = dmd.get(dmb);
            mx10 = dmd.createCaption();
            if (double13 == 0.0) {
                return mx10.append(CommonComponents.OPTION_OFF);
            }
            else {
                return mx10.append(Integer.toString((int)double13));
            }
        });
        final double double14;
        MOUSE_WHEEL_SENSITIVITY = new LogaritmicProgressOption("options.mouseWheelSensitivity", 0.01, 10.0, 0.01f, dmb -> dmb.mouseWheelSensitivity, (dmb, double2) -> dmb.mouseWheelSensitivity = double2, (dmb, dmd) -> {
            double14 = dmd.toPct(dmd.get(dmb));
            return dmd.createCaption().append(String.format("%.2f", dmd.toValue(double14)));
        });
        final Window dgy3;
        RAW_MOUSE_INPUT = new BooleanOption("options.rawMouseInput", dmb -> dmb.rawMouseInput, (dmb, boolean2) -> {
            dmb.rawMouseInput = boolean2;
            dgy3 = Minecraft.getInstance().getWindow();
            if (dgy3 != null) {
                dgy3.updateRawMouseInput(boolean2);
            }
            return;
        });
        final double double15;
        final Component mr3;
        final MutableComponent mutableComponent3;
        RENDER_DISTANCE = new ProgressOption("options.renderDistance", 2.0, 16.0, 1.0f, dmb -> Double.valueOf(dmb.renderDistance), (dmb, double2) -> {
            dmb.renderDistance = (int)(double)double2;
            Minecraft.getInstance().levelRenderer.needsUpdate();
            return;
        }, (dmb, dmd) -> {
            double15 = dmd.get(dmb);
            dmd.createCaption();
            new TranslatableComponent("options.chunks", new Object[] { (int)double15 });
            return mutableComponent3.append(mr3);
        });
        final double double16;
        final Component mr4;
        final MutableComponent mutableComponent4;
        ENTITY_DISTANCE_SCALING = new ProgressOption("options.entityDistanceScaling", 0.5, 5.0, 0.25f, dmb -> Double.valueOf(dmb.entityDistanceScaling), (dmb, double2) -> dmb.entityDistanceScaling = (float)(double)double2, (dmb, dmd) -> {
            double16 = dmd.get(dmb);
            dmd.createCaption();
            new TranslatableComponent("options.entityDistancePercent", new Object[] { (int)(double16 * 100.0) });
            return mutableComponent4.append(mr4);
        });
        final double double17;
        final MutableComponent mx11;
        SENSITIVITY = new ProgressOption("options.sensitivity", 0.0, 1.0, 0.0f, dmb -> dmb.sensitivity, (dmb, double2) -> dmb.sensitivity = double2, (dmb, dmd) -> {
            double17 = dmd.toPct(dmd.get(dmb));
            mx11 = dmd.createCaption();
            if (double17 == 0.0) {
                return mx11.append(new TranslatableComponent("options.sensitivity.min"));
            }
            else if (double17 == 1.0) {
                return mx11.append(new TranslatableComponent("options.sensitivity.max"));
            }
            else {
                return mx11.append((int)(double17 * 200.0) + "%");
            }
        });
        TEXT_BACKGROUND_OPACITY = new ProgressOption("options.accessibility.text_background_opacity", 0.0, 1.0, 0.0f, dmb -> dmb.textBackgroundOpacity, (dmb, double2) -> {
            dmb.textBackgroundOpacity = double2;
            Minecraft.getInstance().gui.getChat().rescaleChat();
            return;
        }, (dmb, dmd) -> dmd.createCaption().append((int)(dmd.toPct(dmd.get(dmb)) * 100.0) + "%"));
        AMBIENT_OCCLUSION = new CycleOption("options.ao", (dmb, integer) -> {
            dmb.ambientOcclusion = AmbientOcclusionStatus.byId(dmb.ambientOcclusion.getId() + integer);
            Minecraft.getInstance().levelRenderer.allChanged();
            return;
        }, (dmb, dln) -> dln.createCaption().append(new TranslatableComponent(dmb.ambientOcclusion.getKey())));
        ATTACK_INDICATOR = new CycleOption("options.attackIndicator", (dmb, integer) -> dmb.attackIndicator = AttackIndicatorStatus.byId(dmb.attackIndicator.getId() + integer), (dmb, dln) -> dln.createCaption().append(new TranslatableComponent(dmb.attackIndicator.getKey())));
        CHAT_VISIBILITY = new CycleOption("options.chat.visibility", (dmb, integer) -> dmb.chatVisibility = ChatVisiblity.byId((dmb.chatVisibility.getId() + integer) % 3), (dmb, dln) -> dln.createCaption().append(new TranslatableComponent(dmb.chatVisibility.getKey())));
        GRAPHICS_TOOLTIP_FAST = new TranslatableComponent("options.graphics.fast.tooltip");
        GRAPHICS_TOOLTIP_FABULOUS = new TranslatableComponent("options.graphics.fabulous.tooltip", new Object[] { new TranslatableComponent("options.graphics.fabulous").withStyle(ChatFormatting.ITALIC) });
        GRAPHICS_TOOLTIP_FANCY = new TranslatableComponent("options.graphics.fancy.tooltip");
        final Minecraft dlx3;
        final GpuWarnlistManager ebt4;
        final TranslatableComponent ne3;
        GRAPHICS = new CycleOption("options.graphics", (dmb, integer) -> {
            dlx3 = Minecraft.getInstance();
            ebt4 = dlx3.getGpuWarnlistManager();
            if (dmb.graphicsMode == GraphicsStatus.FANCY && ebt4.willShowWarning()) {
                ebt4.showWarning();
                return;
            }
            else {
                dmb.graphicsMode = dmb.graphicsMode.cycleNext();
                if (dmb.graphicsMode == GraphicsStatus.FABULOUS && (!GlStateManager.supportsFramebufferBlit() || ebt4.isSkippingFabulous())) {
                    dmb.graphicsMode = GraphicsStatus.FAST;
                }
                dlx3.levelRenderer.allChanged();
                return;
            }
        }, (dmb, dln) -> {
            switch (dmb.graphicsMode) {
                case FAST: {
                    dln.setTooltip(Minecraft.getInstance().font.split(Option.GRAPHICS_TOOLTIP_FAST, 200));
                    break;
                }
                case FANCY: {
                    dln.setTooltip(Minecraft.getInstance().font.split(Option.GRAPHICS_TOOLTIP_FANCY, 200));
                    break;
                }
                case FABULOUS: {
                    dln.setTooltip(Minecraft.getInstance().font.split(Option.GRAPHICS_TOOLTIP_FABULOUS, 200));
                    break;
                }
            }
            ne3 = new TranslatableComponent(dmb.graphicsMode.getKey());
            if (dmb.graphicsMode == GraphicsStatus.FABULOUS) {
                return dln.createCaption().append(new TextComponent("").append(ne3).withStyle(ChatFormatting.ITALIC));
            }
            else {
                return dln.createCaption().append(ne3);
            }
        });
        final MutableComponent mx12;
        GUI_SCALE = new CycleOption("options.guiScale", (dmb, integer) -> dmb.guiScale = Integer.remainderUnsigned(dmb.guiScale + integer, Minecraft.getInstance().getWindow().calculateScale(0, Minecraft.getInstance().isEnforceUnicode()) + 1), (dmb, dln) -> {
            mx12 = dln.createCaption();
            if (dmb.guiScale == 0) {
                return mx12.append(new TranslatableComponent("options.guiScale.auto"));
            }
            else {
                return mx12.append(Integer.toString(dmb.guiScale));
            }
        });
        MAIN_HAND = new CycleOption("options.mainHand", (dmb, integer) -> dmb.mainHand = dmb.mainHand.getOpposite(), (dmb, dln) -> dln.createCaption().append(dmb.mainHand.getName()));
        NARRATOR = new CycleOption("options.narrator", (dmb, integer) -> {
            if (NarratorChatListener.INSTANCE.isActive()) {
                dmb.narratorStatus = NarratorStatus.byId(dmb.narratorStatus.getId() + integer);
            }
            else {
                dmb.narratorStatus = NarratorStatus.OFF;
            }
            NarratorChatListener.INSTANCE.updateNarratorStatus(dmb.narratorStatus);
            return;
        }, (dmb, dln) -> {
            if (NarratorChatListener.INSTANCE.isActive()) {
                return dln.createCaption().append(dmb.narratorStatus.getName());
            }
            else {
                return dln.createCaption().append(new TranslatableComponent("options.narrator.notavailable"));
            }
        });
        PARTICLES = new CycleOption("options.particles", (dmb, integer) -> dmb.particles = ParticleStatus.byId(dmb.particles.getId() + integer), (dmb, dln) -> dln.createCaption().append(new TranslatableComponent(dmb.particles.getKey())));
        RenderTarget dgf3;
        RENDER_CLOUDS = new CycleOption("options.renderClouds", (dmb, integer) -> {
            dmb.renderClouds = CloudStatus.byId(dmb.renderClouds.getId() + integer);
            if (Minecraft.useShaderTransparency()) {
                dgf3 = Minecraft.getInstance().levelRenderer.getCloudsTarget();
                if (dgf3 != null) {
                    dgf3.clear(Minecraft.ON_OSX);
                }
            }
            return;
        }, (dmb, dln) -> dln.createCaption().append(new TranslatableComponent(dmb.renderClouds.getKey())));
        final TranslatableComponent mr5;
        final MutableComponent mutableComponent5;
        TEXT_BACKGROUND = new CycleOption("options.accessibility.text_background", (dmb, integer) -> dmb.backgroundForChatOnly = !dmb.backgroundForChatOnly, (dmb, dln) -> {
            dln.createCaption();
            new TranslatableComponent(dmb.backgroundForChatOnly ? "options.accessibility.text_background.chat" : "options.accessibility.text_background.everywhere");
            return mutableComponent5.append(mr5);
        });
        AUTO_JUMP = new BooleanOption("options.autoJump", dmb -> dmb.autoJump, (dmb, boolean2) -> dmb.autoJump = boolean2);
        AUTO_SUGGESTIONS = new BooleanOption("options.autoSuggestCommands", dmb -> dmb.autoSuggestions, (dmb, boolean2) -> dmb.autoSuggestions = boolean2);
        CHAT_COLOR = new BooleanOption("options.chat.color", dmb -> dmb.chatColors, (dmb, boolean2) -> dmb.chatColors = boolean2);
        CHAT_LINKS = new BooleanOption("options.chat.links", dmb -> dmb.chatLinks, (dmb, boolean2) -> dmb.chatLinks = boolean2);
        CHAT_LINKS_PROMPT = new BooleanOption("options.chat.links.prompt", dmb -> dmb.chatLinksPrompt, (dmb, boolean2) -> dmb.chatLinksPrompt = boolean2);
        DISCRETE_MOUSE_SCROLL = new BooleanOption("options.discrete_mouse_scroll", dmb -> dmb.discreteMouseScroll, (dmb, boolean2) -> dmb.discreteMouseScroll = boolean2);
        ENABLE_VSYNC = new BooleanOption("options.vsync", dmb -> dmb.enableVsync, (dmb, boolean2) -> {
            dmb.enableVsync = boolean2;
            if (Minecraft.getInstance().getWindow() != null) {
                Minecraft.getInstance().getWindow().updateVsync(dmb.enableVsync);
            }
            return;
        });
        ENTITY_SHADOWS = new BooleanOption("options.entityShadows", dmb -> dmb.entityShadows, (dmb, boolean2) -> dmb.entityShadows = boolean2);
        final Minecraft dlx4;
        FORCE_UNICODE_FONT = new BooleanOption("options.forceUnicodeFont", dmb -> dmb.forceUnicodeFont, (dmb, boolean2) -> {
            dmb.forceUnicodeFont = boolean2;
            dlx4 = Minecraft.getInstance();
            if (dlx4.getWindow() != null) {
                dlx4.selectMainFont(boolean2);
            }
            return;
        });
        INVERT_MOUSE = new BooleanOption("options.invertMouse", dmb -> dmb.invertYMouse, (dmb, boolean2) -> dmb.invertYMouse = boolean2);
        REALMS_NOTIFICATIONS = new BooleanOption("options.realmsNotifications", dmb -> dmb.realmsNotifications, (dmb, boolean2) -> dmb.realmsNotifications = boolean2);
        REDUCED_DEBUG_INFO = new BooleanOption("options.reducedDebugInfo", dmb -> dmb.reducedDebugInfo, (dmb, boolean2) -> dmb.reducedDebugInfo = boolean2);
        SHOW_SUBTITLES = new BooleanOption("options.showSubtitles", dmb -> dmb.showSubtitles, (dmb, boolean2) -> dmb.showSubtitles = boolean2);
        SNOOPER_ENABLED = new BooleanOption("options.snooper", dmb -> {
            if (dmb.snooperEnabled) {}
            return false;
        }, (dmb, boolean2) -> dmb.snooperEnabled = boolean2);
        final TranslatableComponent mr6;
        final MutableComponent mutableComponent6;
        TOGGLE_CROUCH = new CycleOption("key.sneak", (dmb, integer) -> dmb.toggleCrouch = !dmb.toggleCrouch, (dmb, dln) -> {
            dln.createCaption();
            new TranslatableComponent(dmb.toggleCrouch ? "options.key.toggle" : "options.key.hold");
            return mutableComponent6.append(mr6);
        });
        final TranslatableComponent mr7;
        final MutableComponent mutableComponent7;
        TOGGLE_SPRINT = new CycleOption("key.sprint", (dmb, integer) -> dmb.toggleSprint = !dmb.toggleSprint, (dmb, dln) -> {
            dln.createCaption();
            new TranslatableComponent(dmb.toggleSprint ? "options.key.toggle" : "options.key.hold");
            return mutableComponent7.append(mr7);
        });
        TOUCHSCREEN = new BooleanOption("options.touchscreen", dmb -> dmb.touchscreen, (dmb, boolean2) -> dmb.touchscreen = boolean2);
        final Minecraft dlx5;
        USE_FULLSCREEN = new BooleanOption("options.fullscreen", dmb -> dmb.fullscreen, (dmb, boolean2) -> {
            dmb.fullscreen = boolean2;
            dlx5 = Minecraft.getInstance();
            if (dlx5.getWindow() != null && dlx5.getWindow().isFullscreen() != dmb.fullscreen) {
                dlx5.getWindow().toggleFullScreen();
                dmb.fullscreen = dlx5.getWindow().isFullscreen();
            }
            return;
        });
        VIEW_BOBBING = new BooleanOption("options.viewBobbing", dmb -> dmb.bobView, (dmb, boolean2) -> dmb.bobView = boolean2);
    }
}
