message 4
message 4
speed;
import java.util.List;
import booleanmanager.Option.Op;
import helman.rikardo.event.Event;
import helman.rikardo.event.events.MoveEvent;
import helman.rikardo.event.events.UpdateEvent;
import helman.rikardo.main.module.Module;
import helman.rikardo.main.module.impl.Speed;
import helman.rikardo.utils.ClientUtils;
import net.minecraft.util.Timer;
public Latest(final String name, final boolean value, final Module module) {
super(name, value, module);
}
@Override
public boolean enable() {
if (super.enable()) {
if (ClientUtils.player() != null) {
this.moveSpeed = Speed.getBaseMoveSpeed();
}
this.lastDist = 0.0;
Latest.stage = 2.0;
}
return true;
}
@Override
public boolean onMove(final MoveEvent event) {
if (super.onMove(event) && (ClientUtils.player().onGround || Latest.stage
== 3.0)) {
if ((!ClientUtils.player().isCollidedHorizontally &&
ClientUtils.player().moveForward != 0.0f) || ClientUtils.player().moveStrafing !=
0.0f) {
if (Latest.stage == 2.0) {
this.moveSpeed *= 2.149;
Latest.stage = 3.0;
}
else if (Latest.stage == 3.0) {
Latest.stage = 2.0;
final double difference = 0.66 * (this.lastDist -
Speed.getBaseMoveSpeed());
this.moveSpeed = this.lastDist - difference;
}
else {
final List collidingList =
ClientUtils.world().getCollidingBlockBoundingBoxes(ClientUtils.player(),
ClientUtils.player().boundingBox.offset(0.0, ClientUtils.player().motionY, 0.0));
if (collidingList.size() > 0 ||
ClientUtils.player().isCollidedVertically) {
Latest.stage = 1.0;
}
}
}
else {
final Timer timer = ClientUtils.mc().timer;
Timer.timerSpeed = 1.0f;
}
ClientUtils.setMoveSpeed(event, this.moveSpeed =
Math.max(this.moveSpeed, Speed.getBaseMoveSpeed()));
}
return true;
}
@Override
public boolean onUpdate(final UpdateEvent event) {
if (super.onUpdate(event) && event.getState() == Event.State.PRE) {
if (Latest.stage == 3.0) {
event.setY(event.getY() + 0.4);
}
final double xDist = ClientUtils.x() - ClientUtils.player().prevPosX;
final double zDist = ClientUtils.z() - ClientUtils.player().prevPosZ;
this.lastDist = Math.sqrt(xDist * xDist + zDist * zDist);
}
return true;
}