Advertisement
Guest User

Untitled

a guest
Dec 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. /*
  2. * Decompiled with CFR 0_132.
  3. *
  4. * Could not load the following classes:
  5. * net.minecraft.server.v1_8_R3.AxisAlignedBB
  6. * net.minecraft.server.v1_8_R3.Entity
  7. * net.minecraft.server.v1_8_R3.EntityPlayer
  8. * net.minecraft.server.v1_8_R3.Packet
  9. * net.minecraft.server.v1_8_R3.PacketPlayInUseEntity
  10. * net.minecraft.server.v1_8_R3.PacketPlayInUseEntity$EnumEntityUseAction
  11. * net.minecraft.server.v1_8_R3.World
  12. * org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity
  13. * org.bukkit.entity.Player
  14. */
  15. package pro.clyde.lancer.check.impl.reach;
  16.  
  17. import net.minecraft.server.v1_8_R3.AxisAlignedBB;
  18. import net.minecraft.server.v1_8_R3.Entity;
  19. import net.minecraft.server.v1_8_R3.EntityPlayer;
  20. import net.minecraft.server.v1_8_R3.Packet;
  21. import net.minecraft.server.v1_8_R3.PacketPlayInUseEntity;
  22. import net.minecraft.server.v1_8_R3.World;
  23. import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
  24. import org.bukkit.entity.Player;
  25. import pro.clyde.lancer.LancerPlugin;
  26. import pro.clyde.lancer.check.checks.PacketCheck;
  27. import pro.clyde.lancer.data.PlayerData;
  28. import pro.clyde.lancer.location.PlayerLocation;
  29. import pro.clyde.lancer.util.nms.NmsUtil;
  30.  
  31. public class ReachA
  32. extends PacketCheck {
  33. private LancerPlugin plugin;
  34. private int vl;
  35.  
  36. public ReachA(LancerPlugin plugin, PlayerData playerData) {
  37. super(plugin, playerData, "Reach\u00a77[\u00a7cA\u00a77]");
  38. this.plugin = plugin;
  39. }
  40.  
  41. @Override
  42. public void run(Player player, Packet packet) {
  43. if (packet instanceof PacketPlayInUseEntity && ((PacketPlayInUseEntity)packet).a() == PacketPlayInUseEntity.EnumEntityUseAction.ATTACK) {
  44. EntityPlayer entityPlayer = NmsUtil.getNmsPlayer(player);
  45. Entity entity = ((PacketPlayInUseEntity)packet).a(entityPlayer.world);
  46. CraftEntity bukkitEntity = entity.getBukkitEntity();
  47. if (bukkitEntity instanceof Player) {
  48. Player target = (Player)bukkitEntity;
  49. PlayerData targetData = this.plugin.getData(target);
  50. long playerLag = System.currentTimeMillis() - this.playerData.getLastLocation().getTimestamp();
  51. long targetLag = System.currentTimeMillis() - targetData.getLastLocation().getTimestamp();
  52. if (playerLag >= 60L || targetLag >= 60L) {
  53. return;
  54. }
  55. EntityPlayer targetPlayer = NmsUtil.getNmsPlayer(target);
  56. double playerBBX = entityPlayer.getBoundingBox().d;
  57. double playerBBZ = entityPlayer.getBoundingBox().f;
  58. double targetBBX = targetPlayer.getBoundingBox().a;
  59. double targetBBZ = targetPlayer.getBoundingBox().c;
  60. double kbxz = Math.hypot(targetData.getVelocityX(), targetData.getVelocityZ());
  61. double d = this.getDistanceFromHitBox(this.playerData.getLastLocation().getX(), this.playerData.getLastLocation().getZ(), targetData.getLastLocation().getX(), targetData.getLastLocation().getZ());
  62. }
  63. }
  64. }
  65.  
  66. private double getDistanceFromHitBox(double localx, double localz, double otherX, double otherZ) {
  67. double distX = Math.min(Math.pow(localx - otherX - 0.4, 2.0), Math.pow(localx - otherX + 0.4, 2.0));
  68. double distZ = Math.min(Math.pow(localz - otherZ - 0.4, 2.0), Math.pow(localz - otherZ + 0.4, 2.0));
  69. return Math.sqrt(distX + distZ);
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement