Skip to content

Commit 0cdcbc5

Browse files
authoredNov 21, 2022
Added Parkour module (#416)
* Adding Parkour module * Move setting update block * Add renderer thickness
1 parent d8f5619 commit 0cdcbc5

File tree

1 file changed

+65
-0
lines changed
  • src/main/kotlin/com/lambda/client/module/modules/movement

1 file changed

+65
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.lambda.client.module.modules.movement
2+
3+
import com.lambda.client.event.events.RenderWorldEvent
4+
import com.lambda.client.event.listener.listener
5+
import com.lambda.client.module.Category
6+
import com.lambda.client.module.Module
7+
import com.lambda.client.module.modules.client.GuiColors
8+
import com.lambda.client.module.modules.render.Search.setting
9+
import com.lambda.client.util.Wrapper
10+
import com.lambda.client.util.graphics.ESPRenderer
11+
import com.lambda.client.util.graphics.GeometryMasks
12+
import com.lambda.client.util.threads.safeListener
13+
import net.minecraft.util.math.AxisAlignedBB
14+
import net.minecraft.util.math.BlockPos
15+
import net.minecraftforge.client.event.InputUpdateEvent
16+
17+
object Parkour: Module(
18+
name = "Parkour",
19+
category = Category.MOVEMENT,
20+
description = "Jumps when you are at the edge of a block"
21+
) {
22+
private val autoJump by setting("Auto Jump", true)
23+
private val onlyOnForwardKey by setting("Only on Forward", true, { autoJump })
24+
private val onSneak by setting("On Sneak", false)
25+
private val distanceToEdge by setting("Distance to edge", 0.001, 0.001..1.0, 0.001, { autoJump }, unit = " blocks")
26+
private val distanceToFloor by setting("Distance to floor", 0.07, 0.01..0.6, 0.01, { autoJump }, unit = " blocks")
27+
private val esp by setting("FeetESP", true)
28+
private val espFilledAlpha by setting("ESP Filled Alpha", 47, 0..255, 1, { esp })
29+
private val espOutlineAlpha by setting("ESP Outline Alpha", 0, 0..255, 1, { esp })
30+
private val thickness by setting("Line Thickness", 2.0f, 0.25f..5.0f, 0.25f, { esp })
31+
private val espColor by setting("ESP Color", GuiColors.primary, false, { esp })
32+
33+
private val renderer = ESPRenderer()
34+
private var currentCheckAABB = AxisAlignedBB(BlockPos.ORIGIN)
35+
36+
init {
37+
safeListener<InputUpdateEvent> {
38+
currentCheckAABB = player.entityBoundingBox
39+
.offset(0.0, -distanceToFloor, 0.0)
40+
.grow(-distanceToEdge, 0.0, -distanceToEdge)
41+
42+
if (autoJump
43+
&& player.onGround
44+
&& world.getCollisionBoxes(player, currentCheckAABB).isEmpty()
45+
&& (!player.isSneaking || !onSneak)
46+
&& (it.movementInput.forwardKeyDown || !onlyOnForwardKey)
47+
) it.movementInput.jump = true
48+
}
49+
50+
listener<RenderWorldEvent> {
51+
if (!esp) return@listener
52+
53+
renderer.aFilled = espFilledAlpha
54+
renderer.aOutline = espOutlineAlpha
55+
renderer.thickness = thickness
56+
57+
renderer.clear()
58+
Wrapper.player?.let {
59+
renderer.add(it, espColor, GeometryMasks.Quad.DOWN)
60+
}
61+
62+
renderer.render(false)
63+
}
64+
}
65+
}

0 commit comments

Comments
 (0)
Please sign in to comment.