From 40d7ed052f56619885e2cb21eac8dd89839ce531 Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Sat, 25 Jul 2026 12:38:52 +0200 Subject: [PATCH] feat: add more mappings --- .../data/mappings-1.10to1.9.4.nbt | Bin 0 -> 118 bytes .../viabackwards/data/mappings-1.11to1.10.nbt | Bin 0 -> 164 bytes .../viabackwards/data/mappings-1.12to1.11.nbt | Bin 0 -> 532 bytes .../data/mappings-1.13.2to1.13.nbt | Bin 0 -> 434 bytes .../viabackwards/data/mappings-1.13to1.12.nbt | Bin 0 -> 26075 bytes .../data/mappings-1.14to1.13.2.nbt | Bin 0 -> 3309 bytes .../viabackwards/data/mappings-1.15to1.14.nbt | Bin 0 -> 786 bytes .../data/mappings-1.16.2to1.16.nbt | Bin 0 -> 411 bytes .../viabackwards/data/mappings-1.16to1.15.nbt | Bin 0 -> 14174 bytes .../data/mappings-1.17to1.16.2.nbt | Bin 0 -> 4870 bytes .../viabackwards/data/mappings-1.18to1.17.nbt | Bin 0 -> 322 bytes .../data/mappings-1.19.3to1.19.nbt | Bin 0 -> 2007 bytes .../data/mappings-1.19.4to1.19.3.nbt | Bin 0 -> 1693 bytes .../viabackwards/data/mappings-1.19to1.18.nbt | Bin 0 -> 2524 bytes .../data/mappings-1.20.2to1.20.nbt | Bin 0 -> 320 bytes .../data/mappings-1.20.3to1.20.2.nbt | Bin 0 -> 2127 bytes .../data/mappings-1.20.5to1.20.3.nbt | Bin 0 -> 1391 bytes .../data/mappings-1.20to1.19.4.nbt | Bin 0 -> 1051 bytes pumpkin-codegen/Cargo.lock | 8 -- pumpkin-codegen/src/block.rs | 4 +- pumpkin-codegen/src/main.rs | 3 +- pumpkin-codegen/src/remap/block_state.rs | 87 +++++++++++++++++- pumpkin-codegen/src/remap/entity_id.rs | 87 +++++++++++++++++- pumpkin-codegen/src/remap/item_id.rs | 87 +++++++++++++++++- pumpkin-codegen/src/remap/particle_id.rs | 87 +++++++++++++++++- pumpkin-codegen/src/remap/sound_id.rs | 87 +++++++++++++++++- 26 files changed, 433 insertions(+), 17 deletions(-) create mode 100644 assets/viabackwards/data/mappings-1.10to1.9.4.nbt create mode 100644 assets/viabackwards/data/mappings-1.11to1.10.nbt create mode 100644 assets/viabackwards/data/mappings-1.12to1.11.nbt create mode 100644 assets/viabackwards/data/mappings-1.13.2to1.13.nbt create mode 100644 assets/viabackwards/data/mappings-1.13to1.12.nbt create mode 100644 assets/viabackwards/data/mappings-1.14to1.13.2.nbt create mode 100644 assets/viabackwards/data/mappings-1.15to1.14.nbt create mode 100644 assets/viabackwards/data/mappings-1.16.2to1.16.nbt create mode 100644 assets/viabackwards/data/mappings-1.16to1.15.nbt create mode 100644 assets/viabackwards/data/mappings-1.17to1.16.2.nbt create mode 100644 assets/viabackwards/data/mappings-1.18to1.17.nbt create mode 100644 assets/viabackwards/data/mappings-1.19.3to1.19.nbt create mode 100644 assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt create mode 100644 assets/viabackwards/data/mappings-1.19to1.18.nbt create mode 100644 assets/viabackwards/data/mappings-1.20.2to1.20.nbt create mode 100644 assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt create mode 100644 assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt create mode 100644 assets/viabackwards/data/mappings-1.20to1.19.4.nbt diff --git a/assets/viabackwards/data/mappings-1.10to1.9.4.nbt b/assets/viabackwards/data/mappings-1.10to1.9.4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5cc2fc8c6c32fd15a581eb90b78c6070c8a1a08e GIT binary patch literal 118 zcmd;LU|?ooFH0>d&dkqaU|?Y4Vqh!IFU?CSW@g~ZO)Mx#O$pAdN@ZYR+{4Jgl$pZF z%)n9%5jfAzz+9G?1JtA^!N_2ApYaqc0|z4;!*nM7E+(KT2g7tmhE7I?9wvs_jFtvW O91J#s&OkDOfdK&1x)z}T literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.11to1.10.nbt b/assets/viabackwards/data/mappings-1.11to1.10.nbt new file mode 100644 index 0000000000000000000000000000000000000000..de017f505a515b745d506fe70a2db815f56cd9d9 GIT binary patch literal 164 zcmXBLy$V5b9LM3$_xC@}(TT~0xCCW!0TM+@oim*BmJ@?bCX2;ta|s4zGRY?83Y5vq z;0h?~Q%?wvU=okgWY7mJ#7_s~ev~@GUS~LrqiQmZL1$q}B!`#&;T7N}o$fESY9Fc6 zSQ|;<;@NC6 zv5;C#0`yK0sRT(V*8?JELFVF%CUp}g)9Rl|omV(ho|%o!1o&UvC1MR1_m~ASk@FSu5Eg@=~tJ4)4oDNe8{OBB#o|%&*>8wCDe+ zdr(D%$^pMtp{k&B!U>tR7}MxSO`sv*z$|bjF^@vCcwJ)*0|+6CVMJhKn^9sD9m66R zGIv#>D8i$F{#Dr069wJ%?wiJIKtA>0hsH7Eh`pK;M^72|j6237^Mg-;29N&)x@(v* Mbqh7igSRI90fiPn-T(jq literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.13.2to1.13.nbt b/assets/viabackwards/data/mappings-1.13.2to1.13.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e47ef2f7b36b136fc973ae15e26b25c3c1b9a08b GIT binary patch literal 434 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 G(Qg4dUa!Ca literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.14to1.13.2.nbt b/assets/viabackwards/data/mappings-1.14to1.13.2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..82bcab32e9fb2e91b76e6a46320e15b05cffa496 GIT binary patch literal 3309 zcmcJSZETj+8OQ(U^?56_w57PZz)&|>Y@jWD0~6G#(Is1+514&evUDA-u8~q~A3#xr z7N}TWTA)G;lp-$$1rbqU%4A4K1z$*~TjF%aunjW^!!3hFn2Y;gr_f66vQN98{Gao? z&wZWiy3Tc<``phH2Mi+fs_N>iYi9${aU^~=t9Ir?^{I+fRlPyHree;Vs>&JF3#x$e z8x(YPr82Pfp(8I6ftgn^3s9e*cYiYl82J1pa#4TikO2pOEWLN^IP`x`s--4^{!fo< zOPGYqZi%;MBaSH4cGaiTBPM?sP3#%*MQ$Q(^8J60F3rm7Qppo4{+neA$9}@RhdZ84 zpl^!VerIyyt;vpCldajw&I!qLImwSq@((8Yaz?UwOmf%sCPQ4-e8~7gFFmfns&8wNnWBmkEIyT^XDcQ52G#h z;yuF*`f69x*nzW_K^*A24lb7P^mpK?>Ad5d zWSD3izJJLKSuOfULspC4ac#BW>|&*Yzeb(YFj%eq+P*M&_L`oOlI3yRD<;_Pvx!_N z_+ez1sE;i^_3DhrIq%PUeC`*u=~z~5qV9@?(cLkJfbGqg|g%~noxo}EHM%Mi?6sx~tUrF44sCFqVH+ZtYK&=Wb3jCgqcg46- zp+VYvnMD88#V(CcA6P}l@1q)@>R2XDX}qoPT|E#X>n8Yd6Ip17vH8sk6B3g!I{F=C z=@LxVX>hSp{JwjX7%%$z z+PSkUhn7XJA6k|hua!kFOg|8dob~>S$H^#{V+u)hE0t{zX>KXs!*cCUYaG;=rn#m* zi0aOm+Yxi8qgW|xH5a3qkJoQ%eM;Lmwb~LxN6enmrbnYNBnbS_zNI4_n&sgw_%1#f zs0dbTG-%zYzje^#%P6AU#}rFx;%OVWAF@>YjXG*^*m7>{RfmlFXB4lx2;qdmUWY1% zKkjhC;iN;K<882v^Sr@ni(Zq_V{RzI0TXFn5wdG+1iW8!TfgY_#efgV#Oe$vvTMyNz6mGRhtCY@{>Ekz5FS6$3|b zQLA2!-#c)dj9>qPFS*c}e#AgmGyMwo-coqa;gpIVkC-biy-DLPbVhJSVXehMXU-@a zmDT)T4lY;TuALt3UcF)Qfkl_aYOA=BsAoJDN7ehh&9NM#5Rbm(&8UGC`n=E9PNi{q zWw1Wcs@bXPRQ1>1i{P$$-Fp!aTwAml?|+IJSz8t6k10cB^o_XBDC}TR z#O74grK)Gn`nu=Bp`ND=c+QMx$__jtlMXQQn~6K=GLE>sxvT5xZRn$gX~7ql)77^( z?iuiv!)wDGag3Tdw?0){Q(jYBSv9M?vLaPsUAFCYX*lNjxR zBt{3RAYbe@1`@kXLIq;CnN(6B(K<isb}tH*h~0reV)s%Yv3og?)R{jd=uhZiAj$7gAj#?%fh4O}NyVY2uLTl+ zhXaYfUj`B{uLlw@M@VJGGWJ)blBtr_QBrAvjCez+Q0Q17vFj0olK<}h~`a&Iye2UlrU zM?o}xOb(6?cB>z47gr~{77@A>ii1xsa)Ap7x#NL9&-?tI=l$P379e0YWj%BQ9{{(I zS*`}PlPW9akrcT(M zj&+=wSim0>E#A3G7&LsRui2Yqvx&IbZ1z9H9>W30UxCjk;yZ_q*Z5~*N5`gd&#qH~ z!@!M><#!dl;#%;V884WT8HGkOQ_@$ia{K-uRuWUO8c)?UAClN~&8{oATrRBVa!Ez@7rU(N7EUI9xgXR6?i2taAdXQ*vb|Vx!g1zo_Ewtj?_hz z`#|b4%H>I2MY;E+encuu>L;m>`3~_584Q&xw!bQ!Qg<;ZtJAt4P_!uyDYhy0@d&5C Bj#U5v literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.16.2to1.16.nbt b/assets/viabackwards/data/mappings-1.16.2to1.16.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5d636dd058a51f153fd5d1dcb626d80d993f986e GIT binary patch literal 411 zcmZXQy-EW?9K>h$fBD*o5QP{Bh=?B$K?n#Un8r>~ECkzQy%j|ylcW8ZB2Y)p?CUe3QB8RP$gK*>0rzJ5+<3_aj2w|1lm970<42N7NZ-PUTYQ3 Q{`MD=|NqJR)cZ6301Amz?*IS* literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.16to1.15.nbt b/assets/viabackwards/data/mappings-1.16to1.15.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e7ca0ccf731b352e2c3fb17e079c0e20c3ae78de GIT binary patch literal 14174 zcmeHOdvH|M9sZqj?%lh4ce8m4K`}tU5E(mUvzr$VFr`IlL*^L-|r;Z*iDa})O0#9 zH<@qu%kTW|cYf#G@1A?IbJrzO>~;oamPC2$HomLXp*|1Jl|aQuC|o(Db_*O9c7$htFI`Tb(b`pU$H-2=xCfOIS+^ zTkRD=vL18Rq!YLK2E2|K5b4PY7~-aUQ{1F8u#%q0V0BFSrnspdQ@$x~(iy686%2Cz zP4$@SH^oglLp84B;u;;8X+lkL(?px{O>vXXP@S-A)rg6XvCT6)FX|aEdC25BQ{1HE zd9h~(O!MO{ioH7%(*&6eXNsG2JR^EW{FhDeU=3u-H^n_8_84xk^W&|E-ir9OF4Un~ z={+NQM)ZvM?>;#isw>QNYcR!4w^UQUDQ?mks&N%uqyJobE26g|dMl#0A`%UDW%X9X zt8C>konTYkbW1hmo8l%N@7CNi1E%@$Zp~NO1?H`YSJ??OtyreG=}I-_o8l%NZ$>3iZx;ISq_7Ww^$C;x{^&rOb8S=o17U+$7`i{WCAk4|LKv{?s# zbd7#?VsecsZo1k``KGu@$Gd%e_3fkk7JGMEuSGBB+6Syz=h8fD>KQOu%49)P+@#}K z^Q*1-$1(KVoLL7g`#@Z*7sEHzd%pC1`6Unhzpl5IpJ2T_o<%PCdY)@ed8ApcN_nJN zUg>+JnO@HqbX(nY`n`-iF8g){v{>D|NYO#nq7Eq9?9!_)ZFOmjn@ku=@|r8RxwOkw zJO6uqm+aa^ygv0|Zk0$GxoS&}{6c86!Z4mvJ~y08KHKkv_;*qQXLPzAUo%h0BR=7y zQ;rjg{agenEPTNn+ofmu&_x#g*a@ZQ1u}ftG-hlP;$e}VgB=;s9|WxywqL9jv_S-i zRd-9;WZf^8N;{mEOOFX!DYCQFFegOTusoF!%*iYys|Fobx-+RH>{3o3mlS%&1~0qd zdy56-2E+86O&e`DM_P2)r6aEWVt}?tnnLR(wMcqG&=x`41+C(`KNtA0_$crB`q-PW z1^F5q=FO=YFi#Uw=c%)AoMrD zTl*~Gj=0ZOA?mc;(P=xR^^D9vBk4(b+si`klJ2)?0X50qV+dvDjfJb-JBo#asJ}Z|kT2WP4VU9TG{g&s9>YRej?nK@Uo`!lno8(4&$z$h0oF zLUdTP-@>ll2j1e)Avv)_ItvAc8U$XEw1{WT5{vygYx{dXWQ`w_>{2Azc|WyFYU6Xg zSHg4r(`m{39pw7sa}u?Q+5z8! zpu18GL3j5Vg1(tHlB@J(@T)U|CdfL9tNR4qn?9d@fJ&y&t@!$cpYEW_@OYYO*)ju8 zw(Lh?O(84khv+ykx9XlmZFSwio~NYtJR{k2)(tTlO*iJ}=yO>nr@#a*x%@qj+D53Q z+L~@p)%tEy%bzW%FghMeE@f8FYfLoM&#rH%iPz1psY+BSl96Jx!Ba941!)5*j)1^x zvY4A-G#TTjJxpRCZ-JC>&R!;*vrmzV6qkbS*Q^W-D=K2;UK#1m}VS1&a8y> zPH4teon%(dt*12OK0XACMp*B(W~_1sET%_!7ObR{^Ui6;wVVel)yiF(v2r(9SsC|s z0jxa2Bl?JA68Fi z#(n% z@VSSs@N$=*&qI$N{T}a^cr8i*X^tn3b~LaLu?iS2ONy1X#3)i@ILNSosFcSZ}0e zT)~Z+@p$sUqD8DXiWy%XVl-H!f_odI^O)r`E8{sCs~Pt(PBT9CCa`D`A6uYf%*KNi z$GDF|j8SoPD0q`zx23U@q3wVD9I0-xiJO!)-J_9}lE&`m>1zZCD0=x;F1D*w*1O5yg z0p0;#2HJpj;1%FiU^B2A*aiF*Xaybtnt%@AH1Ixf6xal81Ui8=z*1lx>g3$Z!1KTg Upcyy?oCVGU9|NBN-M~lmPw)yU#sB~S literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.17to1.16.2.nbt b/assets/viabackwards/data/mappings-1.17to1.16.2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..eb5769c59490d83138b14a52ecf767348dc2ca58 GIT binary patch literal 4870 zcmd^?32;``701tg_buO=kTgJw5Rd|`WicT;`x+6Dup^3MNCE`1k%Y*ik`M$0L7|D# zLZFm_3|7UCQl^6oQkjZKnTlx9IuuJ$Y|#-7&b{}X zbC-AD`$8gGyz0V=%A>5wSuNo>g3yKfkgnud1+8OQ=VMQF-eDcKTlaWd9n*Wf zUkyNxU**rFH<#B;IeM=7yWhLc_neOafqC=WdA@+SVYN}c0E|oG~C9vfUUgn zb2vR$%(o`f5%YZ>cjo6lt(&|N@*60Nf(soM@*m5~2+k^5VtxCqJF{Yd$ z8zb^~1pL|OK(oJBo1x=pm4;fkIIFtnpvtwb*zzIrvSO^x_}#+_bUf}#gByBN%kz%> zPRnJb-qPZB91uy;A?X;~N20bXwrc16I4nEEdS6&#O^_IQIPAqpd^8D%r=5s_BArAl z!H#LuMeI1Z&aN(dB4DP(lb7AdFWn~oi7Tg+Z1d!OCFiwz%#*0>w`F5cHV5PtC13)}+1wL%bjv-qt9g&9mF;FpzVI2aI>Nc}KR%~->W804G+yg4JSD$SvRtcf zSepjB+XJ@!q7Gk<$Xk&}BDNs%z_mUqe~sD|vd5C|YT2TtL1Vu7tq82w_7zY56za6e zwO@DI9aLC6zwRH=1r`6ELMT_JHYN2aH}XXl*d3IH;E+?wp4PKg%LlgooU5Nw>Rngf zcX=b63(C=eG=^lKmh-Os;qUCfRq~{kT_M@w#_tZ=wZWJUVt2;T^rqcmn*;YJoupS- z*1KMed$)!7_13fMiY0dB!QiL)?hRUNEEQvIu)00z*fnnSH;8A+Y0tFaYw%BXr=6~x zaob+xBXNsuukb>3o_3|)>-<@^%?&0y^a z0_#Tl&6r7!kIdvcADPK0ADPMZW-^$_Xm)4AF?5~GEXJ}jla)81GKE3L`CVztHSK5| z&vse#JOPxIN!vtFb{cb-1WHY2s*_op%&=2P*&Ne>ah` znBUE$YdvNFzRBq;dqu17-A`bp6?*g^PL2GzKg)_%LsH>L!ciVZHk8F zFr?659cRzPT49Kd?k1TaE76>mRj{O{G1_WFjB<}523})`!(9tXH@oy+Lmb{ZL+r8M z5WU<-GBb6*A=)+=qL+<^nB8|kea&LkBjGfr(m-JQ2LS1G`yeeG?j~ATg@=S?Hs|*U zoUP4tWL5-E4-n^|kz^)yD?75;HkeY)cKJRi!_4M(L#+LQAqLn1$}+S6Lv+nxsyhj6 zwTr-EJS1U>$)B57I;XH;rvF-u18*G;^6R0c&=ROUln5asjq&ldOXH1NUjvwh@YJe;)B~CeeH*$H(K?{Se<|G#Y6~rb?tm7)3-rgp;`#-bv#rCErhOyz5!K1l~4s#4&n7vCqa03)eE3b z5a+8D3PZi1sn9ZL0EG7~{Wau-`O~;LG;RTXD>MT(<~tec2aSgY!L|qGC@2TwoN&xT NpmESxXc#n4{s#0zAjkj! literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.18to1.17.nbt b/assets/viabackwards/data/mappings-1.18to1.17.nbt new file mode 100644 index 0000000000000000000000000000000000000000..804a036edd9f65a6725258a929de113ec0ac4a6a GIT binary patch literal 322 zcmZXQJ&wXK6okiiaDG@JILWfx>?Iaa&_IPuY-ueL9APH~6%q%bLm*1}Eja==;2s!+ zQY6hQM)SRS^Adm|tkl|SvjRX9bQhUPm(~fVEJKouqEK?8HwqY61XN4L5ZJeX1Rd>E z-n0h4FDt37!6*c)MCL>IF533NJ<6>qSF*((n(U=!KlkL%uK;f3O#i#M^AovJ^nxDZ zm;M|a9X}(4`0ycdA=XZ(S*s3ajT}tt98M$undgmzw6xCT^V~?4&82X{clsKB{{Z9& FJOGC|Lw^7O literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.19.3to1.19.nbt b/assets/viabackwards/data/mappings-1.19.3to1.19.nbt new file mode 100644 index 0000000000000000000000000000000000000000..0194ce6b9d424318464ce337fd8966ff9ae565f7 GIT binary patch literal 2007 zcmeH|TWl0n7{|YJ&dls|cDn7#+C@{{PzZ<*x|eR-jU@0QB)*iu1Br>LLw8eGyWQH| z7WJuV(L_zu7cFWO0znNVB!pWujcx==3k4M~M7$TlyB4jr&=&lE(@=B>3Gc9*|D4}B zXTHms^UWEHNRh8A(^1Ig+lWY78;68%WlO&hp)LBLzO-9^H~8GV@Tgd~ za?U0(;hPRNQsd~n0pqx>lfI-+jtYc$Pb|arqU;thAd8Hds`eDL+UhB2HGHX{sW&9B zPj^-?rnJ#a9nPb)SBCdUIwP&q@|t&WN|sGZdO^jWS2U)Y{!+AC_wUkSKddK?aJ$=B zwToYilfLlhK6=K~pEl_wQ-9H<%_b7pv&Br#`yy)Hp1ifqvw1tW$H@|96j*gk(4t@! z1=hU5E3xKAZ^O*JJ#ObsIiQhcSCUm`&B#Qw>V+b-wqL-$+`#n1BZB;8H~FI!u9{0# z<&ti_`eIL7di!iz>z%1NWZ--WD@#~ndqBLbHJ+C=rEmiE*mSl+ zOemUG$h1eJ_YK-;&wnKd3k?A)IDh)0a;qGvM2Fp6zCLT85Kr0v_kCDja>1n6H0rZy zo1jvFb{g~~7DnZ6A!OQ$*<$vJ1CADW7C;MU7oeGe>Iyh8uV&ljwOx1F)?Y(@4(@cc zbmrio_;~x3!J}RW(OCz9n&rx-6?C7F*gk9x1)Dny#eA+QmrrL}o6=6vQ6v*lBJm|d z0`L_cZ9JX?eeF^m=o_YF9P}+y1Jie)M3OB=T&e|~0@WpBpzoRL*vo0AdiHXLsi7Y9 z15=9WM^Js7=_i*OKtF>T;!M9VCD`AuE^*x7T;jODyToz-aEYUhy2R1Wy2PIUbcy}p zMS{N+XpE_r7ydUWRm&FROi8AHnCkdGRF_JnINCXUzhcoSyE%`+Sd3jyG9}mq6^ZEt z=P-?33p79Ew6$c?O*1D5D)A0z06GR8hCajR4`ZSiT95uc&_VFcXh)#^n1^GDDwY9^ zzXQFE@esuK3_=H>VQ3$O9Od0;Uxyxm4nafE5!iL1{Qx=&oq#@tK7>AkK7o!yAJf0S CejhRb literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt b/assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..f3c83faafc21f42629c645800608271c5650ee61 GIT binary patch literal 1693 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 literal 0 HcmV?d00001 diff --git a/assets/viabackwards/data/mappings-1.20to1.19.4.nbt b/assets/viabackwards/data/mappings-1.20to1.19.4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..24f1e7e068bcfb6ffa58801a0fb45c3f14103d2d GIT binary patch literal 1051 zcmZvc%}>-o6u{qfx`i!BFaZM^Pb7p7!R>yrD2nKUUNoDShzF$BZKI9b-3{$x;z{&k z;>`;V%@jDLdf^=UQ5PNw-~I`947OsCZWB(yC%OTJsH z0)V1J$F)kWeA5rC!0{#Mo>i|q_C@!$1F*0mKyhs$LG{Cd#j|Z7m#qp$8n;?Pc78B- zp9=v|YaUut)+Ig$cqX=IUabfdsQu{uGzvOs?22jRPD~@eN1FaY0T;H^^O$fmS=va# z7kx*3*5OGPrc1bi%UhxO@joj$*(o4cD#zjW~_?D+o+0j1I2sdMfdN-EA8-Dd#$uoc=Kl) zx5T#cQw6oR?;m;3s(jZDce`=3ABa_PU&1`v_k}y^R0B6~_q;zCiWLFFQ4!ieQO-gM zQzYxwQs9;=d&95B!_B|pho?ZD?xdICIn_pd`OqH^?TbQ{o)HY&UvBt8%`?54?Nm(L z3M>gqHjhVgNP( let data_end = reader.seek(SeekFrom::End(0)).unwrap(); let _ = reader.seek(SeekFrom::Start(data_start)); - let nbt_reader = &mut NbtReadHelperBedrock::new(&mut *reader); + let nbt_reader = &mut NbtReadHelperBedrock::new(pumpkin_nbt::deserializer::NbtStreamReader(&mut *reader)); loop { - if nbt_reader.reader().stream_position().unwrap() >= data_end { + if nbt_reader.reader().0.stream_position().unwrap() >= data_end { break; } diff --git a/pumpkin-codegen/src/main.rs b/pumpkin-codegen/src/main.rs index 045df0eb4..5476b3c7a 100644 --- a/pumpkin-codegen/src/main.rs +++ b/pumpkin-codegen/src/main.rs @@ -75,8 +75,6 @@ pub fn main() { fs::create_dir_all(OUT_DIR).expect("Failed to create output directory"); - wit::main(); - let mut build_functions: Vec<(BuilderFn, &str)> = vec![ (advancement::build, "advancement.rs"), (bedrock_creative::build, "bedrock_creative.rs"), @@ -146,6 +144,7 @@ pub fn main() { // e.g. `cargo run -- chest_loot` only regenerates chest_loot.rs. let filters: Vec = std::env::args().skip(1).collect(); let build_functions: Vec<_> = if filters.is_empty() { + wit::main(); build_functions } else { build_functions diff --git a/pumpkin-codegen/src/remap/block_state.rs b/pumpkin-codegen/src/remap/block_state.rs index e2e728483..ca9a6173a 100644 --- a/pumpkin-codegen/src/remap/block_state.rs +++ b/pumpkin-codegen/src/remap/block_state.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version block-state remap tables and the /// `remap_block_state_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/entity_id.rs b/pumpkin-codegen/src/remap/entity_id.rs index 5358b9f52..03dbfcb2c 100644 --- a/pumpkin-codegen/src/remap/entity_id.rs +++ b/pumpkin-codegen/src/remap/entity_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version entity ID remap tables and the /// `remap_entity_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/item_id.rs b/pumpkin-codegen/src/remap/item_id.rs index dd6df68f0..0fb334360 100644 --- a/pumpkin-codegen/src/remap/item_id.rs +++ b/pumpkin-codegen/src/remap/item_id.rs @@ -9,10 +9,95 @@ use crate::version::JavaMinecraftVersion; pub fn build() -> TokenStream { // ViaBackwards mappings go new → old (26.1 → 1.21.11 → ... → 1.20.5) // This is the correct direction for a new server sending to old clients. + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/particle_id.rs b/pumpkin-codegen/src/remap/particle_id.rs index b435fb90b..ed096770d 100644 --- a/pumpkin-codegen/src/remap/particle_id.rs +++ b/pumpkin-codegen/src/remap/particle_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version particle ID remap tables and the /// `remap_particle_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/sound_id.rs b/pumpkin-codegen/src/remap/sound_id.rs index 07d0883d3..472b7c87a 100644 --- a/pumpkin-codegen/src/remap/sound_id.rs +++ b/pumpkin-codegen/src/remap/sound_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version sound ID remap tables and the /// `remap_sound_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21,