Skip to content

Commit 1b7e9c5

Browse files
committed
Merge remote-tracking branch 'lambda-client/master' into safewalkCompat
2 parents f99fc16 + b0bca0e commit 1b7e9c5

File tree

9 files changed

+136
-176
lines changed

9 files changed

+136
-176
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ In this guide we will use [IntelliJ IDEA](https://www.jetbrains.com/idea/) as ou
123123
### Gradle build
124124

125125
Test if the environment is set up correctly by building the client and running it inside the IDE using the Gradle tab on the right side of the IDE.
126-
1. Go to `lambda > Tasks > build > runClient` in the Gradle tab and run the client.
126+
1. Go to `lambda > Tasks > forgegradle runs > runClient` in the Gradle tab and run the client.
127127
2. To build the client as a jar run `lambda > Tasks > build > build`. Gradle will create a new directory called `build`. The final built jar will be in `build/libs`.
128128

129129
### Stargazers

src/main/java/com/lambda/mixin/entity/MixinEntity.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.lambda.client.module.modules.movement.Velocity;
44
import com.lambda.client.module.modules.player.Freecam;
55
import com.lambda.client.module.modules.player.ViewLock;
6+
import net.minecraft.client.Minecraft;
7+
import net.minecraft.client.entity.EntityPlayerSP;
68
import net.minecraft.entity.Entity;
79
import org.spongepowered.asm.mixin.Mixin;
810
import org.spongepowered.asm.mixin.injection.At;
@@ -25,4 +27,33 @@ public void turn(float yaw, float pitch, CallbackInfo ci) {
2527
if (Freecam.handleTurn(casted, yaw, pitch, ci)) return;
2628
ViewLock.handleTurn(casted, yaw, pitch, ci);
2729
}
30+
31+
// these mixins are for step module before and after the step calculations are performed
32+
@Inject(method = "move", at = @At(value = "FIELD", target = "net/minecraft/entity/Entity.stepHeight:F", ordinal = 3, shift = At.Shift.BEFORE))
33+
private void preStep(MoverType type, double x, double y, double z, CallbackInfo ci) {
34+
EntityPlayerSP player = Minecraft.getMinecraft().player;
35+
36+
if (player == null) return;
37+
38+
if (entityId == player.getEntityId()
39+
&& Step.INSTANCE.isEnabled()
40+
&& !Step.INSTANCE.pre(boundingBox, player)
41+
) {
42+
storedStepHeight = player.stepHeight;
43+
player.stepHeight = Step.INSTANCE.getStrict() ? 1.015f : Step.INSTANCE.getUpStep().getValue();
44+
}
45+
}
46+
47+
@Inject(method = "move", at = @At(value = "INVOKE", target = "net/minecraft/entity/Entity.resetPositionToBB ()V", ordinal = 1, shift = At.Shift.BEFORE))
48+
private void postStep(MoverType type, double x, double y, double z, CallbackInfo ci) {
49+
Minecraft mc = Minecraft.getMinecraft();
50+
EntityPlayerSP player = mc.player;
51+
52+
if (player == null || !Step.INSTANCE.isEnabled()) return;
53+
54+
if (entityId == player.getEntityId()) {
55+
Step.INSTANCE.post(boundingBox, mc);
56+
}
57+
}
58+
2859
}

src/main/java/com/lambda/mixin/render/MixinRenderGlobal.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
import com.lambda.client.event.events.RenderEntityEvent;
66
import com.lambda.client.module.modules.player.Freecam;
77
import com.lambda.client.module.modules.render.SelectionHighlight;
8+
import com.lambda.client.util.Wrapper;
9+
import net.minecraft.client.entity.EntityPlayerSP;
810
import net.minecraft.client.renderer.RenderGlobal;
11+
import net.minecraft.client.renderer.ViewFrustum;
912
import net.minecraft.client.renderer.culling.ICamera;
1013
import net.minecraft.entity.Entity;
1114
import net.minecraft.entity.player.EntityPlayer;
@@ -15,6 +18,7 @@
1518
import org.spongepowered.asm.mixin.injection.At;
1619
import org.spongepowered.asm.mixin.injection.Inject;
1720
import org.spongepowered.asm.mixin.injection.ModifyVariable;
21+
import org.spongepowered.asm.mixin.injection.Redirect;
1822
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1923

2024
@Mixin(RenderGlobal.class)
@@ -50,4 +54,16 @@ public BlockPos setupTerrainStoreFlooredChunkPosition(BlockPos playerPos) {
5054

5155
return playerPos;
5256
}
57+
58+
@Redirect(method = "setupTerrain", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/ViewFrustum;updateChunkPositions(DD)V"))
59+
public void updateSetupTerrain(ViewFrustum viewFrustum, double viewEntityX, double viewEntityZ) {
60+
if (Freecam.INSTANCE.isEnabled()) {
61+
EntityPlayerSP player = Wrapper.getPlayer();
62+
if (player != null) {
63+
viewEntityX = player.posX;
64+
viewEntityZ = player.posZ;
65+
}
66+
}
67+
viewFrustum.updateChunkPositions(viewEntityX, viewEntityZ);
68+
}
5369
}

src/main/java/com/lambda/mixin/render/MixinViewFrustum.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

src/main/kotlin/com/lambda/client/manager/managers/TimerManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ object TimerManager : Manager {
2121

2222
init {
2323
listener<RunGameLoopEvent.Start> {
24-
if (timer.tick(5L)) {
25-
val removeTime = System.currentTimeMillis() - 250L
24+
if (timer.tick(6L)) {
25+
val removeTime = System.currentTimeMillis() - 600L
2626
modifications.values.removeIf { it.second < removeTime }
2727
}
2828

src/main/kotlin/com/lambda/client/module/modules/movement/Flight.kt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ object Flight : Module(
3333
modulePriority = 500
3434
) {
3535
// non packet
36-
private val mode by setting("Mode", FlightMode.PACKET)
36+
private val mode by setting("Mode", FlightMode.PACKET).also {
37+
it.listeners.add { if (it.value == FlightMode.PACKET) sendRubberbandPacket() }
38+
}
3739
private val speed by setting("Speed", 1.0f, 0f..10f, 0.1f, { mode != FlightMode.PACKET })
3840
private val glideSpeed by setting("Glide Speed", 0.05, 0.0..0.3, 0.001, { mode != FlightMode.PACKET })
3941

@@ -82,11 +84,8 @@ object Flight : Module(
8284
}
8385

8486
onEnable {
85-
runSafeR {
86-
val position = CPacketPlayer.Position(.0, .0, .0, true)
87-
filter.add(position)
88-
connection.sendPacket(position)
89-
} ?: disable()
87+
if (mode != FlightMode.PACKET) return@onEnable
88+
sendRubberbandPacket()
9089
}
9190

9291
safeListener<PlayerMoveEvent> {
@@ -297,4 +296,12 @@ object Flight : Module(
297296

298297
}
299298
}
299+
300+
private fun sendRubberbandPacket(){
301+
runSafeR {
302+
val position = CPacketPlayer.Position(.0, .0, .0, true)
303+
filter.add(position)
304+
connection.sendPacket(position)
305+
} ?: disable()
306+
}
300307
}

0 commit comments

Comments
 (0)