package us.myles.ViaVersion.protocols.protocol1_12_1to1_12;

import us.myles.ViaVersion.api.data.UserConnection;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.packets.State;

public class Protocol1_12_1TO1_12 extends Protocol {
    @Override
    protected void registerPackets() {
        registerOutgoing(State.PLAY, -1, 0x2B); // TODO new packet?
        registerOutgoing(State.PLAY, 0x2b, 0x2c);
        registerOutgoing(State.PLAY, 0x2c, 0x2d);
        registerOutgoing(State.PLAY, 0x2d, 0x2e);
        registerOutgoing(State.PLAY, 0x2e, 0x2f);
        registerOutgoing(State.PLAY, 0x2f, 0x30);
        registerOutgoing(State.PLAY, 0x30, 0x31);
        registerOutgoing(State.PLAY, 0x31, 0x32);
        registerOutgoing(State.PLAY, 0x32, 0x33);
        registerOutgoing(State.PLAY, 0x33, 0x34);
        registerOutgoing(State.PLAY, 0x34, 0x35);
        registerOutgoing(State.PLAY, 0x35, 0x36);
        registerOutgoing(State.PLAY, 0x36, 0x37);
        registerOutgoing(State.PLAY, 0x37, 0x38);
        registerOutgoing(State.PLAY, 0x38, 0x39);
        registerOutgoing(State.PLAY, 0x39, 0x3a);
        registerOutgoing(State.PLAY, 0x3a, 0x3b);
        registerOutgoing(State.PLAY, 0x3b, 0x3c);
        registerOutgoing(State.PLAY, 0x3c, 0x3d);
        registerOutgoing(State.PLAY, 0x3d, 0x3e);
        registerOutgoing(State.PLAY, 0x3e, 0x3f);
        registerOutgoing(State.PLAY, 0x3f, 0x40);
        registerOutgoing(State.PLAY, 0x40, 0x41);
        registerOutgoing(State.PLAY, 0x41, 0x42);
        registerOutgoing(State.PLAY, 0x42, 0x43);
        registerOutgoing(State.PLAY, 0x43, 0x44);
        registerOutgoing(State.PLAY, 0x44, 0x45);
        registerOutgoing(State.PLAY, 0x45, 0x46);
        registerOutgoing(State.PLAY, 0x46, 0x47);
        registerOutgoing(State.PLAY, 0x47, 0x48);
        registerOutgoing(State.PLAY, 0x48, 0x49);
        registerOutgoing(State.PLAY, 0x49, 0x4a);
        registerOutgoing(State.PLAY, 0x4a, 0x4b);
        registerOutgoing(State.PLAY, 0x4b, 0x4c);
        registerOutgoing(State.PLAY, 0x4c, 0x4d);
        registerOutgoing(State.PLAY, 0x4d, 0x4e);
        registerOutgoing(State.PLAY, 0x4e, 0x4f);


    }

    @Override
    public void init(UserConnection userConnection) {

    }
}

@@ -156,16 +156,114 @@
 otocol;%0A
+import us.myles.ViaVersion.api.remapper.PacketRemapper;%0Aimport us.myles.ViaVersion.api.type.Type;%0A
 import u
@@ -2272,16 +2272,1321 @@
 0x4f);%0A%0A
+        // TODO Where did the Prepare Crafting Grid packet go to?%0A        registerIncoming(State.PLAY, 0x01, -1);%0A%0A        registerIncoming(State.PLAY, 0x02, 0x01);%0A        registerIncoming(State.PLAY, 0x03, 0x02);%0A        registerIncoming(State.PLAY, 0x04, 0x03);%0A        registerIncoming(State.PLAY, 0x05, 0x04);%0A        registerIncoming(State.PLAY, 0x06, 0x05);%0A        registerIncoming(State.PLAY, 0x07, 0x06);%0A        registerIncoming(State.PLAY, 0x08, 0x07);%0A        registerIncoming(State.PLAY, 0x09, 0x08);%0A        registerIncoming(State.PLAY, 0x0a, 0x09);%0A        registerIncoming(State.PLAY, 0x0b, 0x0a);%0A        registerIncoming(State.PLAY, 0x0c, 0x0b);%0A        registerIncoming(State.PLAY, 0x0d, 0x0c);%0A        registerIncoming(State.PLAY, 0x0e, 0x0d);%0A        registerIncoming(State.PLAY, 0x0f, 0x0e);%0A        registerIncoming(State.PLAY, 0x10, 0x0f);%0A        registerIncoming(State.PLAY, 0x11, 0x10);%0A        registerIncoming(State.PLAY, 0x12, 0x11);%0A%0A        // TODO hello new packet%0A        registerIncoming(State.PLAY, -1, 0x12, new PacketRemapper() %7B%0A            @Override%0A            public void registerMap() %7B%0A                map(Type.BYTE); // 0 - Unknown%0A                map(Type.VAR_INT); // 1 - Unknown%0A                map(Type.BOOLEAN); // 2 - Unknown%0A            %7D%0A        %7D);%0A%0A
 %0A    %7D%0A%0A

Handle incoming packet id changes