Skip to content

Commit 963a8fc

Browse files
authored
fix: incorrect rounding with imgui sliders (#188)
<img src="https://i.imgur.com/Du0um9X.png">
1 parent 49312a7 commit 963a8fc

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/main/kotlin/com/lambda/config/settings/numeric/DoubleSetting.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.lambda.config.Setting
2626
import com.lambda.config.settings.NumericSetting
2727
import com.lambda.gui.dsl.ImGuiBuilder
2828
import com.lambda.util.extension.CommandBuilder
29+
import com.lambda.util.math.MathUtils.roundToStep
2930
import net.minecraft.command.CommandRegistryAccess
3031
import kotlin.math.roundToInt
3132

@@ -46,7 +47,9 @@ class DoubleSetting(
4647
private var valueIndex: Int
4748
get() = ((value - range.start) / step).roundToInt()
4849
set(index) {
49-
value = (range.start + index * step).coerceIn(range)
50+
value = (range.start + index * step)
51+
.roundToStep(step)
52+
.coerceIn(range)
5053
}
5154

5255
context(setting: Setting<*, Double>)

src/main/kotlin/com/lambda/config/settings/numeric/FloatSetting.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.lambda.config.Setting
2525
import com.lambda.config.settings.NumericSetting
2626
import com.lambda.gui.dsl.ImGuiBuilder
2727
import com.lambda.util.extension.CommandBuilder
28+
import com.lambda.util.math.MathUtils.roundToStep
2829
import net.minecraft.command.CommandRegistryAccess
2930
import kotlin.math.roundToInt
3031

@@ -45,7 +46,9 @@ class FloatSetting(
4546
private var valueIndex: Int
4647
get() = ((value - range.start) / step).roundToInt()
4748
set(index) {
48-
value = (range.start + index * step).coerceIn(range)
49+
value = (range.start + index * step)
50+
.roundToStep(step)
51+
.coerceIn(range)
4952
}
5053

5154
context(setting: Setting<*, Float>)

0 commit comments

Comments
 (0)