Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Minecraft Utilities By Mp0wers
- // License: MIT
- // Version: 1.0
- //
- // Special thanks to developers of LiquidBounce and WurstClient.
- var EnumFacing = Java.type("net.minecraft.util.EnumFacing");
- var Vec3 = Java.type("net.minecraft.util.Vec3");
- function getCenterOfBlockSide(blockPosIn, sideIn) {
- var posVec = new Vec3(blockPosIn).addVector(0.5, 0.5, 0.5);
- var dirVec = new Vec3(sideIn.getDirectionVec());
- var resultVec = posVec.addVector(dirVec.xCoord * 0.5, dirVec.yCoord * 0.5, dirVec.zCoord * 0.5);
- return resultVec;
- };
- function isBlockInReach(entityIn, blockPosIn) {
- var reachDistance = mc.playerController.getBlockReachDistance() + 0.25;
- var eyesPos = entityIn.getPositionEyes(1.0);
- var closestSide = getClosestBlockSide(eyesPos, blockPosIn);
- var closestSideCenter = getCenterOfBlockSide(blockPosIn, closestSide);
- if (eyesPos.distanceTo(closestSideCenter) <= reachDistance) {
- return true;
- };
- return false;
- };
- function getClosestBlockSide(vectorIn, blockPosIn) {
- var blockSide, blockSideCenter, distanceToBlockSide, closestSide;
- var lowestDistance = null;
- var i;
- for (i in EnumFacing.values()) {
- blockSide = EnumFacing.values()[i];
- blockSideCenter = getCenterOfBlockSide(blockPosIn, blockSide);
- distanceToBlockSide = vectorIn.distanceTo(blockSideCenter);
- if (lowestDistance == null || distanceToBlockSide < lowestDistance) {
- lowestDistance = distanceToBlockSide;
- closestSide = blockSide;
- };
- };
- return closestSide;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement