diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java index bc939f55f..6bc7b7aaa 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractProtocol.java @@ -64,12 +64,13 @@ public abstract class AbstractProtocol mappedClientboundPacketType; protected final Class mappedServerboundPacketType; protected final Class unmappedServerboundPacketType; - private final PacketTypesProvider packetTypesProvider; - private final PacketMappings serverboundMappings = PacketMappings.arrayMappings(); - private final PacketMappings clientboundMappings = PacketMappings.arrayMappings(); + protected final PacketTypesProvider packetTypesProvider; + protected final PacketMappings clientboundMappings; + protected final PacketMappings serverboundMappings; private final Map, Object> storedObjects = new HashMap<>(); private boolean initialized; + @Deprecated protected AbstractProtocol() { this(null, null, null, null); } @@ -84,6 +85,8 @@ public abstract class AbstractProtocol Map> packetTypeMap(Class

packetTypeClass) { if (packetTypeClass != null) { Map> map = new EnumMap<>(State.class); diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractSimpleProtocol.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractSimpleProtocol.java index 27e6d5ef8..4403f73ca 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractSimpleProtocol.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/AbstractSimpleProtocol.java @@ -22,6 +22,15 @@ */ package com.viaversion.viaversion.api.protocol; +/** + * A simple protocol which does not have any packet types. + *

+ * {@link AbstractProtocol} should be preferred over this class in most cases. + */ public abstract class AbstractSimpleProtocol extends AbstractProtocol implements SimpleProtocol { + + protected AbstractSimpleProtocol() { + super(null, null, null, null); + } } diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/SimpleProtocol.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/SimpleProtocol.java index 913bd89a5..9c3457492 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/SimpleProtocol.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/SimpleProtocol.java @@ -39,7 +39,7 @@ public interface SimpleProtocol extends Protocol { + + public Protocol1_14_2To1_14_1() { + super(ClientboundPackets1_14.class, ClientboundPackets1_14.class, ServerboundPackets1_14.class, ServerboundPackets1_14.class); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_1to1_15/Protocol1_15_1To1_15.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_1to1_15/Protocol1_15_1To1_15.java index bfed14c58..59d968639 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_1to1_15/Protocol1_15_1To1_15.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_1to1_15/Protocol1_15_1To1_15.java @@ -22,4 +22,8 @@ import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPacke import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15; public class Protocol1_15_1To1_15 extends AbstractProtocol { + + public Protocol1_15_1To1_15() { + super(ClientboundPackets1_15.class, ClientboundPackets1_15.class, ServerboundPackets1_14.class, ServerboundPackets1_14.class); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_2to1_15_1/Protocol1_15_2To1_15_1.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_2to1_15_1/Protocol1_15_2To1_15_1.java index 117f0c3a2..82c61b90d 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_2to1_15_1/Protocol1_15_2To1_15_1.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15_2to1_15_1/Protocol1_15_2To1_15_1.java @@ -22,4 +22,8 @@ import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPacke import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15; public class Protocol1_15_2To1_15_1 extends AbstractProtocol { + + public Protocol1_15_2To1_15_1() { + super(ClientboundPackets1_15.class, ClientboundPackets1_15.class, ServerboundPackets1_14.class, ServerboundPackets1_14.class); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_1to1_16/Protocol1_16_1To1_16.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_1to1_16/Protocol1_16_1To1_16.java index de67773a1..adc005aee 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_1to1_16/Protocol1_16_1To1_16.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_1to1_16/Protocol1_16_1To1_16.java @@ -22,4 +22,8 @@ import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.ClientboundPacke import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.ServerboundPackets1_16; public class Protocol1_16_1To1_16 extends AbstractProtocol { + + public Protocol1_16_1To1_16() { + super(ClientboundPackets1_16.class, ClientboundPackets1_16.class, ServerboundPackets1_16.class, ServerboundPackets1_16.class); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_3to1_16_2/Protocol1_16_3To1_16_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_3to1_16_2/Protocol1_16_3To1_16_2.java index 468692466..8d172e1d9 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_3to1_16_2/Protocol1_16_3To1_16_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_3to1_16_2/Protocol1_16_3To1_16_2.java @@ -22,4 +22,8 @@ import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ClientboundPac import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ServerboundPackets1_16_2; public class Protocol1_16_3To1_16_2 extends AbstractProtocol { + + public Protocol1_16_3To1_16_2() { + super(ClientboundPackets1_16_2.class, ClientboundPackets1_16_2.class, ServerboundPackets1_16_2.class, ServerboundPackets1_16_2.class); + } }