Advertisement
Corosus

Untitled

Dec 2nd, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. public void spin(Entity parEnt, Vec3 center) {
  2. Vec3 relPosY = Vec3.createVectorHelper(center.xCoord - parEnt.posX, 0, center.zCoord - parEnt.posZ);
  3. Vec3 relPosX = Vec3.createVectorHelper(0, center.yCoord - parEnt.posY, center.zCoord - parEnt.posZ);
  4. Vec3 relPosZ = Vec3.createVectorHelper(center.xCoord - parEnt.posX, center.yCoord - parEnt.posY, 0);
  5.  
  6. float speed = 0.03F;
  7.  
  8. float range = 40F;
  9. float adjuster = 5F;//((parEnt.entityId % 50) * 0.2D) + (Math.sin((worldObj.getWorldTime() % 500) * 0.01745329F) * range);
  10.  
  11. //System.out.println("adjuster: " + adjuster);
  12.  
  13. float yaw = -20F+(float) (((parEnt.entityId % 100) * 0.2D) + (Math.sin((worldObj.getWorldTime() % 600) * 0.01745329F) * range));//30F;//range + (float) (Math.sin((worldObj.getWorldTime() % 600) * 0.01745329F) * range);
  14. float pitch = -20F+(float) (((parEnt.entityId % 100) * 0.2D) + (Math.sin((200+worldObj.getWorldTime() % 600) * 0.01745329F) * range));//range + (float) (Math.sin((200+worldObj.getWorldTime() % 600) * 0.01745329F) * range);
  15. float roll = -20F+(float) (((parEnt.entityId % 100) * 0.2D) + (Math.sin((400+worldObj.getWorldTime() % 600) * 0.01745329F) * range));//range + (float) (Math.sin((400+worldObj.getWorldTime() % 600) * 0.01745329F) * range);
  16.  
  17. relPosY.rotateAroundY((yaw/* + (float)adjuster*/) * 0.01745329F);
  18.  
  19. relPosX.rotateAroundX((pitch) * 0.01745329F);
  20. relPosZ.rotateAroundZ((roll) * 0.01745329F);
  21. //relPos.rotateAroundZ((15F) * 0.01745329F);
  22.  
  23. //Vec3 relPosFinal = relPosX.subtract(relPosY);
  24.  
  25. parEnt.motionX += relPosX.xCoord / relPosX.lengthVector() * speed;
  26. parEnt.motionY += relPosX.yCoord / relPosX.lengthVector() * speed;
  27. parEnt.motionZ += relPosX.zCoord / relPosX.lengthVector() * speed;
  28.  
  29. parEnt.motionX += relPosZ.xCoord / relPosZ.lengthVector() * speed;
  30. parEnt.motionY += relPosZ.yCoord / relPosZ.lengthVector() * speed;
  31. parEnt.motionZ += relPosZ.zCoord / relPosZ.lengthVector() * speed;
  32.  
  33. parEnt.motionX += relPosY.xCoord / relPosY.lengthVector() * speed;
  34. parEnt.motionY += relPosY.yCoord / relPosY.lengthVector() * speed;
  35. parEnt.motionZ += relPosY.zCoord / relPosY.lengthVector() * speed;
  36.  
  37.  
  38. if (parEnt.onGround) parEnt.motionY += 1F;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement