Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ loom {
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
implementation "net.fabricmc:fabric-loader:${project.loader_version}"
implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"

include implementation("dev.xpple:clientarguments:${project.clientarguments_version}")
include implementation("dev.xpple:betterconfig-fabric:${project.betterconfig_version}")
Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ org.gradle.jvmargs=-Xmx2G
minecraft_version_dependency=>=26.1 <=26.1.2
minecraft_version_list=26.1,26.1.1,26.1.2
minecraft_version_list_presentable=26.1 - 26.1.2
loader_version=0.18.4
loom_version=1.15-SNAPSHOT
loader_version=0.19.2
loom_version=1.16-SNAPSHOT

# Mod Properties
mod_version=2.14.2
Expand All @@ -17,7 +17,7 @@ org.gradle.jvmargs=-Xmx2G

# Dependencies
# also check this on https://fabricmc.net/develop/
fabric_version=0.144.0+26.1
fabric_api_version=0.150.0+26.1.2
clientarguments_version=1.12.0
betterconfig_version=2.6.0
simplewaypoints_version=1.3.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ private static int add(FabricClientCommandSource source, Identifier packetType)
source.sendFeedback(Component.translatable("commands.clisten.add.success"));

if (callback == null) {
callback = (packet, side) -> {
callback = (packet, side) -> source.getClient().schedule(() -> {
String packetData;
Component packetDataPreview;
if (Configs.packetDumpMethod == Configs.PacketDumpMethod.BYTE_BUF) {
Expand Down Expand Up @@ -125,7 +125,7 @@ private static int add(FabricClientCommandSource source, Identifier packetType)
case C2C_OUTBOUND -> source.sendFeedback(Component.translatable("commands.clisten.sentC2CPacket", packetComponent));
case C2C_INBOUND -> source.sendFeedback(Component.translatable("commands.clisten.receivedC2CPacket", packetComponent));
}
};
});
}

return Command.SINGLE_SUCCESS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.google.gson.Gson;
import com.google.gson.stream.JsonWriter;
import com.mojang.datafixers.util.Either;
import com.mojang.serialization.Codec;
import com.mojang.serialization.DynamicOps;
import com.mojang.serialization.JsonOps;
Expand Down Expand Up @@ -41,6 +42,7 @@
import java.nio.channels.FileChannel;
import java.nio.channels.ScatteringByteChannel;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.PublicKey;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
Expand Down Expand Up @@ -181,6 +183,25 @@ public <T> void writeOptional(Optional<T> optional, StreamEncoder<? super Friend
writeNullable("optional", optional.orElse(null), valueEncoder);
}

@Override
public <L, R> void writeEither(Either<L, R> value, StreamEncoder<? super FriendlyByteBuf, L> leftWriter, StreamEncoder<? super FriendlyByteBuf, R> rightWriter) {
dump("either", () -> {
writer.name("left");
Optional<L> left = value.left();
if (left.isPresent()) {
writer.value(true);
writer.name("value");
dumpValue(left.get(), leftWriter);
}
Optional<R> right = value.right();
if (right.isPresent()) {
writer.value(false);
writer.name("value");
dumpValue(right.get(), rightWriter);
}
});
}

@Override
public <T> void writeNullable(@Nullable T value, StreamEncoder<? super FriendlyByteBuf, T> valueEncoder) {
writeNullable("nullable", value, valueEncoder);
Expand All @@ -203,6 +224,7 @@ private <T> void writeNullable(String type, @Nullable T value, StreamEncoder<? s
public PacketDumpByteBuf writeByteArray(byte[] array) {
return dump("byteArray", () -> writer
.name("length").value(array.length)
.name("utf8").value(new String(array, StandardCharsets.UTF_8))
.name("value").value(Base64.getEncoder().encodeToString(array))
);
}
Expand Down Expand Up @@ -231,6 +253,17 @@ public PacketDumpByteBuf writeLongArray(long[] array) {
});
}

@Override
public FriendlyByteBuf writeFixedSizeLongArray(long[] longs) {
return dump("fixedSizeLongArray", () -> {
writer.name("elements").beginArray();
for (final long element : longs) {
writer.value(element);
}
writer.endArray();
});
}

@Override
public PacketDumpByteBuf writeBlockPos(BlockPos pos) {
return dump("blockPos", () -> writer
Expand Down Expand Up @@ -392,6 +425,11 @@ public void writeFixedBitSet(BitSet bitSet, int size) {
});
}

@Override
public void writeContainerId(int id) {
dumpSimple("containerId", id, JsonWriter::value);
}

@Override
public PacketDumpByteBuf skipBytes(int length) {
return dump("skipBytes", () -> writer.name("length").value(length));
Expand Down Expand Up @@ -537,6 +575,7 @@ public int writeBytes(FileChannel fileChannel, long l, int i) throws IOException
private PacketDumpByteBuf dumpBytes(byte[] bytes) {
return dump("bytes", () -> writer
.name("length").value(bytes.length)
.name("utf8").value(new String(bytes, StandardCharsets.UTF_8))
.name("value").value(Base64.getEncoder().encodeToString(bytes))
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ public class ConnectionMixin {
@Shadow @Final private PacketFlow receiving;

@Inject(method = "channelRead0(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/Connection;genericsFtw(Lnet/minecraft/network/protocol/Packet;Lnet/minecraft/network/PacketListener;)V"))
private void onPacketReceive(ChannelHandlerContext context, Packet<?> packet, CallbackInfo ci) {
private void onPacketReceive(ChannelHandlerContext ctx, Packet<?> packet, CallbackInfo ci) {
if (this.receiving == PacketFlow.CLIENTBOUND) {
ListenCommand.onPacket(packet, ListenCommand.PacketFlow.CLIENTBOUND);
}
}

@Inject(method = "doSendPacket", at = @At("HEAD"))
private void onPacketSend(Packet<?> packet, @Nullable ChannelFutureListener sendListener, boolean flush, CallbackInfo ci) {
private void onPacketSend(Packet<?> packet, @Nullable ChannelFutureListener listener, boolean flush, CallbackInfo ci) {
if (this.receiving == PacketFlow.CLIENTBOUND) {
ListenCommand.onPacket(packet, ListenCommand.PacketFlow.SERVERBOUND);
}
Expand Down
Loading