Advertisement
Mp0wersDev

Minecraft Utilities 1.0 (lib/minecraftUtils.js)

Nov 17th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Minecraft Utilities By Mp0wers
  2. // License: MIT
  3. // Version: 1.0
  4. //
  5. // Special thanks to developers of LiquidBounce and WurstClient.
  6.  
  7. var EnumFacing = Java.type("net.minecraft.util.EnumFacing");
  8. var Vec3 = Java.type("net.minecraft.util.Vec3");
  9.  
  10. function getCenterOfBlockSide(blockPosIn, sideIn) {
  11.     var posVec = new Vec3(blockPosIn).addVector(0.5, 0.5, 0.5);
  12.     var dirVec = new Vec3(sideIn.getDirectionVec());
  13.     var resultVec = posVec.addVector(dirVec.xCoord * 0.5, dirVec.yCoord * 0.5, dirVec.zCoord * 0.5);
  14.     return resultVec;
  15. };
  16.  
  17. function isBlockInReach(entityIn, blockPosIn) {
  18.     var reachDistance = mc.playerController.getBlockReachDistance() + 0.25;
  19.     var eyesPos = entityIn.getPositionEyes(1.0);
  20.     var closestSide = getClosestBlockSide(eyesPos, blockPosIn);
  21.     var closestSideCenter = getCenterOfBlockSide(blockPosIn, closestSide);
  22.     if (eyesPos.distanceTo(closestSideCenter) <= reachDistance) {
  23.         return true;
  24.     };
  25.     return false;
  26. };
  27.  
  28. function getClosestBlockSide(vectorIn, blockPosIn) {
  29.     var blockSide, blockSideCenter, distanceToBlockSide, closestSide;
  30.     var lowestDistance = null;
  31.     var i;
  32.     for (i in EnumFacing.values()) {
  33.         blockSide = EnumFacing.values()[i];
  34.         blockSideCenter = getCenterOfBlockSide(blockPosIn, blockSide);
  35.         distanceToBlockSide = vectorIn.distanceTo(blockSideCenter);
  36.         if (lowestDistance == null || distanceToBlockSide < lowestDistance) {
  37.             lowestDistance = distanceToBlockSide;
  38.             closestSide = blockSide;
  39.         };
  40.     };
  41.     return closestSide;
  42. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement