package us.myles.ViaVersion.protocols.protocol1_16_4to1_16_3;

import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.ClientboundPackets1_16_2;
import us.myles.ViaVersion.protocols.protocol1_16_2to1_16_1.ServerboundPackets1_16_2;

public class Protocol1_16_4To1_16_3 extends Protocol<ClientboundPackets1_16_2, ClientboundPackets1_16_2, ServerboundPackets1_16_2, ServerboundPackets1_16_2> {

    @Override
    protected void registerPackets() {

    }
}

@@ -106,16 +106,114 @@
 otocol;%0A
+import us.myles.ViaVersion.api.remapper.PacketRemapper;%0Aimport us.myles.ViaVersion.api.type.Type;%0A
 import u
@@ -545,57 +545,734 @@
     
-@Override%0A    protected void registerPackets() %7B%0A
+public Protocol1_16_4To1_16_3() %7B%0A        super(ClientboundPackets1_16_2.class, ClientboundPackets1_16_2.class, ServerboundPackets1_16_2.class, ServerboundPackets1_16_2.class);%0A    %7D%0A%0A    @Override%0A    protected void registerPackets() %7B%0A        registerIncoming(ServerboundPackets1_16_2.EDIT_BOOK, new PacketRemapper() %7B%0A            @Override%0A            public void registerMap() %7B%0A                map(Type.FLAT_VAR_INT_ITEM);%0A                map(Type.BOOLEAN);%0A                handler(wrapper -%3E %7B%0A                    int slot = wrapper.read(Type.VAR_INT);%0A                    wrapper.write(Type.VAR_INT, slot == 40 ? 1 : 0); // 40 = offhand, everything else assumed as mainhand%0A                %7D);%0A            %7D%0A        %7D);
 %0A   

Handle book edit change