hashalite's Boat Phase and Boat Glitch modules
This commit is contained in:
@@ -33,6 +33,8 @@ public class MeteorRejectsAddon extends MeteorAddon {
|
|||||||
modules.add(new AutoPot());
|
modules.add(new AutoPot());
|
||||||
modules.add(new AutoTNT());
|
modules.add(new AutoTNT());
|
||||||
modules.add(new AutoWither());
|
modules.add(new AutoWither());
|
||||||
|
modules.add(new BoatGlitch());
|
||||||
|
modules.add(new BoatPhase());
|
||||||
modules.add(new ColorSigns());
|
modules.add(new ColorSigns());
|
||||||
modules.add(new Confuse());
|
modules.add(new Confuse());
|
||||||
modules.add(new Gravity());
|
modules.add(new Gravity());
|
||||||
|
|||||||
131
src/main/java/cloudburst/rejects/modules/BoatGlitch.java
Normal file
131
src/main/java/cloudburst/rejects/modules/BoatGlitch.java
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
package cloudburst.rejects.modules;
|
||||||
|
|
||||||
|
import meteordevelopment.orbit.EventHandler;
|
||||||
|
import minegame159.meteorclient.events.entity.BoatMoveEvent;
|
||||||
|
import minegame159.meteorclient.events.meteor.KeyEvent;
|
||||||
|
import minegame159.meteorclient.events.world.TickEvent;
|
||||||
|
import minegame159.meteorclient.settings.BoolSetting;
|
||||||
|
import minegame159.meteorclient.settings.Setting;
|
||||||
|
import minegame159.meteorclient.settings.SettingGroup;
|
||||||
|
import minegame159.meteorclient.systems.modules.Module;
|
||||||
|
import minegame159.meteorclient.systems.modules.Modules;
|
||||||
|
import minegame159.meteorclient.utils.misc.input.KeyAction;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket;
|
||||||
|
import net.minecraft.util.Hand;
|
||||||
|
|
||||||
|
import cloudburst.rejects.MeteorRejectsAddon;
|
||||||
|
|
||||||
|
public class BoatGlitch extends Module {
|
||||||
|
private final SettingGroup sgGeneral = settings.getDefaultGroup();
|
||||||
|
|
||||||
|
private final Setting<Boolean> toggleAfter = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("toggle-after")
|
||||||
|
.description("Disables the module when finished.")
|
||||||
|
.defaultValue(true)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Boolean> remount = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("remount")
|
||||||
|
.description("Remounts the boat when finished.")
|
||||||
|
.defaultValue(true)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private Entity boat = null;
|
||||||
|
private int dismountTicks = 0;
|
||||||
|
private int remountTicks = 0;
|
||||||
|
private boolean dontPhase = true;
|
||||||
|
private boolean boatPhaseEnabled;
|
||||||
|
|
||||||
|
public BoatGlitch() {
|
||||||
|
super(MeteorRejectsAddon.CATEGORY, "boat-glitch", "Glitches your boat into the block beneath you. Dismount to trigger.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivate() {
|
||||||
|
dontPhase = true;
|
||||||
|
dismountTicks = 0;
|
||||||
|
remountTicks = 0;
|
||||||
|
boat = null;
|
||||||
|
if (Modules.get().isActive(BoatPhase.class)) {
|
||||||
|
boatPhaseEnabled = true;
|
||||||
|
Modules.get().get(BoatPhase.class).toggle();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
boatPhaseEnabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDeactivate() {
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = false;
|
||||||
|
boat = null;
|
||||||
|
}
|
||||||
|
if (boatPhaseEnabled && !(Modules.get().isActive(BoatPhase.class))) {
|
||||||
|
Modules.get().get(BoatPhase.class).toggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
private void onBoatMove(BoatMoveEvent event) {
|
||||||
|
if (dismountTicks == 0 && !dontPhase) {
|
||||||
|
if (boat != event.boat) {
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = false;
|
||||||
|
}
|
||||||
|
if (mc.player.getVehicle() != null && event.boat == mc.player.getVehicle()) {
|
||||||
|
boat = event.boat;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
boat = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = true;
|
||||||
|
boat.pushSpeedReduction = 1;
|
||||||
|
dismountTicks = 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
private void onTick(TickEvent.Post event) {
|
||||||
|
if (dismountTicks > 0) {
|
||||||
|
dismountTicks--;
|
||||||
|
if (dismountTicks == 0) {
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = false;
|
||||||
|
if (toggleAfter.get() && !remount.get()) {
|
||||||
|
toggle();
|
||||||
|
}
|
||||||
|
else if (remount.get()) {
|
||||||
|
remountTicks = 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dontPhase = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (remountTicks > 0) {
|
||||||
|
remountTicks--;
|
||||||
|
if (remountTicks == 0) {
|
||||||
|
mc.getNetworkHandler().sendPacket(new PlayerInteractEntityC2SPacket(boat, Hand.MAIN_HAND, false));
|
||||||
|
if (toggleAfter.get()) {
|
||||||
|
toggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@EventHandler
|
||||||
|
private void onKey(KeyEvent event) {
|
||||||
|
if (event.key == mc.options.keySneak.getDefaultKey().getCode() && event.action == KeyAction.Press) {
|
||||||
|
if (mc.player.getVehicle() != null && mc.player.getVehicle().getType().equals(EntityType.BOAT)) {
|
||||||
|
dontPhase = false;
|
||||||
|
boat = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
138
src/main/java/cloudburst/rejects/modules/BoatPhase.java
Normal file
138
src/main/java/cloudburst/rejects/modules/BoatPhase.java
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
package cloudburst.rejects.modules;
|
||||||
|
|
||||||
|
import meteordevelopment.orbit.EventHandler;
|
||||||
|
import minegame159.meteorclient.events.entity.BoatMoveEvent;
|
||||||
|
import minegame159.meteorclient.mixininterface.IVec3d;
|
||||||
|
import minegame159.meteorclient.settings.BoolSetting;
|
||||||
|
import minegame159.meteorclient.settings.DoubleSetting;
|
||||||
|
import minegame159.meteorclient.settings.Setting;
|
||||||
|
import minegame159.meteorclient.settings.SettingGroup;
|
||||||
|
import minegame159.meteorclient.systems.modules.Module;
|
||||||
|
import minegame159.meteorclient.systems.modules.Modules;
|
||||||
|
import minegame159.meteorclient.utils.player.PlayerUtils;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.vehicle.BoatEntity;
|
||||||
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
|
||||||
|
import cloudburst.rejects.MeteorRejectsAddon;
|
||||||
|
|
||||||
|
public class BoatPhase extends Module {
|
||||||
|
private final SettingGroup sgGeneral = settings.getDefaultGroup();
|
||||||
|
private final SettingGroup sgSpeeds = settings.createGroup("Speeds");
|
||||||
|
|
||||||
|
private final Setting<Boolean> lockYaw = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("lock-boat-yaw")
|
||||||
|
.description("Locks boat yaw to the direction you're facing.")
|
||||||
|
.defaultValue(true)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Boolean> verticalControl = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("vertical-control")
|
||||||
|
.description("Whether or not space/ctrl can be used to move vertically.")
|
||||||
|
.defaultValue(true)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Boolean> adjustHorizontalSpeed = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("adjust-horizontal-speed")
|
||||||
|
.description("Whether or not horizontal speed is modified.")
|
||||||
|
.defaultValue(false)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Boolean> fall = sgGeneral.add(new BoolSetting.Builder()
|
||||||
|
.name("fall")
|
||||||
|
.description("Toggles vertical glide.")
|
||||||
|
.defaultValue(false)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Double> horizontalSpeed = sgSpeeds.add(new DoubleSetting.Builder()
|
||||||
|
.name("horizontal-speed")
|
||||||
|
.description("Horizontal speed in blocks per second.")
|
||||||
|
.defaultValue(10)
|
||||||
|
.min(0)
|
||||||
|
.sliderMax(50)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Double> verticalSpeed = sgSpeeds.add(new DoubleSetting.Builder()
|
||||||
|
.name("vertical-speed")
|
||||||
|
.description("Vertical speed in blocks per second.")
|
||||||
|
.defaultValue(5)
|
||||||
|
.min(0)
|
||||||
|
.sliderMax(20)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private final Setting<Double> fallSpeed = sgSpeeds.add(new DoubleSetting.Builder()
|
||||||
|
.name("fall-speed")
|
||||||
|
.description("How fast you fall in blocks per second.")
|
||||||
|
.defaultValue(0.625)
|
||||||
|
.min(0)
|
||||||
|
.sliderMax(10)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
private BoatEntity boat = null;
|
||||||
|
|
||||||
|
public BoatPhase() {
|
||||||
|
super(MeteorRejectsAddon.CATEGORY, "boat-phase", "Phase through blocks using a boat.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivate() {
|
||||||
|
boat = null;
|
||||||
|
if (Modules.get().isActive(BoatGlitch.class)) Modules.get().get(BoatGlitch.class).toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDeactivate() {
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
private void onBoatMove(BoatMoveEvent event) {
|
||||||
|
if (mc.player.getVehicle() != null && mc.player.getVehicle().getType().equals(EntityType.BOAT)) {
|
||||||
|
if (boat != mc.player.getVehicle()) {
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = false;
|
||||||
|
}
|
||||||
|
boat = (BoatEntity) mc.player.getVehicle();
|
||||||
|
}
|
||||||
|
} else boat = null;
|
||||||
|
|
||||||
|
if (boat != null) {
|
||||||
|
boat.noClip = true;
|
||||||
|
boat.pushSpeedReduction = 1;
|
||||||
|
|
||||||
|
if (lockYaw.get()) {
|
||||||
|
boat.yaw = mc.player.yaw;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vec3d vel;
|
||||||
|
|
||||||
|
if (adjustHorizontalSpeed.get()) {
|
||||||
|
vel = PlayerUtils.getHorizontalVelocity(horizontalSpeed.get());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
vel = boat.getVelocity();
|
||||||
|
}
|
||||||
|
|
||||||
|
double velX = vel.x;
|
||||||
|
double velY = 0;
|
||||||
|
double velZ = vel.z;
|
||||||
|
|
||||||
|
if (verticalControl.get()) {
|
||||||
|
if (mc.options.keyJump.isPressed()) velY += verticalSpeed.get() / 20;
|
||||||
|
if (mc.options.keySprint.isPressed()) velY -= verticalSpeed.get() / 20;
|
||||||
|
else if (fall.get()) velY -= fallSpeed.get() / 20;
|
||||||
|
} else if (fall.get()) velY -= fallSpeed.get() / 20;
|
||||||
|
|
||||||
|
((IVec3d) boat.getVelocity()).set(velX,velY,velZ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user