diff --git a/src/main/java/appeng/core/sync/BasePacket.java b/src/main/java/appeng/core/sync/BasePacket.java index f8f5172bd..a31d32c1d 100644 --- a/src/main/java/appeng/core/sync/BasePacket.java +++ b/src/main/java/appeng/core/sync/BasePacket.java @@ -32,6 +32,15 @@ import appeng.core.sync.network.INetworkInfo; import appeng.core.sync.network.NetworkHandler; public abstract class BasePacket { + + /** + * Sadly {@link PacketBuffer#readString()} gets inlined by Proguard which means + * it's not available on the Server. This field has the default string length + * that is used for writeString, which then also should be used for readString + * when it has no special length requirements. + */ + public static final int MAX_STRING_LENGTH = 32767; + private PacketBuffer p; public void serverPacketData(final INetworkInfo manager, final PlayerEntity player) { diff --git a/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java b/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java index 1d7fb2ffc..5a3bbca36 100644 --- a/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java +++ b/src/main/java/appeng/core/sync/packets/ConfigValuePacket.java @@ -57,8 +57,8 @@ public class ConfigValuePacket extends BasePacket { private final String Value; public ConfigValuePacket(final PacketBuffer stream) { - this.Name = stream.readString(); - this.Value = stream.readString(); + this.Name = stream.readString(MAX_STRING_LENGTH); + this.Value = stream.readString(MAX_STRING_LENGTH); } // api diff --git a/src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java b/src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java index 6b8af2a9e..38d5b8c08 100644 --- a/src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java +++ b/src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java @@ -21,6 +21,7 @@ import net.minecraftforge.registries.ForgeRegistryEntry; import appeng.core.AEConfig; import appeng.core.AppEng; +import appeng.core.sync.BasePacket; public class GrinderRecipeSerializer extends ForgeRegistryEntry> implements IRecipeSerializer { @@ -70,7 +71,7 @@ public class GrinderRecipeSerializer extends ForgeRegistryEntry> implements IRecipeSerializer { @@ -67,7 +68,7 @@ public class InscriberRecipeSerializer extends ForgeRegistryEntry