]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/gui/MaxYSettingSlider.java
b518d7dec6667eab7bdd3a7bf2de115cf523bd6b
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / gui / MaxYSettingSlider.java
1 package com.irtimaled.bbor.client.gui;
2
3 import com.irtimaled.bbor.config.Setting;
4 import net.minecraft.client.resources.I18n;
5
6 class MaxYSettingSlider extends IntSettingSlider {
7     private final int actualMinValue;
8
9     MaxYSettingSlider(int width, int minValue, Setting<Integer> setting) {
10         super(width, minValue - 2, 127, I18n.format("bbor.options.maxY", "%s"), setting);
11         this.actualMinValue = minValue;
12         this.setProgress(getSliderValue());
13         this.addDisplayValue(-1, I18n.format("bbor.options.maxY.activated"));
14         this.addDisplayValue(0, I18n.format("bbor.options.maxY.player"));
15         this.addDisplayValue(63, I18n.format("bbor.options.maxY.seaLevel"));
16     }
17
18     @Override
19     protected Integer getSettingValue() {
20         Integer value = super.getSettingValue();
21         if (value >= actualMinValue)
22             return value;
23         return (value + 1) - actualMinValue;
24     }
25
26     @Override
27     protected double getSliderValue() {
28         int value = setting.get();
29         if (value < actualMinValue)
30             value = (value - 1) + actualMinValue;
31
32         return (value - minValue) / (double) range;
33     }
34 }