Вопрос Как перенести TpInfluence

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Янв 2024
Сообщения
58
Реакции
1
Как перенести
TpInfluence из EvaWare на ThunderHack 1.21

Мне чат гпт накинул код для инфлюенца но он не ворк


Java:
Expand Collapse Copy
package thunder.hack.features.modules.combat;

import meteordevelopment.orbit.EventHandler;
import thunder.hack.events.impl.PlayerUpdateEvent;
import thunder.hack.events.impl.PlayerUpdateEvent;
import thunder.hack.features.modules.Module;
import thunder.hack.setting.Setting;
import thunder.hack.utility.render.Render3DEngine;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;

import java.awt.*;

public class TpInfluence extends Module {
    public TpInfluence() {
        super("TpInfluence", Category.COMBAT);
    }

    private final Setting<Mode> mode = new Setting<>("Mode", Mode.VanillaH);
    private final Setting<Float> range = new Setting<>("Range", 15f, 10f, 100f);
    private final Setting<Boolean> render = new Setting<>("Render", true);
    private final Setting<Boolean> autoDisable = new Setting<>("AutoDisable", true);

    private Vec3d lastHandledPos = Vec3d.ZERO;
    private boolean hasAttacked = false;

    public enum Mode {
        VanillaH, VanillaV, VanillaHG, VanillaVH,
        StepV, StepH, StepVH, StepVG, StepHG
    }

    @Override
    public void onEnable() {
        lastHandledPos = Vec3d.ZERO;
        hasAttacked = false;
    }

    @EventHandler
    public void onUpdate(PlayerUpdateEvent event) {
        if (hasAttacked && autoDisable.getValue()) {
            disable();
            return;
        }
    }

    // Вызывается из KillAura перед атакой
    public void onPreAttack(LivingEntity target) {
        if (!isEnabled() || mc.player == null || mc.world == null) return;

        Vec3d targetPos = calculateTargetPosition(target, range.getValue());
        if (targetPos == null) return;

        teleportAction(true, targetPos, mode.getValue());
    }

    // Вызывается из KillAura после атаки
    public void onPostAttack(LivingEntity target) {
        if (!isEnabled() || mc.player == null || mc.world == null) return;

        Vec3d targetPos = calculateTargetPosition(target, range.getValue());
        if (targetPos == null) return;

        teleportAction(false, targetPos, mode.getValue());
        hasAttacked = true;
    }

    private void teleportAction(boolean pre, Vec3d to, Mode actionType) {
        Vec3d self = mc.player.getPos();
        double dx = Math.abs(self.x - to.x);
        double dy = Math.abs(self.y - to.y);
        double dz = Math.abs(self.z - to.z);
        boolean onGround = mc.player.isOnGround();

        if (pre) {
            switch (actionType) {
                case StepVH -> {
                    double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
                    int packets = (int) (distance / 9.64) + 1;
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    if (onGround) {
                        sendPacket(to.x, to.y + 0.08, to.z);
                    }
                    sendPacket(to.x, to.y + 0.01, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.01, to.z);
                }
                case StepV -> {
                    double verticalDist = dy;
                    int packets = 1 + (int) (verticalDist / 9.73);
                    if (onGround) {
                        sendPacket(to.x, self.y + 0.08, to.z);
                    }
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(self.x, to.y + 0.01, self.z);
                    lastHandledPos = new Vec3d(self.x, to.y + 0.01, self.z);
                }
                case StepH -> {
                    double horizontalDist = Math.sqrt(dx * dx + dz * dz);
                    int packets = (int) (horizontalDist / 8.953) + (onGround ? 1 : 0);
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(to.x, self.y, to.z);
                    lastHandledPos = new Vec3d(to.x, self.y, to.z);
                }
                case VanillaH -> {
                    sendPacket(false);
                    sendPacket(to.x, self.y, to.z);
                    lastHandledPos = new Vec3d(to.x, self.y, to.z);
                }
                case VanillaV -> {
                    sendPacket(self.x, to.y, self.z);
                    lastHandledPos = new Vec3d(self.x, to.y, self.z);
                }
                case VanillaHG -> {
                    sendPacket(false);
                    sendPacket(to.x, to.y + 0.1, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.1, to.z);
                }
                case VanillaVH -> {
                    sendPacket(false);
                    sendPacket(to.x, to.y, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y, to.z);
                }
                case StepVG -> {
                    double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
                    int packets = (int) (distance / 9.64) + 1;
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(to.x, to.y + 0.01, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.01, to.z);
                }
                case StepHG -> {
                    double horizontalDist = Math.sqrt(dx * dx + dz * dz);
                    int packets = (int) (horizontalDist / 8.317) + (onGround ? 1 : 0);
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    double yOffset = self.y - (onGround ? 0.0001 * packets : 0);
                    sendPacket(to.x, yOffset, to.z);
                    lastHandledPos = new Vec3d(to.x, yOffset, to.z);
                    if (!onGround) {
                        mc.player.setPos(self.x, self.y, self.z);
                    }
                }
            }
        } else {
            // Post-attack teleport back
            switch (actionType) {
                case StepVH -> {
                    sendPacket(self.x, self.y + 0.15, self.z);
                    sendPacket(self.x, self.y, self.z);
                }
                case StepV -> {
                    sendPacket(self.x, self.y, self.z);
                    sendPacket(self.x, self.y + (onGround ? 0.1 : -1e-13), self.z);
                }
                case VanillaV -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case VanillaHG, StepVG -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case VanillaVH -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case StepHG -> {
                    sendPacket(self.x, self.y - (onGround ? 0.0002 : 0), self.z);
                }
                default -> {
                    sendPacket(self.x, self.y, self.z);
                }
            }
        }
    }

    private Vec3d calculateTargetPosition(LivingEntity target, float distance) {
        if (target == null) return null;

        Vec3d targetPos = target.getPos();
        Vec3d playerPos = mc.player.getPos();

        double currentDistance = playerPos.distanceTo(targetPos);
        if (currentDistance > distance) return null;

        Vec3d direction = targetPos.subtract(playerPos).normalize();
        return playerPos.add(direction.multiply(Math.min(distance, currentDistance - 1.5)));
    }

    private void sendPacket(double x, double y, double z) {
        if (mc.getNetworkHandler() == null) return;
        mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(x, y, z, mc.player.isOnGround()));
    }

    private void sendPacket(boolean onGround) {
        if (mc.getNetworkHandler() == null) return;
        mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY(), mc.player.getZ(), onGround));
    }

    // Визуализация с использованием системы рендера ThunderHack
    public void onRender3D(net.minecraft.client.util.math.MatrixStack stack) {
        if (!render.getValue() || lastHandledPos.equals(Vec3d.ZERO)) return;

        float halfWidth = mc.player.getWidth() / 2;
        Box renderBox = new Box(
                lastHandledPos.x - halfWidth, lastHandledPos.y, lastHandledPos.z - halfWidth,
                lastHandledPos.x + halfWidth, lastHandledPos.y + mc.player.getHeight(), lastHandledPos.z + halfWidth
        );

        Render3DEngine.drawBoxOutline(renderBox, Color.RED, 2f);
    }

    @Override
    public void onDisable() {
        lastHandledPos = Vec3d.ZERO;
        hasAttacked = false;
    }

    @Override
    public String getDisplayInfo() {
        return mode.getValue().name();
    }
}
 
Как перенести
TpInfluence из EvaWare на ThunderHack 1.21

Мне чат гпт накинул код для инфлюенца но он не ворк


Java:
Expand Collapse Copy
package thunder.hack.features.modules.combat;

import meteordevelopment.orbit.EventHandler;
import thunder.hack.events.impl.PlayerUpdateEvent;
import thunder.hack.events.impl.PlayerUpdateEvent;
import thunder.hack.features.modules.Module;
import thunder.hack.setting.Setting;
import thunder.hack.utility.render.Render3DEngine;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;

import java.awt.*;

public class TpInfluence extends Module {
    public TpInfluence() {
        super("TpInfluence", Category.COMBAT);
    }

    private final Setting<Mode> mode = new Setting<>("Mode", Mode.VanillaH);
    private final Setting<Float> range = new Setting<>("Range", 15f, 10f, 100f);
    private final Setting<Boolean> render = new Setting<>("Render", true);
    private final Setting<Boolean> autoDisable = new Setting<>("AutoDisable", true);

    private Vec3d lastHandledPos = Vec3d.ZERO;
    private boolean hasAttacked = false;

    public enum Mode {
        VanillaH, VanillaV, VanillaHG, VanillaVH,
        StepV, StepH, StepVH, StepVG, StepHG
    }

    @Override
    public void onEnable() {
        lastHandledPos = Vec3d.ZERO;
        hasAttacked = false;
    }

    @EventHandler
    public void onUpdate(PlayerUpdateEvent event) {
        if (hasAttacked && autoDisable.getValue()) {
            disable();
            return;
        }
    }

    // Вызывается из KillAura перед атакой
    public void onPreAttack(LivingEntity target) {
        if (!isEnabled() || mc.player == null || mc.world == null) return;

        Vec3d targetPos = calculateTargetPosition(target, range.getValue());
        if (targetPos == null) return;

        teleportAction(true, targetPos, mode.getValue());
    }

    // Вызывается из KillAura после атаки
    public void onPostAttack(LivingEntity target) {
        if (!isEnabled() || mc.player == null || mc.world == null) return;

        Vec3d targetPos = calculateTargetPosition(target, range.getValue());
        if (targetPos == null) return;

        teleportAction(false, targetPos, mode.getValue());
        hasAttacked = true;
    }

    private void teleportAction(boolean pre, Vec3d to, Mode actionType) {
        Vec3d self = mc.player.getPos();
        double dx = Math.abs(self.x - to.x);
        double dy = Math.abs(self.y - to.y);
        double dz = Math.abs(self.z - to.z);
        boolean onGround = mc.player.isOnGround();

        if (pre) {
            switch (actionType) {
                case StepVH -> {
                    double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
                    int packets = (int) (distance / 9.64) + 1;
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    if (onGround) {
                        sendPacket(to.x, to.y + 0.08, to.z);
                    }
                    sendPacket(to.x, to.y + 0.01, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.01, to.z);
                }
                case StepV -> {
                    double verticalDist = dy;
                    int packets = 1 + (int) (verticalDist / 9.73);
                    if (onGround) {
                        sendPacket(to.x, self.y + 0.08, to.z);
                    }
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(self.x, to.y + 0.01, self.z);
                    lastHandledPos = new Vec3d(self.x, to.y + 0.01, self.z);
                }
                case StepH -> {
                    double horizontalDist = Math.sqrt(dx * dx + dz * dz);
                    int packets = (int) (horizontalDist / 8.953) + (onGround ? 1 : 0);
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(to.x, self.y, to.z);
                    lastHandledPos = new Vec3d(to.x, self.y, to.z);
                }
                case VanillaH -> {
                    sendPacket(false);
                    sendPacket(to.x, self.y, to.z);
                    lastHandledPos = new Vec3d(to.x, self.y, to.z);
                }
                case VanillaV -> {
                    sendPacket(self.x, to.y, self.z);
                    lastHandledPos = new Vec3d(self.x, to.y, self.z);
                }
                case VanillaHG -> {
                    sendPacket(false);
                    sendPacket(to.x, to.y + 0.1, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.1, to.z);
                }
                case VanillaVH -> {
                    sendPacket(false);
                    sendPacket(to.x, to.y, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y, to.z);
                }
                case StepVG -> {
                    double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
                    int packets = (int) (distance / 9.64) + 1;
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    sendPacket(to.x, to.y + 0.01, to.z);
                    lastHandledPos = new Vec3d(to.x, to.y + 0.01, to.z);
                }
                case StepHG -> {
                    double horizontalDist = Math.sqrt(dx * dx + dz * dz);
                    int packets = (int) (horizontalDist / 8.317) + (onGround ? 1 : 0);
                    for (int i = 0; i < packets; i++) {
                        sendPacket(false);
                    }
                    double yOffset = self.y - (onGround ? 0.0001 * packets : 0);
                    sendPacket(to.x, yOffset, to.z);
                    lastHandledPos = new Vec3d(to.x, yOffset, to.z);
                    if (!onGround) {
                        mc.player.setPos(self.x, self.y, self.z);
                    }
                }
            }
        } else {
            // Post-attack teleport back
            switch (actionType) {
                case StepVH -> {
                    sendPacket(self.x, self.y + 0.15, self.z);
                    sendPacket(self.x, self.y, self.z);
                }
                case StepV -> {
                    sendPacket(self.x, self.y, self.z);
                    sendPacket(self.x, self.y + (onGround ? 0.1 : -1e-13), self.z);
                }
                case VanillaV -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case VanillaHG, StepVG -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case VanillaVH -> {
                    sendPacket(self.x, self.y + 0.0016, self.z);
                }
                case StepHG -> {
                    sendPacket(self.x, self.y - (onGround ? 0.0002 : 0), self.z);
                }
                default -> {
                    sendPacket(self.x, self.y, self.z);
                }
            }
        }
    }

    private Vec3d calculateTargetPosition(LivingEntity target, float distance) {
        if (target == null) return null;

        Vec3d targetPos = target.getPos();
        Vec3d playerPos = mc.player.getPos();

        double currentDistance = playerPos.distanceTo(targetPos);
        if (currentDistance > distance) return null;

        Vec3d direction = targetPos.subtract(playerPos).normalize();
        return playerPos.add(direction.multiply(Math.min(distance, currentDistance - 1.5)));
    }

    private void sendPacket(double x, double y, double z) {
        if (mc.getNetworkHandler() == null) return;
        mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(x, y, z, mc.player.isOnGround()));
    }

    private void sendPacket(boolean onGround) {
        if (mc.getNetworkHandler() == null) return;
        mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY(), mc.player.getZ(), onGround));
    }

    // Визуализация с использованием системы рендера ThunderHack
    public void onRender3D(net.minecraft.client.util.math.MatrixStack stack) {
        if (!render.getValue() || lastHandledPos.equals(Vec3d.ZERO)) return;

        float halfWidth = mc.player.getWidth() / 2;
        Box renderBox = new Box(
                lastHandledPos.x - halfWidth, lastHandledPos.y, lastHandledPos.z - halfWidth,
                lastHandledPos.x + halfWidth, lastHandledPos.y + mc.player.getHeight(), lastHandledPos.z + halfWidth
        );

        Render3DEngine.drawBoxOutline(renderBox, Color.RED, 2f);
    }

    @Override
    public void onDisable() {
        lastHandledPos = Vec3d.ZERO;
        hasAttacked = false;
    }

    @Override
    public String getDisplayInfo() {
        return mode.getValue().name();
    }
}
а че оно делает
 
быпаыбпвбвыпабыпбыпабы
 
Последнее редактирование:
Назад
Сверху Снизу