Advertisement
Guest User

Untitled

a guest
Jul 17th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.13 KB | None | 0 0
  1. package pw.bowser.hysteria.module.internal.hacks.world.fly
  2.  
  3. import java.lang.Math.{pow, sin, cos, PI}
  4. import net.minecraft.util.MathHelper.sqrt_double
  5.  
  6. /**
  7.  * Date: 2/27/14
  8.  * Time: 10:00 PM
  9.  */
  10. object Fly3D extends FlyMode {
  11.  
  12.   def computeModifiers(pitch: Double, yaw: Double, mvStrafe: Float, mvForward: Float, motionX: Double, motionY: Double, motionZ: Double, wedge: Double): (Double, Double, Double) = {
  13.  
  14.     var coMove =
  15.       sqrt_double(pow(mvStrafe, 2) + pow(mvForward, 2))
  16.  
  17.     if (coMove < 0.01F) {
  18.       return (0, motionY, 0)
  19.     } else if (coMove < 1F) coMove = 1F
  20.  
  21.     coMove = 1F / coMove // 1
  22.  
  23.     val strafe = coMove * mvStrafe
  24.     val forward = coMove * mvForward
  25.  
  26.     val modX = sin((yaw * PI).toFloat / 180F)
  27.     val modZ = cos((yaw * PI).toFloat / 180F)
  28.  
  29.     val modYX = sin((pitch * PI).toFloat / 180F)
  30.     val modYY = cos((pitch * PI).toFloat / 180F)
  31.  
  32.     val coForward =
  33.       if (mvForward > 0) -1 else if (mvForward < 0) 1 else 0
  34.  
  35.     ((strafe * modZ - forward * modX * modYY) * wedge,
  36.       motionY + coForward * modYX * wedge,
  37.      (forward * modZ * modYY + strafe * modX) * wedge)
  38.   }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement