added keybind
This commit is contained in:
parent
c528bdb113
commit
d6d13e0b9a
@ -1,2 +1,6 @@
|
|||||||
See Incoming and Outgoing Packets in Minecraft
|
See Incoming and Outgoing Packets in Minecraft
|
||||||

|

|
||||||
|
|
||||||
|
### Keybindings
|
||||||
|
|
||||||
|
- Stop/Start listening for Packets: (Default: K)
|
||||||
@ -1,5 +1,6 @@
|
|||||||
package com.pumpkinmc.mixin;
|
package com.pumpkinmc.mixin;
|
||||||
|
|
||||||
|
import com.pumpkinmc.Packeto;
|
||||||
import com.pumpkinmc.Screen;
|
import com.pumpkinmc.Screen;
|
||||||
import net.minecraft.network.ClientConnection;
|
import net.minecraft.network.ClientConnection;
|
||||||
import net.minecraft.network.PacketCallbacks;
|
import net.minecraft.network.PacketCallbacks;
|
||||||
@ -19,13 +20,17 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||||||
public class ClientConnectionMixin {
|
public class ClientConnectionMixin {
|
||||||
@Inject(at = @At("HEAD"), method = "handlePacket")
|
@Inject(at = @At("HEAD"), method = "handlePacket")
|
||||||
private static <T extends PacketListener> void handlePacket(Packet<T> packet, PacketListener listener, CallbackInfo ci) {
|
private static <T extends PacketListener> void handlePacket(Packet<T> packet, PacketListener listener, CallbackInfo ci) {
|
||||||
|
if (!Packeto.INSTANCE.getStopped()) {
|
||||||
Screen.INSTANCE.getReceived_packets().add(packet);
|
Screen.INSTANCE.getReceived_packets().add(packet);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Inject(at = @At("HEAD"), method = "send(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/PacketCallbacks;Z)V")
|
@Inject(at = @At("HEAD"), method = "send(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/PacketCallbacks;Z)V")
|
||||||
private void send(Packet<?> packet, @Nullable PacketCallbacks callbacks, boolean flush, CallbackInfo ci) {
|
private void send(Packet<?> packet, @Nullable PacketCallbacks callbacks, boolean flush, CallbackInfo ci) {
|
||||||
|
if (!Packeto.INSTANCE.getStopped()) {
|
||||||
if (packet instanceof ClientTickEndC2SPacket || packet instanceof PlayerMoveC2SPacket || packet instanceof EntitySetHeadYawS2CPacket
|
if (packet instanceof ClientTickEndC2SPacket || packet instanceof PlayerMoveC2SPacket || packet instanceof EntitySetHeadYawS2CPacket
|
||||||
|| packet instanceof EntityS2CPacket) return;
|
|| packet instanceof EntityS2CPacket) return;
|
||||||
Screen.INSTANCE.getSent_packets().add(packet);
|
Screen.INSTANCE.getSent_packets().add(packet);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,54 @@
|
|||||||
package com.pumpkinmc
|
package com.pumpkinmc
|
||||||
|
|
||||||
import net.fabricmc.api.ModInitializer
|
import net.fabricmc.api.ModInitializer
|
||||||
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
|
||||||
|
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback
|
import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer
|
import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer
|
||||||
|
import net.minecraft.client.MinecraftClient
|
||||||
|
import net.minecraft.client.option.KeyBinding
|
||||||
|
import net.minecraft.client.util.InputUtil
|
||||||
|
import net.minecraft.text.Text
|
||||||
|
import net.minecraft.util.Colors
|
||||||
import net.minecraft.util.Identifier
|
import net.minecraft.util.Identifier
|
||||||
|
import org.lwjgl.glfw.GLFW
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
|
|
||||||
|
|
||||||
object Packeto : ModInitializer {
|
object Packeto : ModInitializer {
|
||||||
private val logger = LoggerFactory.getLogger("packeto")
|
private val logger = LoggerFactory.getLogger("packeto")
|
||||||
|
private lateinit var key_bind: KeyBinding
|
||||||
|
var stopped = false
|
||||||
|
|
||||||
|
|
||||||
override fun onInitialize() {
|
override fun onInitialize() {
|
||||||
HudLayerRegistrationCallback.EVENT.register { layer ->
|
HudLayerRegistrationCallback.EVENT.register { layer ->
|
||||||
layer.addLayer(IdentifiedLayer.of(Identifier.of("packeto", "packets"), Screen))
|
layer.addLayer(IdentifiedLayer.of(Identifier.of("packeto", "packets"), Screen))
|
||||||
}
|
}
|
||||||
|
key_bind = KeyBindingHelper.registerKeyBinding(
|
||||||
|
KeyBinding(
|
||||||
|
"key.packeto.stop",
|
||||||
|
InputUtil.Type.KEYSYM,
|
||||||
|
GLFW.GLFW_KEY_K,
|
||||||
|
"category.packeto"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
ClientTickEvents.END_CLIENT_TICK.register(ClientTickEvents.EndTick { client: MinecraftClient ->
|
||||||
|
while (key_bind.wasPressed()) {
|
||||||
|
stopped = !stopped
|
||||||
|
if (stopped) {
|
||||||
|
client.player!!.sendMessage(
|
||||||
|
Text.literal("Stopped listening for Packets").withColor(Colors.RED),
|
||||||
|
true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
client.player!!.sendMessage(
|
||||||
|
Text.literal("Started listening for Packets").withColor(Colors.GREEN),
|
||||||
|
true
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -9,8 +9,8 @@ import net.minecraft.util.Colors
|
|||||||
import java.util.concurrent.CopyOnWriteArrayList
|
import java.util.concurrent.CopyOnWriteArrayList
|
||||||
|
|
||||||
object Screen : LayeredDrawer.Layer {
|
object Screen : LayeredDrawer.Layer {
|
||||||
var sent_packets: MutableList<Packet<*>> = CopyOnWriteArrayList();
|
var sent_packets: MutableList<Packet<*>> = CopyOnWriteArrayList()
|
||||||
var received_packets: MutableList<Packet<*>> = CopyOnWriteArrayList();
|
var received_packets: MutableList<Packet<*>> = CopyOnWriteArrayList()
|
||||||
|
|
||||||
override fun render(context: DrawContext, tickCounter: RenderTickCounter) {
|
override fun render(context: DrawContext, tickCounter: RenderTickCounter) {
|
||||||
context.drawText(
|
context.drawText(
|
||||||
@ -20,11 +20,11 @@ object Screen : LayeredDrawer.Layer {
|
|||||||
0,
|
0,
|
||||||
Colors.RED,
|
Colors.RED,
|
||||||
false
|
false
|
||||||
);
|
)
|
||||||
if (sent_packets.size >= 20) sent_packets.removeFirst();
|
if (sent_packets.size >= 20) sent_packets.removeFirst()
|
||||||
var i = 6;
|
var i = 6
|
||||||
for (packet in sent_packets) {
|
for (packet in sent_packets) {
|
||||||
i += 10;
|
i += 10
|
||||||
context.drawText(
|
context.drawText(
|
||||||
MinecraftClient.getInstance().textRenderer,
|
MinecraftClient.getInstance().textRenderer,
|
||||||
packet.packetType.id.path,
|
packet.packetType.id.path,
|
||||||
@ -32,7 +32,7 @@ object Screen : LayeredDrawer.Layer {
|
|||||||
i,
|
i,
|
||||||
Colors.WHITE,
|
Colors.WHITE,
|
||||||
false
|
false
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
context.drawText(
|
context.drawText(
|
||||||
MinecraftClient.getInstance().textRenderer,
|
MinecraftClient.getInstance().textRenderer,
|
||||||
@ -41,11 +41,11 @@ object Screen : LayeredDrawer.Layer {
|
|||||||
0,
|
0,
|
||||||
Colors.RED,
|
Colors.RED,
|
||||||
false
|
false
|
||||||
);
|
)
|
||||||
if (received_packets.size >= 20) received_packets.removeFirst();
|
if (received_packets.size >= 20) received_packets.removeFirst()
|
||||||
var x = 6;
|
var x = 6
|
||||||
for (packet in received_packets) {
|
for (packet in received_packets) {
|
||||||
x += 10;
|
x += 10
|
||||||
context.drawText(
|
context.drawText(
|
||||||
MinecraftClient.getInstance().textRenderer,
|
MinecraftClient.getInstance().textRenderer,
|
||||||
packet.packetType.id.path,
|
packet.packetType.id.path,
|
||||||
@ -53,7 +53,7 @@ object Screen : LayeredDrawer.Layer {
|
|||||||
x,
|
x,
|
||||||
Colors.WHITE,
|
Colors.WHITE,
|
||||||
false
|
false
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user