use of dev.hypnotic.event.events.EventMotionUpdate in project Hypnotic-Client by Hypnotic-Development.
the class Killaura method onMotionUpdate.
@EventTarget
public void onMotionUpdate(EventMotionUpdate event) {
if (maxAps.getValue() <= minAps.getValue())
maxAps.setValue(minAps.getValue() + 1);
if (event.isPre()) {
try {
if (mc.world != null) {
List<LivingEntity> targets = Lists.<LivingEntity>newArrayList();
for (Entity e : mc.world.getEntities()) {
if (e instanceof LivingEntity && e != mc.player && !FriendManager.INSTANCE.isFriend((LivingEntity) e) && mc.player.distanceTo(e) <= range.getValue() && canAttack((LivingEntity) e))
targets.add((LivingEntity) e);
else {
if (targets.contains(e))
targets.remove(e);
}
}
if (target != null && mc.player.distanceTo(target) > range.getValue()) {
targets.remove(target);
target = null;
if (!ModuleManager.INSTANCE.getModule(Scaffold.class).isEnabled()) {
RotationUtils.resetPitch();
RotationUtils.resetYaw();
}
}
switch(mode.getSelected()) {
case "Sort":
switch(sortMode.getSelected()) {
case "Distance":
targets.sort(Comparator.comparingDouble(entity -> mc.player.distanceTo(entity)));
break;
case "Health":
targets.sort(Comparator.comparingDouble(entity -> ((LivingEntity) entity).getHealth()));
break;
}
if (!targets.isEmpty()) {
if (!FriendManager.INSTANCE.isFriend((LivingEntity) targets.get(0)))
target = (LivingEntity) targets.get(0);
if (mc.player.distanceTo(target) > range.getValue())
target = null;
if (target != null) {
this.setDisplayName("Killaura " + ColorUtils.gray + (target instanceof PlayerEntity ? target.getName().asString().replaceAll(ColorUtils.colorChar, "&") : target.getDisplayName().asString()));
if (canAttack(target)) {
RotationUtils.setSilentPitch(RotationUtils.getRotations(target)[1]);
RotationUtils.setSilentYaw(RotationUtils.getRotations(target)[0]);
if (rotation.is("Lock View")) {
mc.player.setYaw(RotationUtils.getRotations(target)[0]);
mc.player.setPitch(RotationUtils.getRotations(target)[1]);
}
long aps = minAps.getValue() < 20 ? new Random().nextInt((int) (maxAps.getValue() - minAps.getValue())) + (int) minAps.getValue() : 20;
if (delay.isEnabled() && random.isEnabled() && mc.player.getAttackCooldownProgress(0.5F) != 1)
attackTimer.reset();
if (delay.isEnabled() ? mc.player.getAttackCooldownProgress(0.5F) == 1 && (random.isEnabled() ? attackTimer.hasTimeElapsed(new Random().nextInt(300 - 100) + 100, true) : true) : attackTimer.hasTimeElapsed((long) (1000L / aps), true)) {
if (autoBlock.isEnabled() && mc.player.getOffHandStack().getItem() instanceof ShieldItem && (mc.player.getMainHandStack().getItem() instanceof ToolItem || mc.player.getMainHandStack().getItem() == Items.AIR || mc.player.getMainHandStack().getItem() instanceof AxeItem || mc.player.getMainHandStack().getItem() instanceof SwordItem) && autoBlockMode.is("Normal")) {
mc.player.networkHandler.sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, Direction.DOWN));
}
blocking = false;
mc.interactionManager.attackEntity(mc.player, target);
if (swing.isEnabled() && (autoBlock.isEnabled() ? !ModuleManager.INSTANCE.getModule(OldBlock.class).isEnabled() : true) || (ModuleManager.INSTANCE.getModule(OldBlock.class).isEnabled() ? mc.options.getPerspective() != Perspective.FIRST_PERSON : false) && !(mc.player.getMainHandStack().getItem() instanceof SwordItem))
mc.player.swingHand(Hand.MAIN_HAND);
else
mc.player.networkHandler.sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
if (swing.isEnabled() && !(mc.player.getMainHandStack().getItem() instanceof SwordItem) || ModuleManager.INSTANCE.getModule(OldBlock.class).animation.is("Swing"))
mc.player.swingHand(Hand.MAIN_HAND);
}
}
if (target.isDead()) {
RotationUtils.resetYaw();
RotationUtils.resetPitch();
}
} else {
if (blocking)
mc.options.useKey.setPressed(false);
blocking = false;
if (!ModuleManager.INSTANCE.getModule(Scaffold.class).isEnabled()) {
RotationUtils.resetPitch();
RotationUtils.resetYaw();
}
this.setDisplayName("Killaura " + ColorUtils.gray + "None");
}
} else {
if (blocking)
mc.options.useKey.setPressed(false);
blocking = false;
if (!ModuleManager.INSTANCE.getModule(Scaffold.class).isEnabled()) {
RotationUtils.resetPitch();
RotationUtils.resetYaw();
}
}
break;
case "Multi":
if (!targets.isEmpty()) {
for (LivingEntity entity : targets) {
if (entity != null && !FriendManager.INSTANCE.isFriend(entity)) {
this.setDisplayName("Killaura " + ColorUtils.gray + (entity instanceof PlayerEntity ? entity.getName().asString().replaceAll(ColorUtils.colorChar, "&") : entity.getDisplayName().asString()));
if (canAttack(entity)) {
if (target != null)
RotationUtils.setSilentPitch(RotationUtils.getRotations(target)[1]);
if (target != null)
RotationUtils.setSilentYaw(RotationUtils.getRotations(target)[0]);
if (rotation.is("Lock View")) {
if (target != null)
mc.player.setYaw(RotationUtils.getRotations(target)[0]);
if (target != null)
mc.player.setPitch(RotationUtils.getRotations(target)[1]);
}
long aps = minAps.getValue() < 20 ? new Random().nextInt((int) (maxAps.getValue() - minAps.getValue())) + (int) minAps.getValue() : 20;
if (delay.isEnabled() && random.isEnabled() && mc.player.getAttackCooldownProgress(0.5F) != 1)
attackTimer.reset();
if ((delay.isEnabled() ? mc.player.getAttackCooldownProgress(0.5F) == 1 && (random.isEnabled() ? attackTimer.hasTimeElapsed(new Random().nextInt(300 - 100) + 100, true) : true) : attackTimer.hasTimeElapsed((long) (1000L / aps), true)) && targets.indexOf(entity) == new Random().nextInt(targets.size())) {
if (autoBlock.isEnabled() && mc.player.getOffHandStack().getItem() instanceof ShieldItem && (mc.player.getMainHandStack().getItem() instanceof ToolItem || mc.player.getMainHandStack().getItem() == Items.AIR || mc.player.getMainHandStack().getItem() instanceof AxeItem || mc.player.getMainHandStack().getItem() instanceof SwordItem) && autoBlockMode.is("NCP")) {
mc.player.networkHandler.sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, Direction.DOWN));
}
blocking = false;
target = entity;
mc.interactionManager.attackEntity(mc.player, entity);
if (swing.isEnabled() && (autoBlock.isEnabled() ? !ModuleManager.INSTANCE.getModule(OldBlock.class).isEnabled() : true) || (ModuleManager.INSTANCE.getModule(OldBlock.class).isEnabled() ? mc.options.getPerspective() != Perspective.FIRST_PERSON : false) && !(mc.player.getMainHandStack().getItem() instanceof SwordItem))
mc.player.swingHand(Hand.MAIN_HAND);
else
mc.player.networkHandler.sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
if (swing.isEnabled() && !(mc.player.getMainHandStack().getItem() instanceof SwordItem) || ModuleManager.INSTANCE.getModule(OldBlock.class).animation.is("Swing"))
mc.player.swingHand(Hand.MAIN_HAND);
}
}
if (entity.isDead()) {
RotationUtils.resetYaw();
RotationUtils.resetPitch();
}
} else {
}
}
} else {
if (!ModuleManager.INSTANCE.getModule(Scaffold.class).isEnabled()) {
RotationUtils.resetPitch();
RotationUtils.resetYaw();
}
}
break;
}
if (targets.isEmpty())
target = null;
this.setDisplayName("Killaura " + ColorUtils.gray + mode.getSelected());
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
if (target == null)
return;
if (autoBlock.isEnabled() && (mc.player.getMainHandStack().getItem() instanceof ToolItem || mc.player.getMainHandStack().getItem() == Items.AIR || mc.player.getMainHandStack().getItem() instanceof AxeItem || mc.player.getMainHandStack().getItem() instanceof SwordItem) && !autoBlockMode.is("Visual")) {
mc.interactionManager.interactItem(mc.player, mc.world, Hand.OFF_HAND);
mc.interactionManager.interactItem(mc.player, mc.world, Hand.MAIN_HAND);
if (!blocking && autoBlockMode.is("NCP")) {
mc.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, new BlockHitResult(new Vec3d(0.0f, 0.0f, 0.0f), Direction.DOWN, new BlockPos(-1, -1, -1), false)));
blocking = true;
}
}
}
}
use of dev.hypnotic.event.events.EventMotionUpdate in project Hypnotic-Client by Hypnotic-Development.
the class ClientPlayerEntityMixin method sendMovementPacketsWithEvent.
private void sendMovementPacketsWithEvent() {
EventMotionUpdate event = new EventMotionUpdate(mc.player.getX(), mc.player.getY(), mc.player.getZ(), mc.player.getYaw(), mc.player.getPitch(), this.lastYaw, this.lastPitch, mc.player.isOnGround(), this.isSneaking(), Event.State.PRE);
event.call();
boolean bl = this.isSprinting();
if (bl != this.lastSprinting) {
ClientCommandC2SPacket.Mode mode = bl ? ClientCommandC2SPacket.Mode.START_SPRINTING : ClientCommandC2SPacket.Mode.STOP_SPRINTING;
mc.player.networkHandler.sendPacket(new ClientCommandC2SPacket(this, mode));
this.lastSprinting = bl;
}
boolean bl2 = this.isSneaking();
if (bl2 != this.lastSneaking) {
ClientCommandC2SPacket.Mode mode2 = bl2 ? ClientCommandC2SPacket.Mode.PRESS_SHIFT_KEY : ClientCommandC2SPacket.Mode.RELEASE_SHIFT_KEY;
mc.player.networkHandler.sendPacket(new ClientCommandC2SPacket(this, mode2));
this.lastSneaking = bl2;
}
if (this.isCamera()) {
double d = event.getX() - this.lastX;
double e = this.getY() - this.lastBaseY;
double f = event.getZ() - this.lastZ;
double g = (double) (event.getYaw() - this.lastYaw);
double h = (double) (event.getPitch() - this.lastPitch);
++this.ticksSinceLastPositionPacketSent;
boolean bl3 = d * d + e * e + f * f > 9.0E-4D || this.ticksSinceLastPositionPacketSent >= 20;
boolean bl4 = g != 0.0D || h != 0.0D;
if (this.hasVehicle()) {
Vec3d vec3d = this.getVelocity();
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(vec3d.x, -999.0D, vec3d.z, this.getYaw(), this.getPitch(), this.onGround));
bl3 = false;
} else if (bl3 && bl4) {
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(event.getX(), this.getY(), event.getZ(), event.getYaw(), event.getPitch(), event.isOnGround()));
} else if (bl3) {
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(event.getX(), this.getY(), event.getZ(), event.isOnGround()));
} else if (bl4) {
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(event.getYaw(), event.getPitch(), event.isOnGround()));
} else if (this.lastOnGround != this.onGround) {
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(event.isOnGround()));
}
if (bl3) {
this.lastX = event.getX();
this.lastBaseY = this.getY();
this.lastZ = event.getZ();
this.ticksSinceLastPositionPacketSent = 0;
}
if (bl4) {
this.lastYaw = event.getYaw();
this.lastPitch = event.getPitch();
}
this.lastOnGround = event.isOnGround();
this.autoJumpEnabled = mc.options.autoJump;
}
}
use of dev.hypnotic.event.events.EventMotionUpdate in project Hypnotic-Client by Hypnotic-Development.
the class ClientPlayerEntityMixin method sendMovementPackets.
@Inject(method = "sendMovementPackets", at = @At("HEAD"), cancellable = true)
private void sendMovementPackets(CallbackInfo ci) {
if (!ModuleManager.INSTANCE.getModule(Freecam.class).isEnabled()) {
this.sendMovementPacketsWithEvent();
EventMotionUpdate event = new EventMotionUpdate(mc.player.getX(), mc.player.getY(), mc.player.getZ(), mc.player.getYaw(), mc.player.getPitch(), this.lastYaw, this.lastPitch, mc.player.isOnGround(), this.isSneaking(), Event.State.POST);
event.call();
ci.cancel();
}
}
Aggregations