Search in sources :

Example 1 with EventMotionUpdate

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;
            }
        }
    }
}
Also used : ColorSetting(dev.hypnotic.settings.settingtypes.ColorSetting) Category(dev.hypnotic.module.Category) PlayerMoveC2SPacketAccessor(dev.hypnotic.mixin.PlayerMoveC2SPacketAccessor) RotationUtils(dev.hypnotic.utils.RotationUtils) PlayerActionC2SPacket(net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket) Random(java.util.Random) FriendManager(dev.hypnotic.config.friends.FriendManager) ModuleManager(dev.hypnotic.module.ModuleManager) Direction(net.minecraft.util.math.Direction) EventMotionUpdate(dev.hypnotic.event.events.EventMotionUpdate) Scaffold(dev.hypnotic.module.player.Scaffold) Lists(com.google.common.collect.Lists) EventTarget(dev.hypnotic.event.EventTarget) PlayerInteractBlockC2SPacket(net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket) Vec3d(net.minecraft.util.math.Vec3d) SwordItem(net.minecraft.item.SwordItem) Hand(net.minecraft.util.Hand) AnimalEntity(net.minecraft.entity.passive.AnimalEntity) NumberSetting(dev.hypnotic.settings.settingtypes.NumberSetting) AxeItem(net.minecraft.item.AxeItem) EventRender3D(dev.hypnotic.event.events.EventRender3D) Entity(net.minecraft.entity.Entity) HandSwingC2SPacket(net.minecraft.network.packet.c2s.play.HandSwingC2SPacket) PassiveEntity(net.minecraft.entity.passive.PassiveEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ArmorStandEntity(net.minecraft.entity.decoration.ArmorStandEntity) ColorUtils(dev.hypnotic.utils.ColorUtils) BlockHitResult(net.minecraft.util.hit.BlockHitResult) BlockPos(net.minecraft.util.math.BlockPos) RenderUtils(dev.hypnotic.utils.render.RenderUtils) Items(net.minecraft.item.Items) OldBlock(dev.hypnotic.module.render.OldBlock) ModeSetting(dev.hypnotic.settings.settingtypes.ModeSetting) HitResult(net.minecraft.util.hit.HitResult) EntityHitResult(net.minecraft.util.hit.EntityHitResult) List(java.util.List) Monster(net.minecraft.entity.mob.Monster) ToolItem(net.minecraft.item.ToolItem) Timer(dev.hypnotic.utils.Timer) Type(net.minecraft.util.hit.HitResult.Type) Mod(dev.hypnotic.module.Mod) PlayerMoveC2SPacket(net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket) Perspective(net.minecraft.client.option.Perspective) Comparator(java.util.Comparator) EventSendPacket(dev.hypnotic.event.events.EventSendPacket) ShieldItem(net.minecraft.item.ShieldItem) BooleanSetting(dev.hypnotic.settings.settingtypes.BooleanSetting) AnimalEntity(net.minecraft.entity.passive.AnimalEntity) Entity(net.minecraft.entity.Entity) PassiveEntity(net.minecraft.entity.passive.PassiveEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ArmorStandEntity(net.minecraft.entity.decoration.ArmorStandEntity) ShieldItem(net.minecraft.item.ShieldItem) PlayerActionC2SPacket(net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket) HandSwingC2SPacket(net.minecraft.network.packet.c2s.play.HandSwingC2SPacket) SwordItem(net.minecraft.item.SwordItem) AxeItem(net.minecraft.item.AxeItem) Vec3d(net.minecraft.util.math.Vec3d) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) OldBlock(dev.hypnotic.module.render.OldBlock) Random(java.util.Random) BlockPos(net.minecraft.util.math.BlockPos) BlockHitResult(net.minecraft.util.hit.BlockHitResult) ToolItem(net.minecraft.item.ToolItem) PlayerInteractBlockC2SPacket(net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket) EventTarget(dev.hypnotic.event.EventTarget)

Example 2 with EventMotionUpdate

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;
    }
}
Also used : ClientCommandC2SPacket(net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket) PlayerMoveC2SPacket(net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket) EventMotionUpdate(dev.hypnotic.event.events.EventMotionUpdate) Vec3d(net.minecraft.util.math.Vec3d)

Example 3 with EventMotionUpdate

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();
    }
}
Also used : EventMotionUpdate(dev.hypnotic.event.events.EventMotionUpdate) Inject(org.spongepowered.asm.mixin.injection.Inject)

Aggregations

EventMotionUpdate (dev.hypnotic.event.events.EventMotionUpdate)3 PlayerMoveC2SPacket (net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket)2 Vec3d (net.minecraft.util.math.Vec3d)2 Lists (com.google.common.collect.Lists)1 FriendManager (dev.hypnotic.config.friends.FriendManager)1 EventTarget (dev.hypnotic.event.EventTarget)1 EventRender3D (dev.hypnotic.event.events.EventRender3D)1 EventSendPacket (dev.hypnotic.event.events.EventSendPacket)1 PlayerMoveC2SPacketAccessor (dev.hypnotic.mixin.PlayerMoveC2SPacketAccessor)1 Category (dev.hypnotic.module.Category)1 Mod (dev.hypnotic.module.Mod)1 ModuleManager (dev.hypnotic.module.ModuleManager)1 Scaffold (dev.hypnotic.module.player.Scaffold)1 OldBlock (dev.hypnotic.module.render.OldBlock)1 BooleanSetting (dev.hypnotic.settings.settingtypes.BooleanSetting)1 ColorSetting (dev.hypnotic.settings.settingtypes.ColorSetting)1 ModeSetting (dev.hypnotic.settings.settingtypes.ModeSetting)1 NumberSetting (dev.hypnotic.settings.settingtypes.NumberSetting)1 ColorUtils (dev.hypnotic.utils.ColorUtils)1 RotationUtils (dev.hypnotic.utils.RotationUtils)1