Вопрос GetMouseOver

Начинающий
Статус
Оффлайн
Регистрация
17 Дек 2024
Сообщения
44
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

есть ли у кого нибудь getMouseOver для forge 1.16.5? типа этого public static Entity getMouseOver(Entity target,
float yaw,
float pitch,
double distance) {
 
Начинающий
Статус
Оффлайн
Регистрация
17 Фев 2024
Сообщения
144
Реакции[?]
1
Поинты[?]
1K
с тебя рот
Java:
import com.sun.istack.internal.NotNull;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.projectile.ProjectileHelper;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;

public class RayTraceUtil {

    private static final Minecraft mc = Minecraft.getInstance();
    public static Entity getMouseOver(Entity target,
                               float yaw,
                               float pitch,
                               double distance) {
        RayTraceResult result = rayTrace(distance, yaw, pitch);
        Vector3d startPoint = mc.player.getPosition(1).add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);
        double distancePow2 = Math.pow(distance, 2);

        if (result != null)
            distancePow2 = startPoint.distanceToSqr(result.getLocation());

        Vector3d rotationVector = getRotationVector(pitch, yaw).multiply(distance, distance, distance);
        Vector3d endPoint = startPoint.add(rotationVector);

        AxisAlignedBB entityArea = mc.player.getBoundingBox().expandTowards(rotationVector).inflate(1.0, 1.0, 1.0);

        EntityRayTraceResult ehr;

        double maxDistance = Math.max(distancePow2, Math.pow(distance, 2));


        ehr = ProjectileHelper.getEntityHitResult(mc.player, startPoint, endPoint, entityArea, e -> e==target, maxDistance);

        if (ehr != null) {
            return ehr.getEntity();
        }
        return null;
    }
    private static @NotNull Vector3d getRotationVector(float yaw, float pitch) {
        return new Vector3d(MathHelper.sin(-pitch * 0.017453292F) * MathHelper.cos(yaw * 0.017453292F), -MathHelper.sin(yaw * 0.017453292F), MathHelper.cos(-pitch * 0.017453292F) * MathHelper.cos(yaw * 0.017453292F));
    }
    public static RayTraceResult rayTrace(double dst, float yaw, float pitch) {
        Vector3d vec3d = mc.player.getEyePosition(1f);
        Vector3d vec3d2 = getRotationVector(yaw, pitch);
        Vector3d vec3d3 = vec3d.add(vec3d2.x * dst, vec3d2.y * dst, vec3d2.z * dst);
        return mc.level.clip(new RayTraceContext(vec3d, vec3d3, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, mc.player));
    }
}
маппинги моджонга вроде, открыл рандом проект на фордже поэтому хз
 
Начинающий
Статус
Оффлайн
Регистрация
18 Авг 2023
Сообщения
424
Реакции[?]
1
Поинты[?]
2K
с тебя рот
Java:
import com.sun.istack.internal.NotNull;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.projectile.ProjectileHelper;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;

public class RayTraceUtil {

    private static final Minecraft mc = Minecraft.getInstance();
    public static Entity getMouseOver(Entity target,
                               float yaw,
                               float pitch,
                               double distance) {
        RayTraceResult result = rayTrace(distance, yaw, pitch);
        Vector3d startPoint = mc.player.getPosition(1).add(0, mc.player.getEyeHeight(mc.player.getPose()), 0);
        double distancePow2 = Math.pow(distance, 2);

        if (result != null)
            distancePow2 = startPoint.distanceToSqr(result.getLocation());

        Vector3d rotationVector = getRotationVector(pitch, yaw).multiply(distance, distance, distance);
        Vector3d endPoint = startPoint.add(rotationVector);

        AxisAlignedBB entityArea = mc.player.getBoundingBox().expandTowards(rotationVector).inflate(1.0, 1.0, 1.0);

        EntityRayTraceResult ehr;

        double maxDistance = Math.max(distancePow2, Math.pow(distance, 2));


        ehr = ProjectileHelper.getEntityHitResult(mc.player, startPoint, endPoint, entityArea, e -> e==target, maxDistance);

        if (ehr != null) {
            return ehr.getEntity();
        }
        return null;
    }
    private static @NotNull Vector3d getRotationVector(float yaw, float pitch) {
        return new Vector3d(MathHelper.sin(-pitch * 0.017453292F) * MathHelper.cos(yaw * 0.017453292F), -MathHelper.sin(yaw * 0.017453292F), MathHelper.cos(-pitch * 0.017453292F) * MathHelper.cos(yaw * 0.017453292F));
    }
    public static RayTraceResult rayTrace(double dst, float yaw, float pitch) {
        Vector3d vec3d = mc.player.getEyePosition(1f);
        Vector3d vec3d2 = getRotationVector(yaw, pitch);
        Vector3d vec3d3 = vec3d.add(vec3d2.x * dst, vec3d2.y * dst, vec3d2.z * dst);
        return mc.level.clip(new RayTraceContext(vec3d, vec3d3, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, mc.player));
    }
}
маппинги моджонга вроде, открыл рандом проект на фордже поэтому хз
можо маппинги
 
Сверху Снизу