Начинающий
- Статус
- Оффлайн
- Регистрация
- 22 Июл 2025
- Сообщения
- 13
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
Пожалуйста, авторизуйтесь для просмотра ссылки.
Сорри за говно сс сыграл всего одну дуельку
Java:
package ru.slonickdlc.util.rotation.angle;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import ru.slonickdlc.manager.Manager;
import ru.slonickdlc.modules.combat.AttackAura;
import ru.slonickdlc.util.rotation.Angle;
import ru.slonickdlc.util.rotation.AngleUtil;
import java.security.SecureRandom;
public class GovnoWorld extends AngleMode {
private static final MinecraftClient mc = MinecraftClient.getInstance();
private final SecureRandom secureRandom = new SecureRandom();
private float lastJitterYaw = 0;
private float lastJitterPitch = 0;
public GovnoWorld() {
super("GovnoWorld");
}
@Override
public Angle limitAngleChange(Angle currentAngle, Angle targetAngle, Vec3d vec3d, Entity entity) {
if (mc.player == null) return currentAngle;
if (entity == null) {
return new Angle(mc.player.getYaw(), mc.player.getPitch());
}
AttackAura aura = Manager.FUNCTION_MANAGER.attackAura;
Angle angleDelta = AngleUtil.calculateDelta(currentAngle, targetAngle);
float yawDelta = angleDelta.getYaw();
float pitchDelta = angleDelta.getPitch();
float rotationDifference = (float) Math.hypot(Math.abs(yawDelta), Math.abs(pitchDelta));
if (rotationDifference == 0) {
return targetAngle;
}
boolean smartCrits = aura.onlySpaceCritical.get();
boolean canAttack = aura.canAttackNow(entity, smartCrits);
float distanceToTarget = (float) mc.player.distanceTo(entity);
float baseSpeed = canAttack ? 1.4F : 0.16F;
float speed = baseSpeed;
if (distanceToTarget > 0 && distanceToTarget < 0.56F) {
float closeRangeSpeed = MathHelper.clamp(distanceToTarget / 1.1F * 0.25F, 0.1F, 0.3F);
speed = canAttack ? 0.75f : Math.min(speed, closeRangeSpeed);
}
float lineYaw = (Math.abs(yawDelta / rotationDifference) * 180);
float linePitch = (Math.abs(pitchDelta / rotationDifference) * 180);
float jitterYaw, jitterPitch;
if (canAttack) {
lastJitterYaw *= 0.2f;
lastJitterPitch *= 0.2f;
jitterYaw = lastJitterYaw;
jitterPitch = lastJitterPitch;
} else {
jitterYaw = (float) (randomLerp(25, 20) * Math.sin(System.currentTimeMillis() / 29D));
jitterPitch = (float) (randomLerp(14, 25) * Math.sin(System.currentTimeMillis() / 25D));
lastJitterYaw = jitterYaw;
lastJitterPitch = jitterPitch;
}
if (!aura.state || aura.target == null) {
baseSpeed = 0.15F;
jitterYaw = 0;
jitterPitch = 0;
}
float moveYaw = MathHelper.clamp(yawDelta, -lineYaw, lineYaw);
float movePitch = MathHelper.clamp(pitchDelta, -linePitch, linePitch);
float newYaw = MathHelper.lerp(baseSpeed, currentAngle.getYaw(), currentAngle.getYaw() + moveYaw) + jitterYaw;
float newPitch = MathHelper.lerp(baseSpeed, currentAngle.getPitch(), currentAngle.getPitch() + movePitch) + jitterPitch;
return new Angle(newYaw, MathHelper.clamp(newPitch, -90f, 90f));
}
private float randomLerp(float min, float max) {
return MathHelper.lerp(secureRandom.nextFloat(), min, max);
}
@Override
public Vec3d randomValue() {
return new Vec3d(0.10, 0.15, 0.20);
}
@Override
public void reset() {
lastJitterYaw = 0;
lastJitterPitch = 0;
}
public void fullReset() {
lastJitterYaw = 0;
lastJitterPitch = 0;
}
}
если че то на слотхе нужно тестить по 5-7 минут

