]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/gui/IntSettingSlider.java
Setup for 1.16.3 Fabric
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / gui / IntSettingSlider.java
index 34fadec2468c77f68fa8f41bfa59269f3c6c3ca9..a5f73b5f43ea2c72693e383bd71cecf9595f9084 100644 (file)
@@ -1,7 +1,8 @@
 package com.irtimaled.bbor.client.gui;
 
 import com.irtimaled.bbor.client.config.Setting;
-import net.minecraft.client.resources.I18n;
+import net.minecraft.client.resource.language.I18n;
+import net.minecraft.text.LiteralText;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -12,18 +13,20 @@ class IntSettingSlider extends AbstractSlider {
 
     final Setting<Integer> setting;
     final int minValue;
-    final int range;
 
     IntSettingSlider(int width, int minValue, int maxValue, String format, Setting<Integer> setting) {
-        super(0, 0, width);
+        super(width, maxValue - minValue);
         this.setting = setting;
         this.minValue = minValue;
         this.format = format;
-        this.range = maxValue - minValue;
-        this.setProgress(getSliderValue());
+        setInitialPosition();
         this.updateText();
     }
 
+    protected void setInitialPosition() {
+        this.setPosition(this.setting.get() - this.minValue);
+    }
+
     IntSettingSlider addDisplayValue(int value, String displayValue) {
         displayValues.put(value, displayValue);
         if (setting.get() == value) {
@@ -32,26 +35,18 @@ class IntSettingSlider extends AbstractSlider {
         return this;
     }
 
-    private String getDisplayValue() {
-        Integer value = setting.get();
-        return I18n.format(format, displayValues.getOrDefault(value, value.toString()));
-    }
-
     protected Integer getSettingValue() {
-        return minValue + (int) (range * progress);
+        return minValue + getPosition();
     }
 
-    protected double getSliderValue() {
-        return (setting.get() - minValue) / (double) range;
-    }
-
-    @Override
-    protected void updateText() {
-        this.setMessage(this.getDisplayValue());
+    private void updateText() {
+        Integer value = setting.get();
+        this.setMessage(new LiteralText(I18n.translate(format, displayValues.getOrDefault(value, value.toString()))));
     }
 
     @Override
     protected void onProgressChanged() {
         this.setting.set(this.getSettingValue());
+        updateText();
     }
 }