Slyde/src/main/java/io/gitlab/jfronny/slyde/mixin/SliderWidgetMixin.java

32 lines
830 B
Java

package io.gitlab.jfronny.slyde.mixin;
import io.gitlab.jfronny.slyde.SlydeClient;
import net.minecraft.client.gui.widget.SliderWidget;
import net.minecraft.util.math.MathHelper;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin(SliderWidget.class)
public abstract class SliderWidgetMixin {
@Shadow protected double value;
@Shadow protected abstract void applyValue();
@Shadow protected abstract void updateMessage();
/**
* @author JFronny
*/
@Overwrite
private void setValue(double mouseX) {
double d = value;
value = SlydeClient.isActive() ? mouseX : MathHelper.clamp(mouseX, 0.0D, 1.0D);
if (d != value) {
applyValue();
}
updateMessage();
}
}