blob: 8516364efd64cef04ad19ab51c65f29e952edd6c [file] [log] [blame] [raw]
package com.legacy.aether.player.movement;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import com.legacy.aether.api.player.IPlayerAether;
public class AetherLiquidMovement {
private IPlayerAether player;
public AetherLiquidMovement(IPlayerAether player) {
this.player = player;
}
public void onUpdate() {
Entity entity = this.player.getEntity();
if (entity instanceof EntityLivingBase) {
EntityLivingBase entityLiving = (EntityLivingBase) entity;
float movementLR = this.negativeDifference(entityLiving, entityLiving.moveStrafing);
float movementFB = this.negativeDifference(entityLiving, entityLiving.moveForward);
if (entityLiving.isInWater()) {
entityLiving.moveFlying(movementLR, movementFB, 0.03F);
}
if (entityLiving.handleLavaMovement()) {
entityLiving.moveFlying(movementLR, movementFB, 0.06F);
}
}
}
public float negativeDifference(EntityLivingBase entity, float number) {
if (number < 0.0F) {
return number + 0.1F;
} else if (number > 0.0F) {
return number - 0.1F;
} else {
return 0.0F;
}
}
}