27 lines
		
	
	
	
		
			626 B
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			626 B
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.util;
 | |
| 
 | |
| public class SmoothDouble {
 | |
| 	private double targetValue;
 | |
| 	private double remainingValue;
 | |
| 	private double lastAmount;
 | |
| 
 | |
| 	public double getNewDeltaValue(double input, double multiplier) {
 | |
| 		this.targetValue += input;
 | |
| 		double d = this.targetValue - this.remainingValue;
 | |
| 		double e = Mth.lerp(0.5, this.lastAmount, d);
 | |
| 		double f = Math.signum(d);
 | |
| 		if (f * d > f * this.lastAmount) {
 | |
| 			d = e;
 | |
| 		}
 | |
| 
 | |
| 		this.lastAmount = e;
 | |
| 		this.remainingValue += d * multiplier;
 | |
| 		return d * multiplier;
 | |
| 	}
 | |
| 
 | |
| 	public void reset() {
 | |
| 		this.targetValue = 0.0;
 | |
| 		this.remainingValue = 0.0;
 | |
| 		this.lastAmount = 0.0;
 | |
| 	}
 | |
| }
 |