From 8a428d307bc1ead1329756c0bbc8ce3b42899dad Mon Sep 17 00:00:00 2001 From: Bella Date: Sun, 26 Apr 2020 11:42:04 -0400 Subject: [PATCH] converted movement modules to kotlin --- ...{AntiLevitation.java => AntiLevitation.kt} | 16 +- .../module/modules/movement/AutoJump.java | 41 ----- .../kami/module/modules/movement/AutoJump.kt | 40 +++++ .../module/modules/movement/EntitySpeed.java | 158 ------------------ .../module/modules/movement/EntitySpeed.kt | 142 ++++++++++++++++ .../kami/module/modules/movement/Flight.java | 104 ------------ .../kami/module/modules/movement/Flight.kt | 88 ++++++++++ .../module/modules/movement/IceSpeed.java | 35 ---- .../kami/module/modules/movement/IceSpeed.kt | 30 ++++ .../{InventoryMove.java => InventoryMove.kt} | 35 ++-- .../kami/module/modules/movement/Jesus.java | 96 ----------- .../kami/module/modules/movement/Jesus.kt | 86 ++++++++++ .../module/modules/movement/NoSlowDown.java | 62 ------- .../module/modules/movement/NoSlowDown.kt | 65 +++++++ .../kami/module/modules/movement/Sprint.java | 30 ---- .../kami/module/modules/movement/Sprint.kt | 24 +++ .../module/modules/movement/TimerSpeed.java | 48 ------ .../module/modules/movement/TimerSpeed.kt | 48 ++++++ 18 files changed, 548 insertions(+), 600 deletions(-) rename src/main/java/me/zeroeightsix/kami/module/modules/movement/{AntiLevitation.java => AntiLevitation.kt} (58%) delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.kt rename src/main/java/me/zeroeightsix/kami/module/modules/movement/{InventoryMove.java => InventoryMove.kt} (60%) delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.kt delete mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.java create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.kt diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.kt similarity index 58% rename from src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.java rename to src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.kt index e49b010a2..1e96c3e43 100644 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.java +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/AntiLevitation.kt @@ -1,7 +1,7 @@ -package me.zeroeightsix.kami.module.modules.movement; +package me.zeroeightsix.kami.module.modules.movement -import me.zeroeightsix.kami.module.Module; -import net.minecraft.potion.Potion; +import me.zeroeightsix.kami.module.Module +import net.minecraft.potion.Potion /** * Created by 0x2E | PretendingToCode @@ -11,12 +11,10 @@ import net.minecraft.potion.Potion; description = "Removes levitation potion effect", category = Module.Category.MOVEMENT ) -public class AntiLevitation extends Module { - - @Override - public void onUpdate() { +class AntiLevitation : Module() { + override fun onUpdate() { if (mc.player.isPotionActive(Potion.getPotionFromResourceLocation("levitation"))) { - mc.player.removeActivePotionEffect(Potion.getPotionFromResourceLocation("levitation")); + mc.player.removeActivePotionEffect(Potion.getPotionFromResourceLocation("levitation")) } } -} +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.java deleted file mode 100644 index 37d02b3b1..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.java +++ /dev/null @@ -1,41 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; - -/** - * Created by 086 on 24/12/2017. - */ -@Module.Info( - name = "AutoJump", - category = Module.Category.MOVEMENT, - description = "Automatically jumps if possible" -) -public class AutoJump extends Module { - private Setting delay = register(Settings.integerBuilder("Tick Delay").withValue(10).build()); - - @Override - public void onUpdate() { - if (mc.player.isInWater() || mc.player.isInLava()) mc.player.motionY = 0.1; - else jump(); - } - - private void jump() { - if (mc.player.onGround && timeout()) { - mc.player.jump(); - startTime = 0; - } - } - - private static long startTime = 0; - private boolean timeout() { - if (startTime == 0) startTime = System.currentTimeMillis(); - if (startTime + ((delay.getValue() / 20) * 1000) <= System.currentTimeMillis()) { // 1 timeout = 1 second = 1000 ms - startTime = System.currentTimeMillis(); - return true; - } - return false; - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.kt new file mode 100644 index 000000000..d38a2643d --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/AutoJump.kt @@ -0,0 +1,40 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Settings + +/** + * Created by 086 on 24/12/2017. + */ +@Module.Info( + name = "AutoJump", + category = Module.Category.MOVEMENT, + description = "Automatically jumps if possible" +) +class AutoJump : Module() { + private val delay = register(Settings.integerBuilder("Tick Delay").withValue(10).build()) + + override fun onUpdate() { + if (mc.player.isInWater || mc.player.isInLava) mc.player.motionY = 0.1 else jump() + } + + private fun jump() { + if (mc.player.onGround && timeout()) { + mc.player.jump() + startTime = 0 + } + } + + private fun timeout(): Boolean { + if (startTime == 0L) startTime = System.currentTimeMillis() + if (startTime + delay.value / 20 * 1000 <= System.currentTimeMillis()) { // 1 timeout = 1 second = 1000 ms + startTime = System.currentTimeMillis() + return true + } + return false + } + + companion object { + private var startTime: Long = 0 + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.java deleted file mode 100644 index 2fbf2095b..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.java +++ /dev/null @@ -1,158 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; -import me.zeroeightsix.kami.util.EntityUtil; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityBoat; -import net.minecraft.entity.passive.AbstractHorse; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityPig; -import net.minecraft.util.MovementInput; -import net.minecraft.world.chunk.EmptyChunk; - -/** - * Created by 086 on 16/12/2017. - */ -@Module.Info( - name = "EntitySpeed", - category = Module.Category.MOVEMENT, - description = "Abuse client-sided movement to shape sound barrier breaking rideables" -) -public class EntitySpeed extends Module { - - private Setting speed = register(Settings.f("Speed", 1)); - private Setting antiStuck = register(Settings.b("AntiStuck")); - private Setting flight = register(Settings.b("Flight", false)); - private Setting wobble = register(Settings.booleanBuilder("Wobble").withValue(true).withVisibility(b -> flight.getValue()).build()); - private static Setting opacity = Settings.f("Boat opacity", .5f); - - public EntitySpeed() { - register(opacity); - } - - @Override - public void onUpdate() { - if ((mc.world != null) && (mc.player.getRidingEntity() != null)) { - Entity riding = mc.player.getRidingEntity(); - if (riding instanceof EntityPig || riding instanceof AbstractHorse) { - steerEntity(riding); - } else if (riding instanceof EntityBoat) { - steerBoat(getBoat()); - } - } - } - - private void steerEntity(Entity entity) { - if (!flight.getValue()) { - entity.motionY = -0.4D; - } - - if (flight.getValue()) { - if (mc.gameSettings.keyBindJump.isKeyDown()) - entity.motionY = speed.getValue(); - else if (mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindBack.isKeyDown()) - entity.motionY = wobble.getValue() ? Math.sin(mc.player.ticksExisted) : 0; - } - - moveForward(entity, speed.getValue() * 3.8D); - - if (entity instanceof EntityHorse) { - entity.rotationYaw = mc.player.rotationYaw; - } - } - - private void steerBoat(EntityBoat boat) { - if (boat == null) return; - - int angle; - - boolean forward = mc.gameSettings.keyBindForward.isKeyDown(); - boolean left = mc.gameSettings.keyBindLeft.isKeyDown(); - boolean right = mc.gameSettings.keyBindRight.isKeyDown(); - boolean back = mc.gameSettings.keyBindBack.isKeyDown(); - if (!(forward && back)) boat.motionY = 0; - if (mc.gameSettings.keyBindJump.isKeyDown()) boat.motionY += speed.getValue() / 2f; - - if (!forward && !left && !right && !back) return; - if (left && right) angle = forward ? 0 : back ? 180 : -1; - else if (forward && back) angle = left ? -90 : (right ? 90 : -1); - else { - angle = left ? -90 : (right ? 90 : 0); - if (forward) angle /= 2; - else if (back) angle = 180 - (angle / 2); - } - - if (angle == -1) return; - float yaw = mc.player.rotationYaw + angle; - boat.motionX = EntityUtil.getRelativeX(yaw) * speed.getValue(); - boat.motionZ = EntityUtil.getRelativeZ(yaw) * speed.getValue(); - } - - @Override - public void onRender() { - EntityBoat boat = getBoat(); - if (boat == null) return; - boat.rotationYaw = mc.player.rotationYaw; - boat.updateInputs(false, false, false, false); // Make sure the boat doesn't turn etc (params: isLeftDown, isRightDown, isForwardDown, isBackDown) - } - - private EntityBoat getBoat() { - if (mc.player.getRidingEntity() != null && mc.player.getRidingEntity() instanceof EntityBoat) - return (EntityBoat) mc.player.getRidingEntity(); - return null; - } - - private void moveForward(Entity entity, double speed) { - if (entity != null) { - MovementInput movementInput = mc.player.movementInput; - - double forward = movementInput.moveForward; - double strafe = movementInput.moveStrafe; - boolean movingForward = forward != 0; - boolean movingStrafe = strafe != 0; - float yaw = mc.player.rotationYaw; - - if (!movingForward && !movingStrafe) { - setEntitySpeed(entity, 0, 0); - } else { - if (forward != 0.0D) { - if (strafe > 0.0D) { - yaw += (forward > 0.0D ? -45 : 45); - } else if (strafe < 0.0D) { - yaw += (forward > 0.0D ? 45 : -45); - } - strafe = 0.0D; - if (forward > 0.0D) { - forward = 1.0D; - } else { - forward = -1.0D; - } - } - - double motX = (forward * speed * Math.cos(Math.toRadians(yaw + 90.0F)) + strafe * speed * Math.sin(Math.toRadians(yaw + 90.0F))); - double motZ = (forward * speed * Math.sin(Math.toRadians(yaw + 90.0F)) - strafe * speed * Math.cos(Math.toRadians(yaw + 90.0F))); - - if (isBorderingChunk(entity, motX, motZ)) - motX = motZ = 0; - - setEntitySpeed(entity, motX, motZ); - } - } - } - - private void setEntitySpeed(Entity entity, double motX, double motZ) { - entity.motionX = motX; - entity.motionZ = motZ; - } - - private boolean isBorderingChunk(Entity entity, double motX, double motZ) { - return antiStuck.getValue() && mc.world.getChunk((int) (entity.posX + motX) >> 4, (int) (entity.posZ + motZ) >> 4) instanceof EmptyChunk; - } - - public static float getOpacity() { - return opacity.getValue(); - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.kt new file mode 100644 index 000000000..0328942fa --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/EntitySpeed.kt @@ -0,0 +1,142 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Settings +import me.zeroeightsix.kami.util.EntityUtil +import net.minecraft.entity.Entity +import net.minecraft.entity.item.EntityBoat +import net.minecraft.entity.passive.AbstractHorse +import net.minecraft.entity.passive.EntityHorse +import net.minecraft.entity.passive.EntityPig +import net.minecraft.world.chunk.EmptyChunk +import kotlin.math.cos +import kotlin.math.sin + +/** + * Created by 086 on 16/12/2017. + */ +@Module.Info( + name = "EntitySpeed", + category = Module.Category.MOVEMENT, + description = "Abuse client-sided movement to shape sound barrier breaking rideables" +) +class EntitySpeed : Module() { + private val speed = register(Settings.f("Speed", 1f)) + private val antiStuck = register(Settings.b("AntiStuck")) + private val flight = register(Settings.b("Flight", false)) + private val wobble = register(Settings.booleanBuilder("Wobble").withValue(true).withVisibility { b: Boolean? -> flight.value }.build()) + + override fun onUpdate() { + if (mc.world != null && mc.player.getRidingEntity() != null) { + val riding = mc.player.getRidingEntity() + if (riding is EntityPig || riding is AbstractHorse) { + steerEntity(riding) + } else if (riding is EntityBoat) { + steerBoat(boat) + } + } + } + + private fun steerEntity(entity: Entity) { + if (!flight.value) { + entity.motionY = -0.4 + } + if (flight.value) { + if (mc.gameSettings.keyBindJump.isKeyDown) entity.motionY = speed.value.toDouble() + else if (mc.gameSettings.keyBindForward.isKeyDown || mc.gameSettings.keyBindBack.isKeyDown) entity.motionY = (if (wobble.value) sin(mc.player.ticksExisted.toDouble()) else 0).toDouble() + } + moveForward(entity, speed.value * 3.8) + if (entity is EntityHorse) { + entity.rotationYaw = mc.player.rotationYaw + } + } + + private fun steerBoat(boat: EntityBoat?) { + if (boat == null) return + + var angle: Int + val forward = mc.gameSettings.keyBindForward.isKeyDown + val left = mc.gameSettings.keyBindLeft.isKeyDown + val right = mc.gameSettings.keyBindRight.isKeyDown + val back = mc.gameSettings.keyBindBack.isKeyDown + + if (!(forward && back)) boat.motionY = 0.0 + if (mc.gameSettings.keyBindJump.isKeyDown) boat.motionY += speed.value / 2f.toDouble() + if (!forward && !left && !right && !back) return + if (left && right) angle = if (forward) 0 else if (back) 180 else -1 else if (forward && back) angle = if (left) -90 else if (right) 90 else -1 else { + angle = if (left) -90 else if (right) 90 else 0 + if (forward) angle /= 2 else if (back) angle = 180 - angle / 2 + } + if (angle == -1) return + + val yaw = mc.player.rotationYaw + angle + boat.motionX = EntityUtil.getRelativeX(yaw) * speed.value + boat.motionZ = EntityUtil.getRelativeZ(yaw) * speed.value + } + + override fun onRender() { + val boat = boat ?: return + boat.rotationYaw = mc.player.rotationYaw + boat.updateInputs(false, false, false, false) // Make sure the boat doesn't turn etc (params: isLeftDown, isRightDown, isForwardDown, isBackDown) + } + + private val boat: EntityBoat? + get() = if (mc.player.getRidingEntity() != null && mc.player.getRidingEntity() is EntityBoat) mc.player.getRidingEntity() as EntityBoat? else null + + private fun moveForward(entity: Entity?, speed: Double) { + if (entity != null) { + val movementInput = mc.player.movementInput + var forward = movementInput.moveForward.toDouble() + var strafe = movementInput.moveStrafe.toDouble() + val movingForward = forward != 0.0 + val movingStrafe = strafe != 0.0 + var yaw = mc.player.rotationYaw + + if (!movingForward && !movingStrafe) { + setEntitySpeed(entity, 0.0, 0.0) + } else { + if (forward != 0.0) { + if (strafe > 0.0) { + yaw += (if (forward > 0.0) -45 else 45).toFloat() + } else if (strafe < 0.0) { + yaw += (if (forward > 0.0) 45 else -45).toFloat() + } + strafe = 0.0 + forward = if (forward > 0.0) { + 1.0 + } else { + -1.0 + } + } + var motX = forward * speed * cos(Math.toRadians(yaw + 90.0f.toDouble())) + strafe * speed * sin(Math.toRadians(yaw + 90.0f.toDouble())) + var motZ = forward * speed * sin(Math.toRadians(yaw + 90.0f.toDouble())) - strafe * speed * cos(Math.toRadians(yaw + 90.0f.toDouble())) + if (isBorderingChunk(entity, motX, motZ)) { + motZ = 0.0 + motX = motZ + } + setEntitySpeed(entity, motX, motZ) + } + } + } + + private fun setEntitySpeed(entity: Entity, motX: Double, motZ: Double) { + entity.motionX = motX + entity.motionZ = motZ + } + + private fun isBorderingChunk(entity: Entity, motX: Double, motZ: Double): Boolean { + return antiStuck.value && mc.world.getChunk((entity.posX + motX).toInt() shr 4, (entity.posZ + motZ).toInt() shr 4) is EmptyChunk + } + + companion object { + private val opacity = Settings.f("Boat opacity", .5f) + @JvmStatic + fun getOpacity(): Float { + return opacity.value + } + } + + init { + register(opacity) + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.java deleted file mode 100644 index 4566cdc44..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.java +++ /dev/null @@ -1,104 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; -import me.zeroeightsix.kami.util.EntityUtil; -import net.minecraft.client.Minecraft; -import net.minecraft.network.play.client.CPacketPlayer; - -/** - * Created by 086 on 25/08/2017. - */ -@Module.Info( - category = Module.Category.MOVEMENT, - description = "Makes the player fly", name = "Flight" -) -public class Flight extends Module { - - private Setting speed = register(Settings.f("Speed", 10)); - private Setting mode = register(Settings.e("Mode", FlightMode.VANILLA)); - - @Override - protected void onEnable() { - if (mc.player == null) return; - switch (mode.getValue()) { - case VANILLA: - mc.player.capabilities.isFlying = true; - if (mc.player.capabilities.isCreativeMode) return; - mc.player.capabilities.allowFlying = true; - break; - } - } - - @Override - public void onUpdate() { - switch (mode.getValue()) { - case STATIC: - mc.player.capabilities.isFlying = false; - mc.player.motionX = 0; - mc.player.motionY = 0; - mc.player.motionZ = 0; - mc.player.jumpMovementFactor = speed.getValue(); - - if (mc.gameSettings.keyBindJump.isKeyDown()) - mc.player.motionY += speed.getValue(); - if (mc.gameSettings.keyBindSneak.isKeyDown()) - mc.player.motionY -= speed.getValue(); - break; - case VANILLA: - mc.player.capabilities.setFlySpeed(speed.getValue() / 100f); - mc.player.capabilities.isFlying = true; - if (mc.player.capabilities.isCreativeMode) return; - mc.player.capabilities.allowFlying = true; - break; - case PACKET: - int angle; - - boolean forward = mc.gameSettings.keyBindForward.isKeyDown(); - boolean left = mc.gameSettings.keyBindLeft.isKeyDown(); - boolean right = mc.gameSettings.keyBindRight.isKeyDown(); - boolean back = mc.gameSettings.keyBindBack.isKeyDown(); - - if (left && right) angle = forward ? 0 : back ? 180 : -1; - else if (forward && back) angle = left ? -90 : (right ? 90 : -1); - else { - angle = left ? -90 : (right ? 90 : 0); - if (forward) angle /= 2; - else if (back) angle = 180 - (angle / 2); - } - - if (angle != -1 && (forward || left || right || back)) { - float yaw = mc.player.rotationYaw + angle; - mc.player.motionX = EntityUtil.getRelativeX(yaw) * 0.2f; - mc.player.motionZ = EntityUtil.getRelativeZ(yaw) * 0.2f; - } - - mc.player.motionY = 0; - mc.player.connection.sendPacket(new CPacketPlayer.PositionRotation(mc.player.posX + mc.player.motionX, mc.player.posY + (Minecraft.getMinecraft().gameSettings.keyBindJump.isKeyDown() ? 0.0622 : 0) - (Minecraft.getMinecraft().gameSettings.keyBindSneak.isKeyDown() ? 0.0622 : 0), mc.player.posZ + mc.player.motionZ, mc.player.rotationYaw, mc.player.rotationPitch, false)); - mc.player.connection.sendPacket(new CPacketPlayer.PositionRotation(mc.player.posX + mc.player.motionX, mc.player.posY - 42069, mc.player.posZ + mc.player.motionZ, mc.player.rotationYaw, mc.player.rotationPitch, true)); - break; - } - } - - @Override - protected void onDisable() { - switch (mode.getValue()) { - case VANILLA: - mc.player.capabilities.isFlying = false; - mc.player.capabilities.setFlySpeed(0.05f); - if (mc.player.capabilities.isCreativeMode) return; - mc.player.capabilities.allowFlying = false; - break; - } - } - - public double[] moveLooking() { - return new double[]{mc.player.rotationYaw * 360.0F / 360.0F * 180.0F / 180.0F, 0.0D}; - } - - public enum FlightMode { - VANILLA, STATIC, PACKET - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.kt new file mode 100644 index 000000000..189d3d6a8 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Flight.kt @@ -0,0 +1,88 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Settings +import me.zeroeightsix.kami.util.EntityUtil +import net.minecraft.client.Minecraft +import net.minecraft.network.play.client.CPacketPlayer.PositionRotation + +/** + * Created by 086 on 25/08/2017. + */ +@Module.Info( + name = "Flight", + category = Module.Category.MOVEMENT, + description = "Makes the player fly" +) +class Flight : Module() { + private val speed = register(Settings.f("Speed", 10f)) + private val mode = register(Settings.e("Mode", FlightMode.VANILLA)) + + override fun onEnable() { + if (mc.player == null) return + if (mode.value == FlightMode.VANILLA) { + mc.player.capabilities.isFlying = true + if (mc.player.capabilities.isCreativeMode) return + mc.player.capabilities.allowFlying = true + } + } + + override fun onUpdate() { + when (mode.value) { + FlightMode.STATIC -> { + mc.player.capabilities.isFlying = false + mc.player.motionX = 0.0 + mc.player.motionY = 0.0 + mc.player.motionZ = 0.0 + mc.player.jumpMovementFactor = speed.value + + if (mc.gameSettings.keyBindJump.isKeyDown) mc.player.motionY += speed.value + if (mc.gameSettings.keyBindSneak.isKeyDown) mc.player.motionY -= speed.value + } + FlightMode.VANILLA -> { + mc.player.capabilities.flySpeed = speed.value / 100f + mc.player.capabilities.isFlying = true + if (mc.player.capabilities.isCreativeMode) return + mc.player.capabilities.allowFlying = true + } + FlightMode.PACKET -> { + var angle: Int + val forward = mc.gameSettings.keyBindForward.isKeyDown + val left = mc.gameSettings.keyBindLeft.isKeyDown + val right = mc.gameSettings.keyBindRight.isKeyDown + val back = mc.gameSettings.keyBindBack.isKeyDown + + if (left && right) angle = if (forward) 0 else if (back) 180 else -1 else if (forward && back) angle = if (left) -90 else if (right) 90 else -1 else { + angle = if (left) -90 else if (right) 90 else 0 + if (forward) angle /= 2 else if (back) angle = 180 - angle / 2 + } + if (angle != -1 && (forward || left || right || back)) { + val yaw = mc.player.rotationYaw + angle + mc.player.motionX = EntityUtil.getRelativeX(yaw) * 0.2f + mc.player.motionZ = EntityUtil.getRelativeZ(yaw) * 0.2f + } + + mc.player.motionY = 0.0 + mc.player.connection.sendPacket(PositionRotation(mc.player.posX + mc.player.motionX, mc.player.posY + (if (Minecraft.getMinecraft().gameSettings.keyBindJump.isKeyDown) 0.0622 else 0).toDouble() - (if (Minecraft.getMinecraft().gameSettings.keyBindSneak.isKeyDown) 0.0622 else 0).toDouble(), mc.player.posZ + mc.player.motionZ, mc.player.rotationYaw, mc.player.rotationPitch, false)) + mc.player.connection.sendPacket(PositionRotation(mc.player.posX + mc.player.motionX, mc.player.posY - 42069, mc.player.posZ + mc.player.motionZ, mc.player.rotationYaw, mc.player.rotationPitch, true)) + } + } + } + + override fun onDisable() { + if (mode.value == FlightMode.VANILLA) { + mc.player.capabilities.isFlying = false + mc.player.capabilities.flySpeed = 0.05f + if (mc.player.capabilities.isCreativeMode) return + mc.player.capabilities.allowFlying = false + } + } + + fun moveLooking(): DoubleArray { + return doubleArrayOf(mc.player.rotationYaw * 360.0f / 360.0f * 180.0f / 180.0f.toDouble(), 0.0) + } + + enum class FlightMode { + VANILLA, STATIC, PACKET + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.java deleted file mode 100644 index 2a7ae55d7..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.java +++ /dev/null @@ -1,35 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; -import net.minecraft.init.Blocks; - -/** - * Created on 26 October 2019 by hub - * Updated 24 November 2019 by hub - */ -@Module.Info( - name = "IceSpeed", - description = "Changes how slippery ice is", - category = Module.Category.MOVEMENT -) -public class IceSpeed extends Module { - - private Setting slipperiness = register(Settings.floatBuilder("Slipperiness").withMinimum(0.2f).withValue(0.4f).withMaximum(1.0f).build()); - - @Override - public void onUpdate() { - Blocks.ICE.slipperiness = slipperiness.getValue(); - Blocks.PACKED_ICE.slipperiness = slipperiness.getValue(); - Blocks.FROSTED_ICE.slipperiness = slipperiness.getValue(); - } - - @Override - public void onDisable() { - Blocks.ICE.slipperiness = 0.98f; - Blocks.PACKED_ICE.slipperiness = 0.98f; - Blocks.FROSTED_ICE.slipperiness = 0.98f; - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.kt new file mode 100644 index 000000000..672d8922f --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/IceSpeed.kt @@ -0,0 +1,30 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Settings +import net.minecraft.init.Blocks + +/** + * Created on 26 October 2019 by hub + * Updated 24 November 2019 by hub + */ +@Module.Info( + name = "IceSpeed", + description = "Changes how slippery ice is", + category = Module.Category.MOVEMENT +) +class IceSpeed : Module() { + private val slipperiness = register(Settings.floatBuilder("Slipperiness").withMinimum(0.2f).withValue(0.4f).withMaximum(1.0f).build()) + + override fun onUpdate() { + Blocks.ICE.slipperiness = slipperiness.value + Blocks.PACKED_ICE.slipperiness = slipperiness.value + Blocks.FROSTED_ICE.slipperiness = slipperiness.value + } + + public override fun onDisable() { + Blocks.ICE.slipperiness = 0.98f + Blocks.PACKED_ICE.slipperiness = 0.98f + Blocks.FROSTED_ICE.slipperiness = 0.98f + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.kt similarity index 60% rename from src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.java rename to src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.kt index 31b19b794..57322779d 100644 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.java +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/InventoryMove.kt @@ -1,10 +1,10 @@ -package me.zeroeightsix.kami.module.modules.movement; +package me.zeroeightsix.kami.module.modules.movement -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; -import net.minecraft.client.gui.GuiChat; -import org.lwjgl.input.Keyboard; +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Setting +import me.zeroeightsix.kami.setting.Settings +import net.minecraft.client.gui.GuiChat +import org.lwjgl.input.Keyboard /** * @author dominikaaaa @@ -16,24 +16,25 @@ import org.lwjgl.input.Keyboard; description = "Allows you to walk around with GUIs opened", category = Module.Category.MOVEMENT ) -public class InventoryMove extends Module { - private Setting speed = register(Settings.i("Look speed", 10)); - public Setting sneak = register(Settings.b("Sneak", false)); +class InventoryMove : Module() { + private val speed = register(Settings.i("Look speed", 10)) + @JvmField + var sneak: Setting = register(Settings.b("Sneak", false)) + + override fun onUpdate() { + if (mc.player == null || mc.currentScreen == null || mc.currentScreen is GuiChat) return - public void onUpdate() { - if (mc.player == null || mc.currentScreen == null || mc.currentScreen instanceof GuiChat) return; if (Keyboard.isKeyDown(Keyboard.KEY_LEFT)) { - mc.player.rotationYaw = mc.player.rotationYaw - speed.getValue(); + mc.player.rotationYaw = mc.player.rotationYaw - speed.value } if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) { - mc.player.rotationYaw = mc.player.rotationYaw + speed.getValue(); + mc.player.rotationYaw = mc.player.rotationYaw + speed.value } if (Keyboard.isKeyDown(Keyboard.KEY_UP)) { - mc.player.rotationPitch = mc.player.rotationPitch - speed.getValue(); + mc.player.rotationPitch = mc.player.rotationPitch - speed.value } if (Keyboard.isKeyDown(Keyboard.KEY_DOWN)) { - mc.player.rotationPitch = mc.player.rotationPitch + speed.getValue(); + mc.player.rotationPitch = mc.player.rotationPitch + speed.value } } -} - +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.java deleted file mode 100644 index b0bd5636b..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.java +++ /dev/null @@ -1,96 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zero.alpine.listener.EventHandler; -import me.zero.alpine.listener.Listener; -import me.zeroeightsix.kami.event.KamiEvent; -import me.zeroeightsix.kami.event.events.AddCollisionBoxToListEvent; -import me.zeroeightsix.kami.event.events.PacketEvent; -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.module.modules.player.Freecam; -import me.zeroeightsix.kami.util.EntityUtil; -import me.zeroeightsix.kami.util.Wrapper; -import net.minecraft.block.BlockLiquid; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityBoat; -import net.minecraft.network.play.client.CPacketPlayer; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; - -import static me.zeroeightsix.kami.KamiMod.MODULE_MANAGER; - -/** - * Created by 086 on 11/12/2017. - */ -@Module.Info( - name = "Jesus", - description = "Allows you to walk on water", - category = Module.Category.MOVEMENT -) -public class Jesus extends Module { - - private static final AxisAlignedBB WATER_WALK_AA = new AxisAlignedBB(0.D, 0.D, 0.D, 1.D, 0.99D, 1.D); - - @Override - public void onUpdate() { - if (!MODULE_MANAGER.isModuleEnabled(Freecam.class)) { - if (EntityUtil.isInWater(mc.player) && !mc.player.isSneaking()) { - mc.player.motionY = 0.1; - if (mc.player.getRidingEntity() != null && !(mc.player.getRidingEntity() instanceof EntityBoat)) { - mc.player.getRidingEntity().motionY = 0.3; - } - } - } - } - - @EventHandler - Listener addCollisionBoxToListEventListener = new Listener<>((event) -> { - if (mc.player != null - && (event.getBlock() instanceof BlockLiquid) - && (EntityUtil.isDrivenByPlayer(event.getEntity()) || event.getEntity() == mc.player) - && !(event.getEntity() instanceof EntityBoat) - && !mc.player.isSneaking() - && mc.player.fallDistance < 3 - && !EntityUtil.isInWater(mc.player) - && (EntityUtil.isAboveWater(mc.player, false) || EntityUtil.isAboveWater(mc.player.getRidingEntity(), false)) - && isAboveBlock(mc.player, event.getPos())) { - AxisAlignedBB axisalignedbb = WATER_WALK_AA.offset(event.getPos()); - if (event.getEntityBox().intersects(axisalignedbb)) event.getCollidingBoxes().add(axisalignedbb); - event.cancel(); - } - }); - - @EventHandler - Listener packetEventSendListener = new Listener<>(event -> { - if (event.getEra() == KamiEvent.Era.PRE) { - if (event.getPacket() instanceof CPacketPlayer) { - if (EntityUtil.isAboveWater(mc.player, true) && !EntityUtil.isInWater(mc.player) && !isAboveLand(mc.player)) { - int ticks = mc.player.ticksExisted % 2; - if (ticks == 0) ((CPacketPlayer) event.getPacket()).y += 0.02D; - } - } - } - }); - - @SuppressWarnings("deprecation") - private static boolean isAboveLand(Entity entity) { - if (entity == null) return false; - - double y = entity.posY - 0.01; - - for (int x = MathHelper.floor(entity.posX); x < MathHelper.ceil(entity.posX); x++) - for (int z = MathHelper.floor(entity.posZ); z < MathHelper.ceil(entity.posZ); z++) { - BlockPos pos = new BlockPos(x, MathHelper.floor(y), z); - - if (Wrapper.getWorld().getBlockState(pos).getBlock().isFullBlock(Wrapper.getWorld().getBlockState(pos))) - return true; - } - - return false; - } - - private static boolean isAboveBlock(Entity entity, BlockPos pos) { - return entity.posY >= pos.getY(); - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.kt new file mode 100644 index 000000000..49288aa90 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Jesus.kt @@ -0,0 +1,86 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zero.alpine.listener.EventHandler +import me.zero.alpine.listener.EventHook +import me.zero.alpine.listener.Listener +import me.zeroeightsix.kami.KamiMod +import me.zeroeightsix.kami.event.KamiEvent +import me.zeroeightsix.kami.event.events.AddCollisionBoxToListEvent +import me.zeroeightsix.kami.event.events.PacketEvent +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.module.modules.player.Freecam +import me.zeroeightsix.kami.util.EntityUtil +import me.zeroeightsix.kami.util.Wrapper +import net.minecraft.block.BlockLiquid +import net.minecraft.entity.Entity +import net.minecraft.entity.item.EntityBoat +import net.minecraft.network.play.client.CPacketPlayer +import net.minecraft.util.math.AxisAlignedBB +import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.MathHelper + +/** + * Created by 086 on 11/12/2017. + */ +@Module.Info( + name = "Jesus", + description = "Allows you to walk on water", + category = Module.Category.MOVEMENT +) +class Jesus : Module() { + override fun onUpdate() { + if (!KamiMod.MODULE_MANAGER.isModuleEnabled(Freecam::class.java)) { + if (EntityUtil.isInWater(mc.player) && !mc.player.isSneaking) { + mc.player.motionY = 0.1 + if (mc.player.getRidingEntity() != null && mc.player.getRidingEntity() !is EntityBoat) { + mc.player.getRidingEntity()!!.motionY = 0.3 + } + } + } + } + + @EventHandler + var addCollisionBoxToListEventListener = Listener(EventHook { event: AddCollisionBoxToListEvent -> + if (mc.player != null && event.block is BlockLiquid + && (EntityUtil.isDrivenByPlayer(event.entity) || event.entity === mc.player) + && event.entity !is EntityBoat + && !mc.player.isSneaking + && mc.player.fallDistance < 3 && !EntityUtil.isInWater(mc.player) + && (EntityUtil.isAboveWater(mc.player, false) || EntityUtil.isAboveWater(mc.player.getRidingEntity(), false)) + && isAboveBlock(mc.player, event.pos)) { + val axisAlignedBB = WATER_WALK_AA.offset(event.pos) + if (event.entityBox.intersects(axisAlignedBB)) event.collidingBoxes.add(axisAlignedBB) + event.cancel() + } + }) + + @EventHandler + var packetEventSendListener = Listener(EventHook { event: PacketEvent.Send -> + if (event.era == KamiEvent.Era.PRE) { + if (event.packet is CPacketPlayer) { + if (EntityUtil.isAboveWater(mc.player, true) && !EntityUtil.isInWater(mc.player) && !isAboveLand(mc.player)) { + val ticks = mc.player.ticksExisted % 2 + if (ticks == 0) (event.packet as CPacketPlayer).y += 0.02 + } + } + } + }) + + companion object { + private val WATER_WALK_AA = AxisAlignedBB(0.0, 0.0, 0.0, 1.0, 0.99, 1.0) + + private fun isAboveLand(entity: Entity?): Boolean { + if (entity == null) return false + val y = entity.posY - 0.01 + for (x in MathHelper.floor(entity.posX) until MathHelper.ceil(entity.posX)) for (z in MathHelper.floor(entity.posZ) until MathHelper.ceil(entity.posZ)) { + val pos = BlockPos(x, MathHelper.floor(y), z) + if (Wrapper.getWorld().getBlockState(pos).block.isFullBlock(Wrapper.getWorld().getBlockState(pos))) return true + } + return false + } + + private fun isAboveBlock(entity: Entity, pos: BlockPos): Boolean { + return entity.posY >= pos.getY() + } + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.java deleted file mode 100644 index a1658ce9d..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.java +++ /dev/null @@ -1,62 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zero.alpine.listener.EventHandler; -import me.zero.alpine.listener.Listener; -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; -import net.minecraft.init.Blocks; -import net.minecraft.item.*; -import net.minecraftforge.client.event.InputUpdateEvent; - -/** - * Created by 086 on 15/12/2017. - * Updated by dominikaaaa on 31/03/20 - * @see me.zeroeightsix.kami.mixin.client.MixinBlockSoulSand - * @see net.minecraft.client.entity.EntityPlayerSP#onLivingUpdate() - */ -@Module.Info( - name = "NoSlowDown", - category = Module.Category.MOVEMENT, - description = "Prevents being slowed down when using an item or going through cobwebs" -) -public class NoSlowDown extends Module { - public Setting soulSand = register(Settings.b("Soul Sand", true)); - public Setting cobweb = register(Settings.b("Cobweb", true)); - private Setting slime = register(Settings.b("Slime", true)); - private Setting allItems = register(Settings.b("All Items", false)); - private Setting food = register(Settings.booleanBuilder().withName("Food").withValue(true).withVisibility(v -> !allItems.getValue()).build()); - private Setting bow = register(Settings.booleanBuilder().withName("Bows").withValue(true).withVisibility(v -> !allItems.getValue()).build()); - private Setting potion = register(Settings.booleanBuilder().withName("Potions").withValue(true).withVisibility(v -> !allItems.getValue()).build()); - private Setting shield = register(Settings.booleanBuilder().withName("Shield").withValue(true).withVisibility(v -> !allItems.getValue()).build()); - - /* - * InputUpdateEvent is called just before the player is slowed down @see EntityPlayerSP.onLivingUpdate) - * We'll abuse this fact, and multiply moveStrafe and moveForward by 5 to nullify the *0.2f hardcoded by Mojang. - */ - @EventHandler - private Listener eventListener = new Listener<>(event -> { - if (passItemCheck(mc.player.getActiveItemStack().getItem()) && !mc.player.isRiding()) { - event.getMovementInput().moveStrafe *= 5; - event.getMovementInput().moveForward *= 5; - } - }); - - @Override - public void onUpdate() { - if (slime.getValue()) Blocks.SLIME_BLOCK.slipperiness = 0.4945f; // normal block speed 0.4945 - else Blocks.SLIME_BLOCK.slipperiness = 0.8f; - } - - @Override - public void onDisable() { Blocks.SLIME_BLOCK.slipperiness = 0.8f; } - - private boolean passItemCheck(Item item) { - if (!mc.player.isHandActive()) return false; - return allItems.getValue() - || (food.getValue() && item instanceof ItemFood) - || (bow.getValue() && item instanceof ItemBow) - || (potion.getValue() && item instanceof ItemPotion) - || (shield.getValue() && item instanceof ItemShield); - } -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.kt new file mode 100644 index 000000000..06d39ae68 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/NoSlowDown.kt @@ -0,0 +1,65 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zero.alpine.listener.EventHandler +import me.zero.alpine.listener.EventHook +import me.zero.alpine.listener.Listener +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Setting +import me.zeroeightsix.kami.setting.Settings +import net.minecraft.init.Blocks +import net.minecraft.item.* +import net.minecraftforge.client.event.InputUpdateEvent + +/** + * Created by 086 on 15/12/2017. + * Updated by dominikaaaa on 31/03/20 + * @see me.zeroeightsix.kami.mixin.client.MixinBlockSoulSand + * + * @see net.minecraft.client.entity.EntityPlayerSP.onLivingUpdate + */ +@Module.Info( + name = "NoSlowDown", + category = Module.Category.MOVEMENT, + description = "Prevents being slowed down when using an item or going through cobwebs" +) +class NoSlowDown : Module() { + @JvmField + var soulSand: Setting = register(Settings.b("Soul Sand", true)) + @JvmField + var cobweb: Setting = register(Settings.b("Cobweb", true)) + private val slime = register(Settings.b("Slime", true)) + private val allItems = register(Settings.b("All Items", false)) + private val food = register(Settings.booleanBuilder().withName("Food").withValue(true).withVisibility { v: Boolean? -> !allItems.value }.build()) + private val bow = register(Settings.booleanBuilder().withName("Bows").withValue(true).withVisibility { v: Boolean? -> !allItems.value }.build()) + private val potion = register(Settings.booleanBuilder().withName("Potions").withValue(true).withVisibility { v: Boolean? -> !allItems.value }.build()) + private val shield = register(Settings.booleanBuilder().withName("Shield").withValue(true).withVisibility { v: Boolean? -> !allItems.value }.build()) + + /* + * InputUpdateEvent is called just before the player is slowed down @see EntityPlayerSP.onLivingUpdate) + * We'll abuse this fact, and multiply moveStrafe and moveForward by 5 to nullify the *0.2f hardcoded by Mojang. + */ + @EventHandler + private val eventListener = Listener(EventHook { event: InputUpdateEvent -> + if (passItemCheck(mc.player.activeItemStack.getItem()) && !mc.player.isRiding) { + event.movementInput.moveStrafe *= 5f + event.movementInput.moveForward *= 5f + } + }) + + override fun onUpdate() { + if (slime.value) Blocks.SLIME_BLOCK.slipperiness = 0.4945f // normal block speed 0.4945 + else Blocks.SLIME_BLOCK.slipperiness = 0.8f + } + + public override fun onDisable() { + Blocks.SLIME_BLOCK.slipperiness = 0.8f + } + + private fun passItemCheck(item: Item): Boolean { + return if (!mc.player.isHandActive) false else allItems.value + || food.value && item is ItemFood + || bow.value && item is ItemBow + || potion.value && item is ItemPotion + || shield.value && item is ItemShield + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.java deleted file mode 100644 index a7dc16581..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.java +++ /dev/null @@ -1,30 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; - -import static me.zeroeightsix.kami.KamiMod.MODULE_MANAGER; - -/** - * Created by 086 on 23/08/2017. - * Updated by dominikaaaa on 06/03/20 - */ -@Module.Info( - name = "Sprint", - description = "Automatically makes the player sprint", - category = Module.Category.MOVEMENT, - showOnArray = Module.ShowOnArray.OFF -) -public class Sprint extends Module { - - @Override - public void onUpdate() { - if (mc.player == null) return; - if (MODULE_MANAGER.getModule(ElytraFlight.class).isEnabled() && (mc.player.isElytraFlying() || mc.player.capabilities.isFlying)) return; - try { - if (!mc.player.collidedHorizontally && mc.player.moveForward > 0) - mc.player.setSprinting(true); - else - mc.player.setSprinting(false); - } catch (Exception ignored) { } - } -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.kt new file mode 100644 index 000000000..632174826 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/Sprint.kt @@ -0,0 +1,24 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.KamiMod +import me.zeroeightsix.kami.module.Module + +/** + * Created by 086 on 23/08/2017. + * Updated by dominikaaaa on 06/03/20 + */ +@Module.Info( + name = "Sprint", + description = "Automatically makes the player sprint", + category = Module.Category.MOVEMENT, showOnArray = Module.ShowOnArray.OFF +) +class Sprint : Module() { + override fun onUpdate() { + if (mc.player == null) return + if (KamiMod.MODULE_MANAGER.getModule(ElytraFlight::class.java).isEnabled && (mc.player.isElytraFlying || mc.player.capabilities.isFlying)) return + + try { + mc.player.isSprinting = !mc.player.collidedHorizontally && mc.player.moveForward > 0 + } catch (ignored: Exception) { } + } +} \ No newline at end of file diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.java b/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.java deleted file mode 100644 index a2cc142b6..000000000 --- a/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.java +++ /dev/null @@ -1,48 +0,0 @@ -package me.zeroeightsix.kami.module.modules.movement; - -import me.zeroeightsix.kami.module.Module; -import me.zeroeightsix.kami.module.Module.Category; -import me.zeroeightsix.kami.setting.Setting; -import me.zeroeightsix.kami.setting.Settings; - -import static me.zeroeightsix.kami.util.MathsUtils.round; - -/** - * @author TBM - * Updated by dominikaaaa on 28/01/20 - */ -@Module.Info( - name = "TimerSpeed", - description = "Automatically change your timer to go fast", - category = Category.MOVEMENT -) -public class TimerSpeed extends Module { - private float tickDelay = 0.0f; - private static float curSpeed = 0.0f; - private Setting minimumSpeed = register(Settings.floatBuilder("Minimum Speed").withMinimum(0.1F).withMaximum(10.0F).withValue(4.0F).build()); - private Setting maxSpeed = register(Settings.floatBuilder("Max Speed").withMinimum(0.1F).withMaximum(10.0F).withValue(7.0F).build()); - private Setting attemptSpeed = register(Settings.floatBuilder("Attempt Speed").withMinimum(1.0F).withMaximum(10.0F).withValue(4.2F).build()); - private Setting fastSpeed = register(Settings.floatBuilder("Fast Speed").withMinimum(1.0F).withMaximum(10.0F).withValue(5.0F).build()); - - public static String returnGui() { - return "" + round(curSpeed, 2); - } - - public void onUpdate() { - if (tickDelay == minimumSpeed.getValue()) { - curSpeed = fastSpeed.getValue(); - mc.timer.tickLength = 50.0F / fastSpeed.getValue(); - } - - if (tickDelay >= maxSpeed.getValue()) { - tickDelay = 0; - curSpeed = attemptSpeed.getValue(); - mc.timer.tickLength = 50.0F / attemptSpeed.getValue(); - } - ++tickDelay; - } - public void onDisable() { - mc.timer.tickLength = 50.0F; - } - -} diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.kt b/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.kt new file mode 100644 index 000000000..84149a405 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/movement/TimerSpeed.kt @@ -0,0 +1,48 @@ +package me.zeroeightsix.kami.module.modules.movement + +import me.zeroeightsix.kami.module.Module +import me.zeroeightsix.kami.setting.Settings +import me.zeroeightsix.kami.util.MathsUtils + +/** + * @author TBM + * Updated by dominikaaaa on 28/01/20 + */ +@Module.Info( + name = "TimerSpeed", + description = "Automatically change your timer to go fast", + category = Module.Category.MOVEMENT +) +class TimerSpeed : Module() { + private var tickDelay = 0.0f + + private val minimumSpeed = register(Settings.floatBuilder("Minimum Speed").withMinimum(0.1f).withMaximum(10.0f).withValue(4.0f).build()) + private val maxSpeed = register(Settings.floatBuilder("Max Speed").withMinimum(0.1f).withMaximum(10.0f).withValue(7.0f).build()) + private val attemptSpeed = register(Settings.floatBuilder("Attempt Speed").withMinimum(1.0f).withMaximum(10.0f).withValue(4.2f).build()) + private val fastSpeed = register(Settings.floatBuilder("Fast Speed").withMinimum(1.0f).withMaximum(10.0f).withValue(5.0f).build()) + + override fun onUpdate() { + if (tickDelay == minimumSpeed.value) { + curSpeed = fastSpeed.value + mc.timer.tickLength = 50.0f / fastSpeed.value + } + if (tickDelay >= maxSpeed.value) { + tickDelay = 0f + curSpeed = attemptSpeed.value + mc.timer.tickLength = 50.0f / attemptSpeed.value + } + ++tickDelay + } + + public override fun onDisable() { + mc.timer.tickLength = 50.0f + } + + companion object { + private var curSpeed = 0.0f + @JvmStatic + fun returnGui(): String { + return "" + MathsUtils.round(curSpeed.toDouble(), 2) + } + } +} \ No newline at end of file