Beispiel #1
0
        public static BiDictionary <Opcode, int> GetOpcodeDictionary(ClientVersionBuild build, Direction direction)
        {
            switch (build)
            {
            case ClientVersionBuild.V1_12_1_5875:
            case ClientVersionBuild.V2_0_1_6180:
            case ClientVersionBuild.V2_0_3_6299:
            case ClientVersionBuild.V2_0_6_6337:
            case ClientVersionBuild.V2_1_0_6692:
            case ClientVersionBuild.V2_1_1_6739:
            case ClientVersionBuild.V2_1_2_6803:
            case ClientVersionBuild.V2_1_3_6898:
            case ClientVersionBuild.V2_2_0_7272:
            case ClientVersionBuild.V2_2_2_7318:
            case ClientVersionBuild.V2_2_3_7359:
            case ClientVersionBuild.V2_3_0_7561:
            case ClientVersionBuild.V2_3_2_7741:
            case ClientVersionBuild.V2_3_3_7799:
            case ClientVersionBuild.V2_4_0_8089:
            case ClientVersionBuild.V2_4_1_8125:
            case ClientVersionBuild.V2_4_2_8209:
            case ClientVersionBuild.V2_4_3_8606:
            case ClientVersionBuild.V3_0_2_9056:
            case ClientVersionBuild.V3_0_3_9183:
            case ClientVersionBuild.V3_0_8_9464:
            case ClientVersionBuild.V3_0_8a_9506:
            case ClientVersionBuild.V3_0_9_9551:
            case ClientVersionBuild.V3_1_0_9767:
            case ClientVersionBuild.V3_1_1_9806:
            case ClientVersionBuild.V3_1_1a_9835:
            case ClientVersionBuild.V3_1_2_9901:
            case ClientVersionBuild.V3_1_3_9947:
            case ClientVersionBuild.V3_2_0_10192:
            case ClientVersionBuild.V3_2_0a_10314:
            case ClientVersionBuild.V3_2_2_10482:
            case ClientVersionBuild.V3_2_2a_10505:
            case ClientVersionBuild.V3_3_0_10958:
            case ClientVersionBuild.V3_3_0a_11159:
            case ClientVersionBuild.V3_3_3_11685:
            case ClientVersionBuild.V3_3_3a_11723:
            case ClientVersionBuild.V3_3_5_12213:
            case ClientVersionBuild.V3_3_5a_12340:
            {
                return(Opcodes_3_3_5.Opcodes(direction));
            }

            case ClientVersionBuild.V4_0_1_13164:
            case ClientVersionBuild.V4_0_1a_13205:
            case ClientVersionBuild.V4_0_3_13329:
            {
                return(Opcodes_4_0_3.Opcodes(direction));
            }

            case ClientVersionBuild.V4_0_6_13596:
            case ClientVersionBuild.V4_0_6a_13623:
            {
                return(Opcodes_4_0_6.Opcodes(direction));
            }

            case ClientVersionBuild.V4_1_0_13914:
            case ClientVersionBuild.V4_1_0a_14007:
            {
                return(Opcodes_4_1_0.Opcodes(direction));
            }

            case ClientVersionBuild.V4_2_0_14333:
            case ClientVersionBuild.V4_2_0a_14480:
            {
                return(Opcodes_4_2_0.Opcodes(direction));
            }

            case ClientVersionBuild.V4_2_2_14545:
            {
                return(Opcodes_4_2_2.Opcodes(direction));
            }

            case ClientVersionBuild.V4_3_0_15005:
            case ClientVersionBuild.V4_3_0a_15050:
            {
                return(Opcodes_4_3_0.Opcodes(direction));
            }

            case ClientVersionBuild.V4_3_2_15211:
            {
                return(Opcodes_4_3_2.Opcodes(direction));
            }

            case ClientVersionBuild.V4_3_3_15354:
            {
                return(Opcodes_4_3_3.Opcodes(direction));
            }

            case ClientVersionBuild.V4_3_4_15595:
            {
                return(Opcodes_4_3_4.Opcodes(direction));
            }

            case ClientVersionBuild.V5_0_4_16016:
            {
                return(Opcodes_5_0_4.Opcodes(direction));
            }

            case ClientVersionBuild.V5_0_5_16048:
            case ClientVersionBuild.V5_0_5a_16057:
            case ClientVersionBuild.V5_0_5b_16135:
            {
                return(Opcodes_5_0_5.Opcodes(direction));
            }

            case ClientVersionBuild.V5_1_0_16309:
            case ClientVersionBuild.V5_1_0a_16357:
            {
                return(Opcodes_5_1_0.Opcodes(direction));
            }

            case ClientVersionBuild.V5_2_0_16650:
            case ClientVersionBuild.V5_2_0_16669:
            case ClientVersionBuild.V5_2_0_16683:
            case ClientVersionBuild.V5_2_0_16685:
            case ClientVersionBuild.V5_2_0_16701:
            case ClientVersionBuild.V5_2_0_16709:
            case ClientVersionBuild.V5_2_0_16716:
            case ClientVersionBuild.V5_2_0_16733:
            case ClientVersionBuild.V5_2_0_16769:
            case ClientVersionBuild.V5_2_0_16826:
            {
                return(Opcodes_5_2_0.Opcodes(direction));
            }

            case ClientVersionBuild.V5_3_0_16981:
            case ClientVersionBuild.V5_3_0_16983:
            case ClientVersionBuild.V5_3_0_16992:
            case ClientVersionBuild.V5_3_0_17055:
            case ClientVersionBuild.V5_3_0_17116:
            case ClientVersionBuild.V5_3_0_17128:
            {
                return(Opcodes_5_3_0.Opcodes(direction));
            }

            case ClientVersionBuild.V5_4_0_17359:
            case ClientVersionBuild.V5_4_0_17371:
            case ClientVersionBuild.V5_4_0_17399:
            {
                return(Opcodes_5_4_0.Opcodes(direction));
            }

            case ClientVersionBuild.V5_4_1_17538:
            {
                return(Opcodes_5_4_1.Opcodes(direction));
            }

            case ClientVersionBuild.V5_4_2_17658:
            case ClientVersionBuild.V5_4_2_17688:
            {
                return(Opcodes_5_4_2.Opcodes(direction));
            }

            case ClientVersionBuild.V5_4_7_17898:
            case ClientVersionBuild.V5_4_7_17930:
            case ClientVersionBuild.V5_4_7_17956:
            case ClientVersionBuild.V5_4_7_18019:
            {
                return(Opcodes_5_4_7.Opcodes(direction));
            }

            case ClientVersionBuild.V5_4_8_18291:
            case ClientVersionBuild.V5_4_8_18414:
            {
                return(Opcodes_5_4_8.Opcodes(direction));
            }

            case ClientVersionBuild.V6_0_2_19033:
            case ClientVersionBuild.V6_0_2_19034:
            {
                return(Opcodes_6_0_2.Opcodes(direction));
            }

            case ClientVersionBuild.V6_0_3_19103:
            case ClientVersionBuild.V6_0_3_19116:
            case ClientVersionBuild.V6_0_3_19243:
            case ClientVersionBuild.V6_0_3_19342:
            {
                return(Opcodes_6_0_3.Opcodes(direction));
            }

            case ClientVersionBuild.V6_1_0_19678:
            case ClientVersionBuild.V6_1_0_19702:
            {
                return(Opcodes_6_1_0.Opcodes(direction));
            }

            case ClientVersionBuild.V6_1_2_19802:
            case ClientVersionBuild.V6_1_2_19831:
            case ClientVersionBuild.V6_1_2_19865:
            {
                return(Opcodes_6_1_2.Opcodes(direction));
            }

            case ClientVersionBuild.V6_2_0_20173:
            case ClientVersionBuild.V6_2_0_20182:
            case ClientVersionBuild.V6_2_0_20201:
            case ClientVersionBuild.V6_2_0_20216:
            case ClientVersionBuild.V6_2_0_20253:
            case ClientVersionBuild.V6_2_0_20338:
            {
                return(Opcodes_6_2_0.Opcodes(direction));
            }

            case ClientVersionBuild.V6_2_2_20444:
            case ClientVersionBuild.V6_2_2a_20490:
            case ClientVersionBuild.V6_2_2a_20574:
            {
                return(Opcodes_6_2_2.Opcodes(direction));
            }

            case ClientVersionBuild.V6_2_3_20726:
            case ClientVersionBuild.V6_2_3_20779:
            case ClientVersionBuild.V6_2_3_20886:
            {
                return(Opcodes_6_2_3.Opcodes(direction));
            }

            case ClientVersionBuild.V6_2_4_21315:
            case ClientVersionBuild.V6_2_4_21336:
            case ClientVersionBuild.V6_2_4_21343:
            case ClientVersionBuild.V6_2_4_21345:
            case ClientVersionBuild.V6_2_4_21348:
            case ClientVersionBuild.V6_2_4_21355:
            case ClientVersionBuild.V6_2_4_21463:
            case ClientVersionBuild.V6_2_4_21676:
            case ClientVersionBuild.V6_2_4_21742:
            {
                return(Opcodes_6_2_4.Opcodes(direction));
            }

            case ClientVersionBuild.V7_0_3_22248:
            case ClientVersionBuild.V7_0_3_22280:
            case ClientVersionBuild.V7_0_3_22289:
            case ClientVersionBuild.V7_0_3_22293:
            case ClientVersionBuild.V7_0_3_22345:
            case ClientVersionBuild.V7_0_3_22396:
            case ClientVersionBuild.V7_0_3_22410:
            case ClientVersionBuild.V7_0_3_22423:
            case ClientVersionBuild.V7_0_3_22445:
            case ClientVersionBuild.V7_0_3_22498:
            case ClientVersionBuild.V7_0_3_22522:
            case ClientVersionBuild.V7_0_3_22566:
            case ClientVersionBuild.V7_0_3_22594:
            case ClientVersionBuild.V7_0_3_22624:
            case ClientVersionBuild.V7_0_3_22747:
            case ClientVersionBuild.V7_0_3_22810:
            {
                return(Opcodes_7_0_3.Opcodes(direction));
            }

            case ClientVersionBuild.V7_1_0_22900:
            case ClientVersionBuild.V7_1_0_22908:
            case ClientVersionBuild.V7_1_0_22950:
            case ClientVersionBuild.V7_1_0_22989:
            case ClientVersionBuild.V7_1_0_22995:
            case ClientVersionBuild.V7_1_0_22996:
            case ClientVersionBuild.V7_1_0_23171:
            case ClientVersionBuild.V7_1_0_23222:
            {
                return(Opcodes_7_1_0.Opcodes(direction));
            }

            case ClientVersionBuild.V7_1_5_23360:
            case ClientVersionBuild.V7_1_5_23420:
            {
                return(Opcodes_7_1_5.Opcodes(direction));
            }

            case ClientVersionBuild.V7_2_0_23706:
            case ClientVersionBuild.V7_2_0_23826:
            case ClientVersionBuild.V7_2_0_23835:
            case ClientVersionBuild.V7_2_0_23836:
            case ClientVersionBuild.V7_2_0_23846:
            case ClientVersionBuild.V7_2_0_23852:
            case ClientVersionBuild.V7_2_0_23857:
            case ClientVersionBuild.V7_2_0_23877:
            case ClientVersionBuild.V7_2_0_23911:
            case ClientVersionBuild.V7_2_0_23937:
            case ClientVersionBuild.V7_2_0_24015:
            {
                return(Opcodes_7_2_0.Opcodes(direction));
            }

            case ClientVersionBuild.V7_2_5_24330:
            case ClientVersionBuild.V7_2_5_24367:
            case ClientVersionBuild.V7_2_5_24414:
            case ClientVersionBuild.V7_2_5_24415:
            case ClientVersionBuild.V7_2_5_24430:
            case ClientVersionBuild.V7_2_5_24461:
            case ClientVersionBuild.V7_2_5_24742:
            {
                return(Opcodes_7_2_5.Opcodes(direction));
            }

            case ClientVersionBuild.V7_3_0_24920:
            case ClientVersionBuild.V7_3_0_24931:
            case ClientVersionBuild.V7_3_0_24956:
            case ClientVersionBuild.V7_3_0_24970:
            case ClientVersionBuild.V7_3_0_24974:
            case ClientVersionBuild.V7_3_0_25021:
            case ClientVersionBuild.V7_3_0_25195:
            {
                return(Opcodes_7_3_0.Opcodes(direction));
            }

            case ClientVersionBuild.V7_3_2_25383:
            case ClientVersionBuild.V7_3_2_25442:
            case ClientVersionBuild.V7_3_2_25455:
            case ClientVersionBuild.V7_3_2_25477:
            case ClientVersionBuild.V7_3_2_25480:
            case ClientVersionBuild.V7_3_2_25497:
            case ClientVersionBuild.V7_3_2_25549:
            {
                return(Opcodes_7_3_2.Opcodes(direction));
            }

            case ClientVersionBuild.V7_3_5_25848:
            case ClientVersionBuild.V7_3_5_25860:
            case ClientVersionBuild.V7_3_5_25864:
            case ClientVersionBuild.V7_3_5_25875:
            case ClientVersionBuild.V7_3_5_25881:
            case ClientVersionBuild.V7_3_5_25901:
            case ClientVersionBuild.V7_3_5_25928:
            case ClientVersionBuild.V7_3_5_25937:
            case ClientVersionBuild.V7_3_5_25944:
            case ClientVersionBuild.V7_3_5_25946:
            case ClientVersionBuild.V7_3_5_25950:
            case ClientVersionBuild.V7_3_5_25961:
            case ClientVersionBuild.V7_3_5_25996:
            case ClientVersionBuild.V7_3_5_26124:
            case ClientVersionBuild.V7_3_5_26365:
            case ClientVersionBuild.V7_3_5_26654:
            case ClientVersionBuild.V7_3_5_26755:
            case ClientVersionBuild.V7_3_5_26822:
            case ClientVersionBuild.V7_3_5_26899:
            case ClientVersionBuild.V7_3_5_26972:
            {
                return(Opcodes_7_3_5.Opcodes(direction));
            }

            case ClientVersionBuild.V8_0_1_27101:
            case ClientVersionBuild.V8_0_1_27144:
            case ClientVersionBuild.V8_0_1_27165:
            case ClientVersionBuild.V8_0_1_27178:
            case ClientVersionBuild.V8_0_1_27219:
            case ClientVersionBuild.V8_0_1_27291:
            case ClientVersionBuild.V8_0_1_27326:
            case ClientVersionBuild.V8_0_1_27355:
            case ClientVersionBuild.V8_0_1_27356:
            case ClientVersionBuild.V8_0_1_27366:
            case ClientVersionBuild.V8_0_1_27377:
            case ClientVersionBuild.V8_0_1_27404:
            case ClientVersionBuild.V8_0_1_27481:
            case ClientVersionBuild.V8_0_1_27547:
            case ClientVersionBuild.V8_0_1_27602:
            case ClientVersionBuild.V8_0_1_27791:
            case ClientVersionBuild.V8_0_1_27843:
            case ClientVersionBuild.V8_0_1_27980:
            case ClientVersionBuild.V8_0_1_28153:
            {
                return(Opcodes_8_0_1.Opcodes(direction));
            }

            case ClientVersionBuild.V8_1_0_28724:
            case ClientVersionBuild.V8_1_0_28768:
            case ClientVersionBuild.V8_1_0_28807:
            case ClientVersionBuild.V8_1_0_28822:
            case ClientVersionBuild.V8_1_0_28833:
            case ClientVersionBuild.V8_1_0_29088:
            case ClientVersionBuild.V8_1_0_29139:
            case ClientVersionBuild.V8_1_0_29235:
            case ClientVersionBuild.V8_1_0_29285:
            case ClientVersionBuild.V8_1_0_29297:
            case ClientVersionBuild.V8_1_0_29482:
            case ClientVersionBuild.V8_1_0_29600:
            case ClientVersionBuild.V8_1_0_29621:
            {
                return(Opcodes_8_1_0.Opcodes(direction));
            }

            case ClientVersionBuild.V8_1_5_29683:
            case ClientVersionBuild.V8_1_5_29701:
            case ClientVersionBuild.V8_1_5_29704:
            case ClientVersionBuild.V8_1_5_29705:
            case ClientVersionBuild.V8_1_5_29718:
            case ClientVersionBuild.V8_1_5_29732:
            case ClientVersionBuild.V8_1_5_29737:
            case ClientVersionBuild.V8_1_5_29814:
            case ClientVersionBuild.V8_1_5_29869:
            case ClientVersionBuild.V8_1_5_29896:
            case ClientVersionBuild.V8_1_5_29981:
            case ClientVersionBuild.V8_1_5_30477:
            case ClientVersionBuild.V8_1_5_30706:
            {
                return(Opcodes_8_1_5.Opcodes(direction));
            }

            case ClientVersionBuild.V8_2_0_30898:
            case ClientVersionBuild.V8_2_0_30918:
            case ClientVersionBuild.V8_2_0_30920:
            case ClientVersionBuild.V8_2_0_30948:
            case ClientVersionBuild.V8_2_0_30993:
            case ClientVersionBuild.V8_2_0_31229:
            case ClientVersionBuild.V8_2_0_31429:
            {
                return(Opcodes_8_2_0.Opcodes(direction));
            }

            default:
            {
                return(Opcodes_3_3_5.Opcodes(direction));
            }
            }
        }
        public static BiDictionary <Opcode, int> GetOpcodeDictionary(ClientVersionBuild build, Direction direction)
        {
            switch (GetOpcodeDefiningBuild(build))
            {
            case ClientVersionBuild.V3_3_5a_12340:
                return(Opcodes_3_3_5.Opcodes(direction));

            case ClientVersionBuild.V4_0_3_13329:
                return(Opcodes_4_0_3.Opcodes(direction));

            case ClientVersionBuild.V4_0_6_13596:
                return(Opcodes_4_0_6.Opcodes(direction));

            case ClientVersionBuild.V4_1_0_13914:
                return(Opcodes_4_1_0.Opcodes(direction));

            case ClientVersionBuild.V4_2_0_14333:
                return(Opcodes_4_2_0.Opcodes(direction));

            case ClientVersionBuild.V4_2_2_14545:
                return(Opcodes_4_2_2.Opcodes(direction));

            case ClientVersionBuild.V4_3_0_15005:
                return(Opcodes_4_3_0.Opcodes(direction));

            case ClientVersionBuild.V4_3_2_15211:
                return(Opcodes_4_3_2.Opcodes(direction));

            case ClientVersionBuild.V4_3_3_15354:
                return(Opcodes_4_3_3.Opcodes(direction));

            case ClientVersionBuild.V4_3_4_15595:
                return(Opcodes_4_3_4.Opcodes(direction));

            case ClientVersionBuild.V5_0_4_16016:
                return(Opcodes_5_0_4.Opcodes(direction));

            case ClientVersionBuild.V5_0_5_16048:
                return(Opcodes_5_0_5.Opcodes(direction));

            case ClientVersionBuild.V5_1_0_16309:
                return(Opcodes_5_1_0.Opcodes(direction));

            case ClientVersionBuild.V5_2_0_16650:
                return(Opcodes_5_2_0.Opcodes(direction));

            case ClientVersionBuild.V5_3_0_16981:
                return(Opcodes_5_3_0.Opcodes(direction));

            case ClientVersionBuild.V5_4_0_17359:
                return(Opcodes_5_4_0.Opcodes(direction));

            case ClientVersionBuild.V5_4_1_17538:
                return(Opcodes_5_4_1.Opcodes(direction));

            case ClientVersionBuild.V5_4_2_17658:
                return(Opcodes_5_4_2.Opcodes(direction));

            case ClientVersionBuild.V5_4_7_17898:
                return(Opcodes_5_4_7.Opcodes(direction));

            case ClientVersionBuild.V5_4_8_18291:
                return(Opcodes_5_4_8.Opcodes(direction));

            case ClientVersionBuild.V6_0_2_19033:
                return(Opcodes_6_0_2.Opcodes(direction));

            case ClientVersionBuild.V6_0_3_19103:
                return(Opcodes_6_0_3.Opcodes(direction));

            case ClientVersionBuild.V6_1_0_19678:
                return(Opcodes_6_1_0.Opcodes(direction));

            case ClientVersionBuild.V6_1_2_19802:
                return(Opcodes_6_1_2.Opcodes(direction));

            case ClientVersionBuild.V6_2_0_20173:
                return(Opcodes_6_2_0.Opcodes(direction));

            case ClientVersionBuild.V6_2_2_20444:
                return(Opcodes_6_2_2.Opcodes(direction));

            case ClientVersionBuild.V6_2_3_20726:
                return(Opcodes_6_2_3.Opcodes(direction));

            case ClientVersionBuild.V6_2_4_21315:
                return(Opcodes_6_2_4.Opcodes(direction));

            case ClientVersionBuild.V7_0_3_22248:
                return(Opcodes_7_0_3.Opcodes(direction));

            case ClientVersionBuild.V7_1_0_22900:
                return(Opcodes_7_1_0.Opcodes(direction));

            case ClientVersionBuild.V7_1_5_23360:
                return(Opcodes_7_1_5.Opcodes(direction));

            case ClientVersionBuild.V7_2_0_23706:
                return(Opcodes_7_2_0.Opcodes(direction));

            case ClientVersionBuild.V7_2_5_24330:
                return(Opcodes_7_2_5.Opcodes(direction));

            case ClientVersionBuild.V7_3_0_24920:
                return(Opcodes_7_3_0.Opcodes(direction));

            case ClientVersionBuild.V7_3_2_25383:
                return(Opcodes_7_3_2.Opcodes(direction));

            case ClientVersionBuild.V7_3_5_25848:
                return(Opcodes_7_3_5.Opcodes(direction));

            case ClientVersionBuild.V8_0_1_27101:
                return(Opcodes_8_0_1.Opcodes(direction));

            case ClientVersionBuild.V8_1_0_28724:
                return(Opcodes_8_1_0.Opcodes(direction));

            case ClientVersionBuild.V8_1_5_29683:
                return(Opcodes_8_1_5.Opcodes(direction));

            case ClientVersionBuild.V8_2_0_30898:
                return(Opcodes_8_2_0.Opcodes(direction));

            case ClientVersionBuild.V8_2_5_31921:
                return(Opcodes_8_2_5.Opcodes(direction));

            case ClientVersionBuild.V8_3_0_33062:
                return(Opcodes_8_3_0.Opcodes(direction));

            case ClientVersionBuild.V8_3_7_35249:
                return(Opcodes_8_3_7.Opcodes(direction));

            case ClientVersionBuild.V9_0_1_36216:
                return(Opcodes_9_0_1.Opcodes(direction));

            case ClientVersionBuild.V9_0_2_36639:
                return(Opcodes_9_0_2.Opcodes(direction));

            case ClientVersionBuild.V1_13_2_31446:
                return(Opcodes_1_13_2.Opcodes(direction));

            case ClientVersionBuild.V1_13_4_33598:
                return(Opcodes_1_13_4.Opcodes(direction));

            case ClientVersionBuild.v1_13_5_34713:
                return(Opcodes_1_13_5.Opcodes(direction));

            case ClientVersionBuild.V1_13_6_36714:
                return(Opcodes_1_13_6.Opcodes(direction));

            default:
                return(Opcodes_3_3_5.Opcodes(direction));
            }
        }