Skip to content

Commit

Permalink
Stop ClipManager execute on disconnect
Browse files Browse the repository at this point in the history
  • Loading branch information
NotNite committed Jul 21, 2023
1 parent 698ace2 commit 0166151
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/main/java/pm/n2/tangerine/mixin/MinecraftClientMixin.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package pm.n2.tangerine.mixin;

import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import pm.n2.tangerine.Tangerine;
import pm.n2.tangerine.core.TangerineEvent;
import pm.n2.tangerine.modules.visuals.GlowESPModule;

@Mixin(MinecraftClient.class)
Expand All @@ -15,4 +19,9 @@ public class MinecraftClientMixin {
cir.setReturnValue(true);
}
}

@Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL"))
private void disconnect(Screen screen, CallbackInfo ci) {
Tangerine.INSTANCE.getEventManager().dispatch(TangerineEvent.Disconnected.INSTANCE);
}
}
1 change: 1 addition & 0 deletions src/main/kotlin/pm/n2/tangerine/core/TangerineEvent.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import net.minecraft.network.packet.Packet
sealed class TangerineEvent {
data object PreTick : TangerineEvent()
data object PostTick : TangerineEvent()
data object Disconnected : TangerineEvent()

data class C2SPacket(val packet: Packet<*>) : TangerineEvent()
data class S2CPacket(val packet: Packet<*>) : TangerineEvent()
Expand Down
7 changes: 7 additions & 0 deletions src/main/kotlin/pm/n2/tangerine/managers/ClipManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ import net.minecraft.util.math.BlockPos
import net.minecraft.util.math.ChunkPos
import net.minecraft.util.math.Vec3d
import org.slf4j.LoggerFactory
import pm.n2.hajlib.event.EventHandler
import pm.n2.tangerine.Tangerine
import pm.n2.tangerine.core.Manager
import pm.n2.tangerine.core.TangerineEvent
import pm.n2.tangerine.core.TangerineTaskContext
import pm.n2.tangerine.managers.ClipManager.build
import kotlin.math.abs
Expand All @@ -36,6 +38,11 @@ object ClipManager : Manager {
const val SKY_INTERMEDIATE = 320.0 // our feet will be on 320, which is guaranteed to be air
const val VOID_INTERMEDIATE = -64.0 - 2.0 // 2 for the player to not suffocate in bedrock

@EventHandler
fun onDisconnected(event: TangerineEvent.Disconnected) {
isRunning = false
}

// List of lists - each entry in the first list should have all its packets sent on a single tick
fun build(from: Vec3d, to: Vec3d): List<List<Packet<*>>>? {
// If we're only going vertically, don't bother with hclip
Expand Down

0 comments on commit 0166151

Please sign in to comment.