aka wqzxqz
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
пастеры сидящие на 3.1 проверьте пж этот код килки снапы 360 от нейронки, я не у пк:
скажите чо там по бупассу, работает или нет
Java:
package client.module.combat;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.play.client.CPacketPlayer;
import net.minecraft.network.play.client.CPacketUseEntity;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import client.event.EventTarget;
import client.event.events.EventUpdate;
import client.module.Module;
import client.settings.BooleanSetting;
import client.settings.ModeSetting;
import client.settings.NumberSetting;
import client.utils.TimerUtil;
public class KillAura extends Module {
private final Minecraft mc = Minecraft.getInstance();
// Settings
private final NumberSetting range = new NumberSetting("Range", 3.5, 1.0, 6.0, 0.1);
private final NumberSetting attackDelay = new NumberSetting("Attack Delay", 100, 0, 1000, 10);
private final BooleanSetting onlyPlayers = new BooleanSetting("Players Only", true);
private final BooleanSetting throughWalls = new BooleanSetting("Through Walls", false);
private final BooleanSetting onlyCriticals = new BooleanSetting("Only Criticals", false);
private final ModeSetting rotationMode = new ModeSetting("Rotation", "Snap", new String[]{"Snap", "Smooth", "Silent"});
private final BooleanSetting antiCheatBypass = new BooleanSetting("AC Bypass", false);
private final ModeSetting bypassMode = new ModeSetting("Bypass Mode", "Silent Rotations", new String[]{"Silent Rotations", "Opposite Attack", "Randomized"});
// Timers
private final TimerUtil attackTimer = new TimerUtil();
// Rotation states
private float originalYaw;
private float originalPitch;
private float targetYaw;
private float targetPitch;
private boolean isRotating = false;
private boolean hasAttacked = false;
// Target entity
private LivingEntity target;
public KillAura() {
super("KillAura", "Automatically attacks entities around you", Category.COMBAT);
addSettings(range, attackDelay, onlyPlayers, throughWalls, onlyCriticals, rotationMode, antiCheatBypass, bypassMode);
}
[USER=1367676]@override[/USER]
public void onEnable() {
target = null;
isRotating = false;
hasAttacked = false;
}
[USER=1367676]@override[/USER]
public void onDisable() {
target = null;
isRotating = false;
hasAttacked = false;
}
[USER=1479995]@EventTarget[/USER]
public void onUpdate(EventUpdate event) {
if (mc.player == null || mc.world == null) return;
// Save original rotation
if (!isRotating && !hasAttacked) {
originalYaw = mc.player.rotationYaw;
originalPitch = mc.player.rotationPitch;
}
// Find target
target = findTarget();
if (target != null) {
// Calculate rotations to target
float[] rotations = calculateRotations(target);
targetYaw = rotations[0];
targetPitch = rotations[1];
// Apply anti-cheat bypass modifications if enabled
if (antiCheatBypass.isEnabled()) {
modifyRotationsForBypass(rotations);
}
if (!isRotating && !hasAttacked) {
// Start rotating to target
isRotating = true;
hasAttacked = false;
}
// Handle rotations based on mode
if (isRotating && !hasAttacked) {
if (rotationMode.getValueName().equals("Silent")) {
// Don't visually rotate player, only send rotation packets
handleSilentRotations(targetYaw, targetPitch);
} else if (rotationMode.getValueName().equals("Snap")) {
// Snap rotation - immediately turn to target
mc.player.rotationYaw = targetYaw;
mc.player.rotationPitch = targetPitch;
}
// Attack if we can
if (attackTimer.hasReached((long) attackDelay.getValue())) {
if (antiCheatBypass.isEnabled() && bypassMode.getValueName().equals("Silent Rotations")) {
silentAttackTarget(target);
} else {
attackTarget(target);
}
attackTimer.reset();
hasAttacked = true;
isRotating = false;
}
} else if (hasAttacked) {
// Return back to original position after attack
if (!rotationMode.getValueName().equals("Silent")) {
mc.player.rotationYaw = originalYaw;
mc.player.rotationPitch = originalPitch;
}
hasAttacked = false;
}
}
}
/**
* Handles silent rotations by sending rotation packets to the server
* while maintaining original client-side rotations
*/
private void handleSilentRotations(float yaw, float pitch) {
// Store current rotations
float currentYaw = mc.player.rotationYaw;
float currentPitch = mc.player.rotationPitch;
// Send rotation packet to server
mc.player.connection.sendPacket(new CPacketPlayer.Rotation(
yaw, pitch, mc.player.isOnGround()));
// Keep client-side rotations unchanged
mc.player.rotationYaw = currentYaw;
mc.player.rotationPitch = currentPitch;
}
/**
* Modifies rotations based on the selected bypass mode
*/
private void modifyRotationsForBypass(float[] rotations) {
String mode = bypassMode.getValueName();
switch (mode) {
case "Opposite Attack":
// Invert rotations to look in the opposite direction
rotations[0] = MathHelper.wrapDegrees(rotations[0] + 180);
break;
case "Randomized":
// Add slight randomization to rotations to avoid pattern detection
float randomYaw = (float) (Math.random() * 5 - 2.5f);
float randomPitch = (float) (Math.random() * 3 - 1.5f);
rotations[0] = MathHelper.wrapDegrees(rotations[0] + randomYaw);
rotations[1] = MathHelper.clamp(rotations[1] + randomPitch, -90, 90);
break;
}
targetYaw = rotations[0];
targetPitch = rotations[1];
}
/**
* Performs a "silent" attack by sending packets directly
* without going through normal client attack methods
*/
private void silentAttackTarget(Entity target) {
if (mc.player == null) return;
// Check for 1.9 cooldown
if (!hasFullAttackStrength()) return;
// Check for critical conditions if needed
if (onlyCriticals.isEnabled() && !canCriticalHit()) return;
// Send rotation packet first
mc.player.connection.sendPacket(new CPacketPlayer.Rotation(
targetYaw, targetPitch, mc.player.isOnGround()));
// Send attack packet
mc.player.connection.sendPacket(new CPacketUseEntity(target,
CPacketUseEntity.Action.ATTACK));
// Swing arm visually but don't call the normal attack method
mc.player.swingArm(Hand.MAIN_HAND);
}
private LivingEntity findTarget() {
if (mc.world == null || mc.player == null) return null;
// Get all possible targets within range
List<LivingEntity> targets = mc.world.getAllEntities()
.stream()
.filter(entity -> entity instanceof LivingEntity)
.map(entity -> (LivingEntity) entity)
.filter(this::isValidTarget)
.sorted(Comparator.comparingDouble(mc.player::getDistance))
.collect(Collectors.toList());
if (targets.isEmpty()) return null;
return targets.get(0);
}
private boolean isValidTarget(LivingEntity entity) {
// Don't attack yourself
if (entity == mc.player) return false;
// Don't attack dead entities
if (entity.getHealth() <= 0) return false;
// Check if we should only attack players
if (onlyPlayers.isEnabled() && !(entity instanceof PlayerEntity)) return false;
// Check range
if (mc.player.getDistance(entity) > range.getValue()) return false;
// Check if we can see the entity or if we can attack through walls
return throughWalls.isEnabled() || mc.player.canEntityBeSeen(entity);
}
private float[] calculateRotations(Entity entity) {
Vector3d eyePos = mc.player.getEyePosition(1.0F);
Vector3d targetPos = entity.getPositionVec().add(0, entity.getHeight() / 2, 0);
double diffX = targetPos.x - eyePos.x;
double diffY = targetPos.y - eyePos.y;
double diffZ = targetPos.z - eyePos.z;
double dist = MathHelper.sqrt(diffX * diffX + diffZ * diffZ);
float yaw = (float) Math.toDegrees(Math.atan2(diffZ, diffX)) - 90F;
float pitch = (float) -Math.toDegrees(Math.atan2(diffY, dist));
return new float[]{
MathHelper.wrapDegrees(yaw),
MathHelper.wrapDegrees(pitch)
};
}
private void attackTarget(Entity target) {
if (mc.player == null) return;
// Check for 1.9 cooldown to ensure full damage
if (!hasFullAttackStrength()) return;
// Check if we're only doing criticals and if we can crit
if (onlyCriticals.isEnabled() && !canCriticalHit()) return;
// Attack the entity
mc.playerController.attackEntity(mc.player, target);
mc.player.swingArm(Hand.MAIN_HAND);
}
/**
* Checks if the player's attack cooldown is fully recharged (1.9+ combat mechanics)
* [USER=46448]@ReturN[/USER] true if attack is at full strength
*/
private boolean hasFullAttackStrength() {
return mc.player.getCooledAttackStrength(0.0F) >= 0.95F;
}
/**
* Determines if the player can perform a critical hit
* [USER=46448]@ReturN[/USER] true if a critical hit is possible
*/
private boolean canCriticalHit() {
return mc.player.fallDistance > 0.0F &&
!mc.player.isOnGround() &&
!mc.player.isInWater() &&
!mc.player.isInLava() &&
!mc.player.isOnLadder() &&
!mc.player.isPotionActive(net.minecraft.potion.Effects.BLINDNESS) &&
!mc.player.isPassenger() &&
!mc.player.isSprinting();
}
}