diff --git a/src/main/kotlin/com/lambda/config/settings/numeric/DoubleSetting.kt b/src/main/kotlin/com/lambda/config/settings/numeric/DoubleSetting.kt index e6577b751..9842dc0db 100644 --- a/src/main/kotlin/com/lambda/config/settings/numeric/DoubleSetting.kt +++ b/src/main/kotlin/com/lambda/config/settings/numeric/DoubleSetting.kt @@ -26,6 +26,7 @@ import com.lambda.config.Setting import com.lambda.config.settings.NumericSetting import com.lambda.gui.dsl.ImGuiBuilder import com.lambda.util.extension.CommandBuilder +import com.lambda.util.math.MathUtils.roundToStep import net.minecraft.command.CommandRegistryAccess import kotlin.math.roundToInt @@ -46,7 +47,9 @@ class DoubleSetting( private var valueIndex: Int get() = ((value - range.start) / step).roundToInt() set(index) { - value = (range.start + index * step).coerceIn(range) + value = (range.start + index * step) + .roundToStep(step) + .coerceIn(range) } context(setting: Setting<*, Double>) diff --git a/src/main/kotlin/com/lambda/config/settings/numeric/FloatSetting.kt b/src/main/kotlin/com/lambda/config/settings/numeric/FloatSetting.kt index 469655a71..fc801ea1f 100644 --- a/src/main/kotlin/com/lambda/config/settings/numeric/FloatSetting.kt +++ b/src/main/kotlin/com/lambda/config/settings/numeric/FloatSetting.kt @@ -25,6 +25,7 @@ import com.lambda.config.Setting import com.lambda.config.settings.NumericSetting import com.lambda.gui.dsl.ImGuiBuilder import com.lambda.util.extension.CommandBuilder +import com.lambda.util.math.MathUtils.roundToStep import net.minecraft.command.CommandRegistryAccess import kotlin.math.roundToInt @@ -45,7 +46,9 @@ class FloatSetting( private var valueIndex: Int get() = ((value - range.start) / step).roundToInt() set(index) { - value = (range.start + index * step).coerceIn(range) + value = (range.start + index * step) + .roundToStep(step) + .coerceIn(range) } context(setting: Setting<*, Float>)