Skip to content

Commit 76f735f

Browse files
author
tonimatasdev
committed
Version 2.0.0
1 parent 494eaa3 commit 76f735f

16 files changed

+116
-78
lines changed

common/src/main/java/dev/tonimatas/packetfixer/mixins/ClientboundCustomPayloadPacketMixin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
import org.spongepowered.asm.mixin.injection.Constant;
88
import org.spongepowered.asm.mixin.injection.ModifyConstant;
99

10-
@Mixin(value = ClientboundCustomPayloadPacket.class, priority = 9999)
10+
@Mixin(ClientboundCustomPayloadPacket.class)
1111
public class ClientboundCustomPayloadPacketMixin {
12-
@ModifyConstant(method = {"<init>(Lnet/minecraft/network/FriendlyByteBuf;)V", "<init>(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/network/FriendlyByteBuf;)V"}, constant = @Constant(intValue = 1048576))
12+
@ModifyConstant(method = {"<init>(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/network/FriendlyByteBuf;)V", "<init>(Lnet/minecraft/network/FriendlyByteBuf;)V"}, constant = @Constant(intValue = 1048576))
1313
private int newSize(int value) {
1414
return Config.getPacketSize();
1515
}
1616

17-
@ModifyConstant(method = {"<init>(Lnet/minecraft/network/FriendlyByteBuf;)V", "<init>(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/network/FriendlyByteBuf;)V"}, constant = @Constant(stringValue = "Payload may not be larger than 1048576 bytes"))
17+
@ModifyConstant(method = {"<init>(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/network/FriendlyByteBuf;)V", "<init>(Lnet/minecraft/network/FriendlyByteBuf;)V"}, constant = @Constant(stringValue = "Payload may not be larger than 1048576 bytes"))
1818
private String newSize(String value) {
1919
return PacketFixer.getPayloadMessage();
2020
}

common/src/main/java/dev/tonimatas/packetfixer/mixins/ClientboundCustomQueryPacketMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.spongepowered.asm.mixin.injection.Constant;
88
import org.spongepowered.asm.mixin.injection.ModifyConstant;
99

10-
@Mixin(value = ClientboundCustomQueryPacket.class, priority = 9999)
10+
@Mixin(ClientboundCustomQueryPacket.class)
1111
public class ClientboundCustomQueryPacketMixin {
1212
@ModifyConstant(method = "<init>(Lnet/minecraft/network/FriendlyByteBuf;)V", constant = @Constant(intValue = 1048576))
1313
private int newSize(int value) {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package dev.tonimatas.packetfixer.mixins;
2+
3+
import dev.tonimatas.packetfixer.util.Config;
4+
import net.minecraft.network.protocol.game.ClientboundLevelChunkPacketData;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.injection.Constant;
7+
import org.spongepowered.asm.mixin.injection.ModifyConstant;
8+
9+
@Mixin(ClientboundLevelChunkPacketData.class)
10+
public class ClientboundLevelChunkPacketDataMixin {
11+
@ModifyConstant(method = "<init>(Lnet/minecraft/network/FriendlyByteBuf;II)V", constant = @Constant(intValue = 2097152))
12+
private int init$size(int value) {
13+
return Config.getChunkPacketData();
14+
}
15+
16+
@ModifyConstant(method = "<init>(Lnet/minecraft/network/FriendlyByteBuf;II)V", constant = @Constant(stringValue = "Chunk Packet trying to allocate too much memory on read."))
17+
private String init$message(String constant) {
18+
return constant + " (" + Config.getChunkPacketData() + ") Modify it in the Packet Fixer config.";
19+
}
20+
}

common/src/main/java/dev/tonimatas/packetfixer/mixins/CompressionDecoderMixin.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
import dev.tonimatas.packetfixer.util.Config;
44
import net.minecraft.network.CompressionDecoder;
55
import org.spongepowered.asm.mixin.Mixin;
6-
import org.spongepowered.asm.mixin.injection.Constant;
7-
import org.spongepowered.asm.mixin.injection.ModifyConstant;
6+
import org.spongepowered.asm.mixin.injection.*;
87

9-
@Mixin(value = CompressionDecoder.class, priority = 9999)
8+
@Mixin(CompressionDecoder.class)
109
public class CompressionDecoderMixin {
1110
@ModifyConstant(method = "decode", constant = @Constant(intValue = 8388608))
1211
private int newSize(int value) {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package dev.tonimatas.packetfixer.mixins;
2+
3+
import dev.tonimatas.packetfixer.util.Config;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.injection.Constant;
6+
import org.spongepowered.asm.mixin.injection.ModifyConstant;
7+
8+
@Mixin(targets = "net.minecraft.network.Connection$1")
9+
public class ConnectionMixin {
10+
@ModifyConstant(method = "initChannel", constant = @Constant(intValue = 30))
11+
private int timeout(int value) {
12+
return Config.getTimeout();
13+
}
14+
}

common/src/main/java/dev/tonimatas/packetfixer/mixins/FriendlyByteBufMixin.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,30 @@
66
import org.spongepowered.asm.mixin.injection.Constant;
77
import org.spongepowered.asm.mixin.injection.ModifyConstant;
88

9-
@Mixin(value = FriendlyByteBuf.class, priority = 9999)
9+
@Mixin(FriendlyByteBuf.class)
1010
public abstract class FriendlyByteBufMixin {
1111
@ModifyConstant(method = "readNbt()Lnet/minecraft/nbt/CompoundTag;", constant = @Constant(longValue = 2097152L))
12-
public long newSize(long value) {
12+
private long newSize(long value) {
1313
return Config.getNbtMaxSize();
1414
}
15-
16-
@ModifyConstant(method = "readUtf()Ljava/lang/String;", constant = @Constant(intValue = 32767))
17-
public int newSize(int value) {
18-
return Config.getStringSize();
15+
16+
@ModifyConstant(method = "readVarInt", constant = @Constant(intValue = 5))
17+
private int readInt$size(int value) {
18+
return Config.getVarIntSize();
19+
}
20+
21+
@ModifyConstant(method = "readVarInt", constant = @Constant(stringValue = "VarInt too big"))
22+
private String readInt$size(String constant) {
23+
return "VarInt too big. Packet Fixer configured to " + Config.getVarIntSize() + ". You can modify it in the Packet Fixer config.";
1924
}
2025

21-
@ModifyConstant(method = "writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;", constant = @Constant(intValue = 32767))
22-
public int newSize$1(int value) {
23-
return Config.getStringSize();
26+
@ModifyConstant(method = "readVarLong", constant = @Constant(intValue = 10))
27+
private int readLong$size(int constant) {
28+
return Config.getVarLong();
2429
}
2530

26-
@ModifyConstant(method = "readResourceLocation", constant = @Constant(intValue = 32767))
27-
public int newSize$2(int value) {
28-
return Config.getStringSize();
31+
@ModifyConstant(method = "readVarLong", constant = @Constant(stringValue = "VarLong too big"))
32+
private String readLong$size(String constant) {
33+
return "VarInt too big. Packet Fixer configured to " + Config.getVarLong() + ". You can modify it in the Packet Fixer config.";
2934
}
3035
}

common/src/main/java/dev/tonimatas/packetfixer/mixins/MixinConfigPlugin.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package dev.tonimatas.packetfixer.mixins;
22

33
import dev.tonimatas.packetfixer.util.Config;
4-
import dev.tonimatas.packetfixer.util.Hooks;
5-
import dev.tonimatas.packetfixer.util.MixinCheck;
64
import org.objectweb.asm.tree.ClassNode;
75
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
86
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
@@ -25,18 +23,6 @@ public String getRefMapperConfig() {
2523
@SuppressWarnings("UnreachableCode")
2624
@Override
2725
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
28-
boolean connectivity = Hooks.isModLoaded("connectivity");
29-
boolean krypton = Hooks.isModLoaded("krypton") || Hooks.isModLoaded("pluto");
30-
boolean immersivePortals = Hooks.isModLoaded("immersive_portals");
31-
boolean theVault = Hooks.isModLoaded("the_vault");
32-
33-
if (MixinCheck.with(mixinClassName, "CompressionDecoderMixin")) return !connectivity;
34-
if (MixinCheck.with(mixinClassName, "compat.connectivity.CompressionDecoderMixin")) return connectivity;
35-
if (MixinCheck.with(mixinClassName, "Varint21FrameDecoderMixin") || MixinCheck.with(mixinClassName, "Varint21LengthFieldPrependerMixin")) return !krypton;
36-
if (MixinCheck.with(mixinClassName, "ClientboundCustomPayloadPacketMixin")) return (!immersivePortals && !theVault);
37-
if (MixinCheck.with(mixinClassName, "ServerboundCustomPayloadPacketMixin")) return !theVault;
38-
if (MixinCheck.with(mixinClassName, "ClientboundCustomQueryPacketMixin")) return !theVault;
39-
if (MixinCheck.with(mixinClassName, "ServerboundCustomQueryPacketMixin")) return !theVault;
4026
return true;
4127
}
4228

common/src/main/java/dev/tonimatas/packetfixer/mixins/PacketEncoderMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.spongepowered.asm.mixin.injection.Constant;
77
import org.spongepowered.asm.mixin.injection.ModifyConstant;
88

9-
@Mixin(value = PacketEncoder.class, priority = 9999)
9+
@Mixin(PacketEncoder.class)
1010
public class PacketEncoderMixin {
1111
@ModifyConstant(method = "encode(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;Lio/netty/buffer/ByteBuf;)V", constant = @Constant(intValue = 8388608))
1212
private int newSize(int value) {

common/src/main/java/dev/tonimatas/packetfixer/mixins/ServerboundCustomPayloadPacketMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.spongepowered.asm.mixin.injection.Constant;
88
import org.spongepowered.asm.mixin.injection.ModifyConstant;
99

10-
@Mixin(value = ServerboundCustomPayloadPacket.class, priority = 9999)
10+
@Mixin(ServerboundCustomPayloadPacket.class)
1111
public class ServerboundCustomPayloadPacketMixin {
1212
@ModifyConstant(method = "<init>(Lnet/minecraft/network/FriendlyByteBuf;)V", constant = @Constant(intValue = 32767))
1313
private int newSize(int value) {

common/src/main/java/dev/tonimatas/packetfixer/mixins/ServerboundCustomQueryPacketMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.spongepowered.asm.mixin.injection.Constant;
88
import org.spongepowered.asm.mixin.injection.ModifyConstant;
99

10-
@Mixin(value = ServerboundCustomQueryPacket.class, priority = 9999)
10+
@Mixin(ServerboundCustomQueryPacket.class)
1111
public class ServerboundCustomQueryPacketMixin {
1212
@ModifyConstant(method = "<init>(Lnet/minecraft/network/FriendlyByteBuf;)V", constant = @Constant(intValue = 1048576))
1313
private int newSize(int value) {
@@ -18,4 +18,4 @@ private int newSize(int value) {
1818
private String newSize(String value) {
1919
return PacketFixer.getPayloadMessage();
2020
}
21-
}
21+
}

0 commit comments

Comments
 (0)