|
19 | 19 |
|
20 | 20 | import com.lambda.event.EventFlow; |
21 | 21 | import com.lambda.event.events.InventoryEvent; |
| 22 | +import com.lambda.module.modules.movement.Velocity; |
22 | 23 | import com.lambda.module.modules.render.NoRender; |
23 | 24 | import com.lambda.event.events.WorldEvent; |
24 | 25 | import net.minecraft.client.network.ClientPlayNetworkHandler; |
25 | 26 | import net.minecraft.client.network.PlayerListEntry; |
26 | | -import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket; |
27 | | -import net.minecraft.network.packet.s2c.play.PlayerListS2CPacket; |
28 | | -import net.minecraft.network.packet.s2c.play.ScreenHandlerSlotUpdateS2CPacket; |
29 | | -import net.minecraft.network.packet.s2c.play.UpdateSelectedSlotS2CPacket; |
| 27 | +import net.minecraft.network.packet.s2c.play.*; |
30 | 28 | import org.spongepowered.asm.mixin.Mixin; |
31 | 29 | import org.spongepowered.asm.mixin.injection.At; |
32 | 30 | import org.spongepowered.asm.mixin.injection.Inject; |
@@ -67,4 +65,15 @@ private void onScreenHandlerSlotUpdate(ScreenHandlerSlotUpdateS2CPacket packet, |
67 | 65 | public boolean onServerMetadata(ClientPlayNetworkHandler clientPlayNetworkHandler) { |
68 | 66 | return NoRender.getNoChatVerificationToast(); |
69 | 67 | } |
| 68 | + |
| 69 | + // Cancel player velocity if Velocity module is enabled |
| 70 | + // Reference net.minecraft.client.network.ClientPlayNetworkHandler.onExplosion |
| 71 | + // |
| 72 | + // Explosion explosion = new Explosion(this.client.world, (Entity)null, packet.getX(), packet.getY(), packet.getZ(), packet.getRadius(), packet.getAffectedBlocks(), packet.getDestructionType(), packet.getParticle(), packet.getEmitterParticle(), packet.getSoundEvent()); |
| 73 | + // explosion.affectWorld(true); |
| 74 | + // this.client.player.setVelocity(this.client.player.getVelocity().add((double)packet.getPlayerVelocityX(), (double)packet.getPlayerVelocityY(), (double)packet.getPlayerVelocityZ())); |
| 75 | + @Inject(method = "onExplosion(Lnet/minecraft/network/packet/s2c/play/ExplosionS2CPacket;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;setVelocity(Lnet/minecraft/util/math/Vec3d;)V"), cancellable = true) |
| 76 | + void injectVelocity(ExplosionS2CPacket packet, CallbackInfo ci) { |
| 77 | + if (Velocity.INSTANCE.isEnabled()) ci.cancel(); |
| 78 | + } |
70 | 79 | } |
0 commit comments