Начинающий
- Статус
- Оффлайн
- Регистрация
- 19 Дек 2023
- Сообщения
- 85
- Реакции
- 1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
как сделать плавный AimAssist из этого?
Код:
package omg.sticky.module.impl;
import com.google.common.collect.Lists;
import com.google.common.eventbus.Subscribe;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.map.MapState;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec2f;
import omg.sticky.event.impl.EventUpdate;
import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;
import java.util.Comparator;
import java.util.List;
@ModuleInfo( name = "Aim Assist", desc ="Наводится на игроков")
public class AimBot extends Module {
private PlayerEntity target;
private Vec2f rotation = new Vec2f(0, 0);
@Subscribe
public void onUpdate(EventUpdate e){
updateTarget();
if (target != null){
updateRotation();
mc.player.yaw = rotation.x;
mc.player.pitch = rotation.y;
}
}
private void updateTarget() {
List<PlayerEntity> players = Lists.newArrayList();
for (PlayerEntity player : mc.world.getPlayers()){
if (canBeHit(player))
players.add(player);
}
if (players.isEmpty()){
target = null;
return;
}
if (players.size() == 1) {
target = players.get(0);
return;
}
players.sort(Comparator.comparingDouble(player -> mc.player.distanceTo(player)));
target = players.get(0);
}
private void updateRotation(){
double deltaX = target.getX() - mc.player.getX();
double deltaY = target.getEyeY() - mc.player.getEyeY();
double deltaZ = target.getZ() - mc.player.getZ();
double distance = MathHelper.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ);
float yaw = (float) (MathHelper.atan2(deltaZ, deltaX) * (180 / Math.PI) - 90);
float pitch = (float) - (MathHelper.atan2(deltaY, distance) * (180 / Math.PI));
rotation = new Vec2f(yaw, pitch);
}
private boolean canBeHit(PlayerEntity player) {
if(player == mc.player) return false;
if (player.getHealth() == 0 || !player.isAlive())
return false;
if (mc.player.distanceTo(player) > 3) return false;
return true;
}
}