68 lines
1.9 KiB
Java
68 lines
1.9 KiB
Java
package anticope.rejects.modules;
|
|
|
|
import anticope.rejects.MeteorRejectsAddon;
|
|
import meteordevelopment.meteorclient.events.world.TickEvent;
|
|
import meteordevelopment.meteorclient.settings.*;
|
|
import meteordevelopment.meteorclient.systems.modules.Module;
|
|
import meteordevelopment.orbit.EventHandler;
|
|
import net.minecraft.util.math.Vec3d;
|
|
|
|
public class Boost extends Module {
|
|
private final SettingGroup sgGeneral = settings.getDefaultGroup();
|
|
|
|
private final Setting<Double> strength = sgGeneral.add(new DoubleSetting.Builder()
|
|
.name("strength")
|
|
.description("Strength to yeet you with.")
|
|
.defaultValue(4.0)
|
|
.sliderMax(10)
|
|
.build()
|
|
);
|
|
|
|
private final Setting<Boolean> autoBoost = sgGeneral.add(new BoolSetting.Builder()
|
|
.name("auto-boost")
|
|
.description("Automatically boosts you.")
|
|
.defaultValue(false)
|
|
.build()
|
|
);
|
|
|
|
private final Setting<Integer> interval = sgGeneral.add(new IntSetting.Builder()
|
|
.name("interval")
|
|
.description("Boost interval in ticks.")
|
|
.visible(autoBoost::get)
|
|
.defaultValue(20)
|
|
.sliderMax(120)
|
|
.build()
|
|
);
|
|
|
|
private int timer = 0;
|
|
|
|
public Boost() {
|
|
super(MeteorRejectsAddon.CATEGORY, "boost", "Works like a dash move.");
|
|
}
|
|
|
|
@Override
|
|
public void onActivate() {
|
|
timer = interval.get();
|
|
if (!autoBoost.get()) {
|
|
if (mc.player != null) boost();
|
|
this.toggle();
|
|
}
|
|
}
|
|
|
|
@EventHandler
|
|
private void onTick(TickEvent.Pre event) {
|
|
if (!autoBoost.get()) return;
|
|
if (timer < 1) {
|
|
boost();
|
|
timer = interval.get();
|
|
} else {
|
|
timer--;
|
|
}
|
|
}
|
|
|
|
private void boost() {
|
|
Vec3d v = mc.player.getRotationVecClient().multiply(strength.get());
|
|
mc.player.addVelocity(v.getX(), v.getY(), v.getZ());
|
|
}
|
|
}
|