Guest User

Untitled

a guest
Jul 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. package net.pl3x.bukkit.dolphinride;
  2.  
  3. import net.minecraft.server.v1_13_R1.Entity;
  4. import net.minecraft.server.v1_13_R1.EntityDolphin;
  5. import net.minecraft.server.v1_13_R1.EntityPlayer;
  6. import net.minecraft.server.v1_13_R1.EnumMoveType;
  7. import net.minecraft.server.v1_13_R1.World;
  8.  
  9. public class RidableDolphin extends EntityDolphin {
  10. private int bounceCounter = 0;
  11. private boolean bounceUp = false;
  12.  
  13. public RidableDolphin(World world) {
  14. super(world);
  15. System.out.println("New Ridable Dolphin Spawned");
  16. this.di(); // set persistence true
  17. this.persistent = true;
  18. }
  19.  
  20. protected boolean isTypeNotPersistent() {
  21. return false;
  22. }
  23.  
  24. @Override
  25. public void a(float f, float f1, float f2) {
  26. bounceCounter++;
  27. if (bounceCounter > 10) {
  28. bounceCounter = 0;
  29. bounceUp = !bounceUp;
  30. }
  31.  
  32. EntityPlayer rider = getRider();
  33. if (rider != null) {
  34. setYawPitch(lastYaw = yaw = rider.yaw, pitch = (rider.pitch * 0.5F));
  35. aQ = yaw; // renderYawOffset
  36. aS = aQ; // rotationYawHead
  37.  
  38. if (isInWater()) {
  39. float forward = rider.bj; // forward motion
  40. float vertical = f1; // vertical motion
  41. if (forward <= 0.0F) {
  42. forward *= 0.25F; // slow down reverse motion
  43. vertical = -vertical;
  44. }
  45. if (forward == 0F) {
  46. vertical = 0F;
  47. }
  48. this.a(0, vertical * 2, forward, this.cJ() * 5);
  49. this.move(EnumMoveType.PLAYER, this.motX / 2, this.motY, this.motZ / 2);
  50. this.motY *= 0.8999999761581421D;
  51. this.motX *= 0.8999999761581421D;
  52. this.motZ *= 0.8999999761581421D;
  53. motY -= forward == 0 ? bounceUp ? 0.01D : 0.00D : 0.005D;
  54. return;
  55. }
  56. }
  57. super.a(f, f1, f2);
  58. }
  59.  
  60. public EntityPlayer getRider() {
  61. if (passengers != null && !passengers.isEmpty()) {
  62. Entity entity = passengers.get(0);
  63. if (entity instanceof EntityPlayer) {
  64. return (EntityPlayer) entity;
  65. }
  66. }
  67. return null;
  68. }
  69. }
Add Comment
Please, Sign In to add comment