типа перенести легко но как это делает я хз он не стопит просто вот пример кода
ElytraMotion:
package pulsar.tech.pulsar.client.impl.feature.impl.movement;
import com.google.common.eventbus.Subscribe;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.vector.Vector3d;
import pulsar.tech.common.events.orbit.EventHandler;
import pulsar.tech.pulsar.client.Pulsar;
import pulsar.tech.pulsar.client.events.player.PlayerMoveEvent;
import pulsar.tech.pulsar.client.impl.feature.Category;
import pulsar.tech.pulsar.client.impl.feature.Feature;
import pulsar.tech.pulsar.client.impl.feature.FeatureInfo;
import pulsar.tech.pulsar.client.impl.feature.impl.combat.AttackAura;
import pulsar.tech.pulsar.client.impl.feature.impl.combat.ElytraTarget;
import pulsar.tech.pulsar.client.impl.settings.impl.SliderSetting;
@FeatureInfo(name = "ElytraMotion", category = Category.MOVEMENT, description = "Позволяет зависнуть возле цели на элитрах")
public class ElytraMotion extends Feature {
public final SliderSetting distancie = new SliderSetting("Дист до цели", 2.5F, 1.5F, 3.0F, 0.1F);
public ElytraMotion() {
}
@EventHandler
public void onEvent(PlayerMoveEvent event) {
if (!mc.player.isElytraFlying()) return;
AttackAura aura = Pulsar.inst().featureManager().attackAura();
if (aura == null || !aura.onEnable() || aura.target == null) return;
LivingEntity target = aura.target;
double distance = mc.player.getDistanceEyePos(target);
if (distance <= distancie.get().floatValue()) {
boolean shouldPredictElytra = target.isElytraFlying() &&
ElytraTarget.ticks_elytra <= 0;
if (!shouldPredictElytra) {
event.setMotion(new Vector3d(0.0D, 0.0D, 0.0D));
}
}
}
}