Compare commits
No commits in common. "master" and "v1.0.0" have entirely different histories.
@ -1,6 +1,2 @@
|
||||
See Incoming and Outgoing Packets in Minecraft
|
||||

|
||||
|
||||
### Keybindings
|
||||
|
||||
- Stop/Start listening for Packets: (Default: K)
|
||||

|
||||
@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
id 'fabric-loom' version '1.10-SNAPSHOT'
|
||||
id 'maven-publish'
|
||||
id "org.jetbrains.kotlin.jvm" version "2.1.20"
|
||||
id "org.jetbrains.kotlin.jvm" version "2.1.10"
|
||||
}
|
||||
|
||||
version = project.mod_version
|
||||
|
||||
@ -4,15 +4,15 @@ org.gradle.parallel=true
|
||||
|
||||
# Fabric Properties
|
||||
# check these on https://fabricmc.net/develop
|
||||
minecraft_version=1.21.5
|
||||
yarn_mappings=1.21.5+build.1
|
||||
loader_version=0.16.13
|
||||
fabric_kotlin_version=1.13.2+kotlin.2.1.20
|
||||
minecraft_version=1.21.4
|
||||
yarn_mappings=1.21.4+build.8
|
||||
loader_version=0.16.10
|
||||
fabric_kotlin_version=1.13.1+kotlin.2.1.10
|
||||
|
||||
# Mod Properties
|
||||
mod_version=1.0.1
|
||||
mod_version=1.0.0
|
||||
maven_group=com.pumpkinmc
|
||||
archives_base_name=packeto
|
||||
|
||||
# Dependencies
|
||||
fabric_version=0.120.0+1.21.5
|
||||
fabric_version=0.118.0+1.21.4
|
||||
@ -1,6 +1,5 @@
|
||||
package com.pumpkinmc.mixin;
|
||||
|
||||
import com.pumpkinmc.Packeto;
|
||||
import com.pumpkinmc.Screen;
|
||||
import net.minecraft.network.ClientConnection;
|
||||
import net.minecraft.network.PacketCallbacks;
|
||||
@ -18,19 +17,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(ClientConnection.class)
|
||||
public class ClientConnectionMixin {
|
||||
@Inject(at = @At("HEAD"), method = "handlePacket")
|
||||
private static <T extends PacketListener> void handlePacket(Packet<T> packet, PacketListener listener, CallbackInfo ci) {
|
||||
if (!Packeto.INSTANCE.getStopped()) {
|
||||
Screen.INSTANCE.getReceived_packets().add(packet);
|
||||
}
|
||||
}
|
||||
|
||||
@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) {
|
||||
if (!Packeto.INSTANCE.getStopped()) {
|
||||
if (packet instanceof ClientTickEndC2SPacket || packet instanceof PlayerMoveC2SPacket || packet instanceof EntitySetHeadYawS2CPacket
|
||||
|| packet instanceof EntityS2CPacket) return;
|
||||
Screen.INSTANCE.getSent_packets().add(packet);
|
||||
}
|
||||
if (packet instanceof ClientTickEndC2SPacket || packet instanceof PlayerMoveC2SPacket || packet instanceof EntitySetHeadYawS2CPacket
|
||||
|| packet instanceof EntityS2CPacket) return;
|
||||
Screen.INSTANCE.getSent_packets().add(packet);
|
||||
}
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "handlePacket")
|
||||
private static <T extends PacketListener> void handlePacket(Packet<T> packet, PacketListener listener, CallbackInfo ci) {
|
||||
Screen.INSTANCE.getReceived_packets().add(packet);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,54 +1,18 @@
|
||||
package com.pumpkinmc
|
||||
|
||||
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.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.network.packet.Packet
|
||||
import net.minecraft.util.Identifier
|
||||
import org.lwjgl.glfw.GLFW
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
|
||||
object Packeto : ModInitializer {
|
||||
private val logger = LoggerFactory.getLogger("packeto")
|
||||
private lateinit var key_bind: KeyBinding
|
||||
var stopped = false
|
||||
|
||||
|
||||
override fun onInitialize() {
|
||||
HudLayerRegistrationCallback.EVENT.register { layer ->
|
||||
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
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,16 +1,25 @@
|
||||
package com.pumpkinmc
|
||||
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.minecraft.client.MinecraftClient
|
||||
import net.minecraft.client.gui.DrawContext
|
||||
import net.minecraft.client.gui.LayeredDrawer
|
||||
import net.minecraft.client.render.RenderTickCounter
|
||||
import net.minecraft.network.NetworkPhase
|
||||
import net.minecraft.network.NetworkState
|
||||
import net.minecraft.network.listener.PacketListener
|
||||
import net.minecraft.network.packet.Packet
|
||||
import net.minecraft.network.state.*
|
||||
import net.minecraft.util.Colors
|
||||
import java.util.Collections
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
import java.util.function.Function
|
||||
import java.util.stream.Collectors
|
||||
import java.util.stream.Stream
|
||||
|
||||
object Screen : LayeredDrawer.Layer {
|
||||
var sent_packets: MutableList<Packet<*>> = CopyOnWriteArrayList()
|
||||
var received_packets: MutableList<Packet<*>> = CopyOnWriteArrayList()
|
||||
var sent_packets: MutableList<Packet<*>> = CopyOnWriteArrayList();
|
||||
var received_packets: MutableList<Packet<*>> = CopyOnWriteArrayList();
|
||||
|
||||
override fun render(context: DrawContext, tickCounter: RenderTickCounter) {
|
||||
context.drawText(
|
||||
@ -20,11 +29,11 @@ object Screen : LayeredDrawer.Layer {
|
||||
0,
|
||||
Colors.RED,
|
||||
false
|
||||
)
|
||||
if (sent_packets.size >= 20) sent_packets.removeFirst()
|
||||
var i = 6
|
||||
);
|
||||
if (sent_packets.size >= 20) sent_packets.removeFirst();
|
||||
var i = 6;
|
||||
for (packet in sent_packets) {
|
||||
i += 10
|
||||
i += 10;
|
||||
context.drawText(
|
||||
MinecraftClient.getInstance().textRenderer,
|
||||
packet.packetType.id.path,
|
||||
@ -32,7 +41,7 @@ object Screen : LayeredDrawer.Layer {
|
||||
i,
|
||||
Colors.WHITE,
|
||||
false
|
||||
)
|
||||
);
|
||||
}
|
||||
context.drawText(
|
||||
MinecraftClient.getInstance().textRenderer,
|
||||
@ -41,11 +50,11 @@ object Screen : LayeredDrawer.Layer {
|
||||
0,
|
||||
Colors.RED,
|
||||
false
|
||||
)
|
||||
if (received_packets.size >= 20) received_packets.removeFirst()
|
||||
var x = 6
|
||||
);
|
||||
if (received_packets.size >= 20) received_packets.removeFirst();
|
||||
var x = 6;
|
||||
for (packet in received_packets) {
|
||||
x += 10
|
||||
x += 10;
|
||||
context.drawText(
|
||||
MinecraftClient.getInstance().textRenderer,
|
||||
packet.packetType.id.path,
|
||||
@ -53,7 +62,7 @@ object Screen : LayeredDrawer.Layer {
|
||||
x,
|
||||
Colors.WHITE,
|
||||
false
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,33 +1,33 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "packeto",
|
||||
"version": "${version}",
|
||||
"name": "Packeto",
|
||||
"description": "See Incoming and Outgoing Packets",
|
||||
"authors": [
|
||||
"Alexander Medvedev"
|
||||
],
|
||||
"license": "MIT",
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
{
|
||||
"value": "com.pumpkinmc.Packeto",
|
||||
"adapter": "kotlin"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"packeto.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.16.10",
|
||||
"minecraft": "~1.21.4",
|
||||
"java": ">=21",
|
||||
"fabric-api": "*",
|
||||
"fabric-language-kotlin": "*"
|
||||
},
|
||||
"suggests": {
|
||||
"another-mod": "*"
|
||||
}
|
||||
"schemaVersion": 1,
|
||||
"id": "packeto",
|
||||
"version": "${version}",
|
||||
"name": "Packeto",
|
||||
"description": "See Incoming and Outgoing Packets",
|
||||
"authors": [
|
||||
"Alexander Medvedev"
|
||||
],
|
||||
"license": "MIT",
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
{
|
||||
"value": "com.pumpkinmc.Packeto",
|
||||
"adapter": "kotlin"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"packeto.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.16.10",
|
||||
"minecraft": "~1.21.4",
|
||||
"java": ">=21",
|
||||
"fabric-api": "*",
|
||||
"fabric-language-kotlin": "*"
|
||||
},
|
||||
"suggests": {
|
||||
"another-mod": "*"
|
||||
}
|
||||
}
|
||||
@ -1,11 +1,11 @@
|
||||
{
|
||||
"required": true,
|
||||
"package": "com.pumpkinmc.mixin",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"mixins": [
|
||||
"ClientConnectionMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
"required": true,
|
||||
"package": "com.pumpkinmc.mixin",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"mixins": [
|
||||
"ClientConnectionMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user