package com.example.addon.mixin; import net.minecraft.client.network.ClientPlayerInteractionManager; import net.minecraft.client.network.SequencedPacketCreator; import net.minecraft.client.world.ClientWorld; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; /** * Speedmine sends its own dig packets, but they still have to carry the client's prediction * sequence number or the server's acknowledgement will roll the predicted break back. * Vanilla does that in {@code sendSequencedPacket}, which is private, and the underlying * {@code ClientWorld.getPendingUpdateManager()} is package-private, so this is the only way in. */ @Mixin(ClientPlayerInteractionManager.class) public interface ClientPlayerInteractionManagerAccessor { @Invoker("sendSequencedPacket") void quinn$sendSequencedPacket(ClientWorld world, SequencedPacketCreator packetCreator); }