From 4dd3d2cfd7cca4d0dffd0421710f98c1eebf474a Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 25 Sep 2012 19:10:15 -0400 Subject: [PATCH 1/3] Update FML: dd39ae5 dd7502a Fix parent child counts showing properly. Closes #107 thanks scott! b36d447 It's useMetadata, not usesMetadata. thanks myrathi and psx. closes #110 efb1066 Fix random shuffling when manipulating biomes by using a LinkedHashSet to preserve iteration order. Closes #111 --- ...c-3.1.22.382.zip => fml-src-3.1.25.385.zip | Bin 826132 -> 826132 bytes .../net/minecraft/src/WorldType.java.patch | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename fml-src-3.1.22.382.zip => fml-src-3.1.25.385.zip (98%) diff --git a/fml-src-3.1.22.382.zip b/fml-src-3.1.25.385.zip similarity index 98% rename from fml-src-3.1.22.382.zip rename to fml-src-3.1.25.385.zip index 57977dc3eb1980b09e364a39c137424eafcdba22..c8c476011a775e1049580563cf8eb2b22886643a 100644 GIT binary patch delta 10727 zcmZX41yEeg(l+ekEbi{^?gS46cPF@8a9 zTldz#Rb4yJGd(>sefpf5o|*JE-t;zJ3=L&40va3~3LIQ*mPjMUI}UJ7mPm6m2Qn)7 ziAd`a>;gLgBEUcrh%n8;gtWO@2$ul!iIEn^IRIp^;NS$L(vtHT(!QyPLjBmJKBa0u z{>%r5(kp`S_rDH#@bbumkPo9h5nn?4p7$~d`6lG$7o;wv*OQ2-1AFYH%A>ED2lMXs zn5PBBO}6%j#Yod&ZZ}(Rr~^Z@9X*&8@i~R}$v`l+8Dg9-tkA+diWF6&lu*XVW*cS? zO3t{vRBk4I!(KI!*9$i7&`+NuXa@*9r5NnQ3F%G8si?SI$4T%&o59woyZp5JBeZB> z4?-k%oCFPN-XPkqt8dr^J(gLh!^WlsD5XgI%l)$$kt3tHBhvy$5q~kdJv?~uV0g&D z@#Q!x%3TH&o>RA%IVlaw4R$E=QST-lD6Yy9%Ucg9(yUg+G9oCvffm>a6>z$_ja}{V z-T4OuOZ2qg1;No>cHwU}1(tn|d_@=qN2vIje_SZ`@NWEio{9L`1GiZ2Mv#Jzx}6Xa z)1`<=PqzX>`JQ7yFrQebM6Ov{_1a1Gw)yqE&%gCCS?K4Uk7QJ3{VgwP zP*LGs;i4pS$v6F1d&myt5pAbuVc1&vX zATX!-{aiR+=1pqW9S$d_ZnFP)`8zMH?h3R2EdlQ)xz?V=p1O3d;NZm$MCaqhk38GV za((iayhEC1=^Q??LT1x?+5Ybke(|PmD1`6vnT5}ry+Vwc6;sqKH!@4+=V9Cr-Z^!2 zW&6im73RMkQV}qqBEqBa!cxZ0WImqn7mzz+4YtOp6H9_huv4}V<3+?42elcC!AGKJu6*oK=Yrf^(Z-|IR3oD|jkhCX~ z1Am^i(HXQXRDxn(-fhApK>DLYfz(FPsSQ^=LlRm0EOVBh=c_d^Z5iAPftNwA06PSC;whPp8J6&D#u12eMdU=;ZYaeG^p`v6rnS#FM?S zI#d1zMbjVV^P<%tQ}~tZ(yd8jfa=O$=OUj7XGUQMsp$UJjWrRKxOTrB`Nc{77B4Z* zv5Rb-mFJZ6;;>*Zs?r$_)`XO6*!04mT{RNjMKN=;HSZ!YWrIq7%-h5#)(T-b1FN8- zJt7eASvU9g$)EwLAgcLT4R)AL$1$gQg^aZr6uV0`vT`QTZAZlM9lbJO9<8hMC6VVV zqR^1a=ltMlrHJ@6q-TsshP4c;hK_K`8m9CEk%#$zLciY_j${Uya1CAfY}bbd#6kLqF=*aw_3)5d(oOi+Q}GH`Tui zV{A;771BwLN!jqcn7NB@N7oWEpssEytmonVl|lBP7UI&TS6Vv^+vJXlin&3?Bz_SV zf_QcY#t2tC4Ni_{_@8auk>-4Jua^C&7*3W@$ZE;)h{(RHzhxp-!7dGNU2#botr($g zuv!g+Zy%ZVsZ`RVdlqFY`euXhqc!r3enZd=!LFUU(YO0b)3>K%BoIpW6sX=aJf9ry z3f_IKZGO2HxKSQwh7%k@&F$+&I`OwnH^eU7a03+I)q0WG)5e)SNe(-qO!9Io=AyRM z)%XxT@vBetg74r+E&YjAFn=j9>7zvMU3j|;IPvC0msr?sjKlhCIjR?$%=cSgEH8gj zH=SAb1;N{Gp|FQX$kf#1W*vX;svt`S{5+G<-$2+?s^Tx%QaMLm6=-yGfBE-dJPPFFgEK zU2v~Cio;luH|gGOV=K3a7)R)F|1QEdTPioi$DS2i<2~D-Z_EAZrVP!hP>Ek(=QYh7 zuzV?1ZVt3l(E4P;3xpWlxm>4AR7dUr*2=?Yw$-k$Se{na~)N7#)Qo zMB_IiDZJtkdZtDKDl8VGCGOTBvsSKFM&2t;dc846P(Qj%0*$T_BnA0!A~%PXi+YoU z+mh^A^U}Owx^0liU0*;6k1_aSmB^WJyF~JQm&7*P0oMf^_gDRe`=YLQT=IoC&E=vA z8kt^@E@jZ-#~`>nR^v9_YfeBT)YHGWP-VC!@=`~HeHQ;fBcyZZ{k@toUHVqoG{U&B z@@>!lxVYy~Hk8Q+h2Yh-RdprLjG`_wE`N)HF=bmaDy(&vW`Wbi6H#PHrhdm7{pHXk zy0}bbccCLv4oL&#=K8MP*H)~Fw>5uKML?oahot^hc!@J|hj-`ILKRm!=LX4o+IL&# zC0+JQsH*o;=?Pu%`SnTelRM2AnAH{)3R#uxryOdnx(oKU# zjolP!SA_!BQ3vyU;gzU&C<)z}IN+^{(QXrU)*}Q)IHXc(6M^gY*Q={0lca7myfZ58Yd93S<^WtV^q+Dal~E!*Z% z770HuhNY;Vix!M36su=EY!eSh%&%VD-8Hb4AagIaehB2(CB9WX6_=AADmpH0<&9r? zLD}RG`BQ6hnjyonTENsi8o4A|57+|z*ynRA)dZ5GJUb3Js}tVVcasUX(6D~c4`t)( ziiP^Hk7WRuk?*|D#b+ndnuj`4p(n5b!A-R z;%8}%YgsGhbXTd}7cGRIj$jw|V>M7`bU@p?Qz__TDJ*|EqhA(#keyQ-y*Jz7yu27B z7gIq)=7QO9`c5#s!=}({0hcm{oawS+eP+YhIxaVGn8-V$Iu?;NoBTsGof2R8-#;S8I%_7pxyTvz0c~aOk?{m2YcAXtbQZ(;=htG&MDx2I%SQJxgd;%dPY< z{3@tz`s$kGkfje29`32f3#(la6NU~H89%5sA@3O$xZjW-zCAPUDW`TMjIViL%+pk3 zP(>kk5}S%zd{?dR?S}*TRXxY#E ziUnFG*-Erltlptr;M|jX1EV?S*WJBLQNvOYYA1_mQ|cBo%XB<_S;3!#nJXF7TuY`; zWP19tRlGx~zWM#JHlBXh_!w&pe~t>-nYiZWk8WGCy-t`Pc^rFjF2~{0+ry&#oBW&K z=zp?sAfEw3nwF7I1?)3G@FM_|7{CM`2AF^xc>bi~05}QM1=h$Cfj#BoU_6|sl5|*N z!1nl4>i&!p4vrI$t_3jz4@Dp}sG+eZX$Nk|ZT(TZBP=>HfrR@r#$-N2l9EZ(+w?|t zwR~oO?80g8VueA>K-R|xFQ>0U)W#y0=C&nzFD1QUo%_uI(>L6&`sAZRc*K+D1RbcpEkAI)~}(fIuOeJG+>|B8IS2$Z>FZkGKs zcy*kkeJUn&HtIu|-?}5F4EXZUjyJS5FMcEmsZA1fsUq=Uz$nZlEBO|N#l8Jvdp+>$ zWvKr*ho48NM2v&`y*vH*&h~P(KgcP4ZI_5MsQ1fKDeWmP?2Htla3<7BaO&b3KQLU@ zUPsBZ=Z5C+K#?gISc*)o+@X#uN}HB-vlR~O%-TP9PdHs+@>@7+wz7t;3ys8T|%ZUQ`lAER_A zUT$rfsg`s9_Ir+&^m*av>+kyu3*OEMbu8ZkNws?CERPWSLiA=Xluyt+Cq{7svfqd> zt)lQva=p{nyP2IP;za=vldBY}RUY+wWh)L&#R2kAgHSGSynL{i#2oL($*M%>!PfIn zsz;(F>%{Q)$27mS6R*as*a^p=r%ELJ+qF75dg}>=OFntaPUQ<8pDjcOOYNAL$PPkm zjvkJd1OrN%h@579Z~~w&vDDPuiL48^xo(D?Z)(nbEfZ~1*!IiXjQnm;gdByWlNDF) zOxB#XJ%!BCDPFa@?Sx4SWTTk`vIhshXJPkih&g@G>)vpDt6BcW_L!D4#(sI~5|dXp zGODlpc|QT-80AEu2N>(Mb;?ed|L9HrqfvmM!t3N`=S)dyYF!>s7p_v1fc4Q8fzb^* zZE@TxUayWGG?t+$fz{{Xs9$kk*;Fun@w)lYepBEaUqn>maCT~qcVBbDQwrBO5YQyaIuBgZ-*DlBu7UPBY@Vi{o6+)=e8v2W9`tEc;Yt!YWMZhJl@C^wGdG! zS(%s!8^$bxYdfA5X!S3hozgx#!w2aJ>_Iul&?4l4j}4)gkxVWfh&v*l!8(GIpR z*rCyIT63S5H`}Yxp!seK90F09Inc}%k&}9?SDBGnRqR-bCe%5bj4+}9W8X_o( zR?wl7lg(S|(Br=4r3BgHa|`!}I~=DtsVRTK==_qbA9 zpgg4`EVnE(i|*j&H${w~Hxj1U=^EeUyVi0WS6SRX=A;$$fy#CJkC@yaeGT+G1xb@DJGSQB^tcPAk|ig? z*T&6=dD3KNvVF!mUbf14M<)E9Ii&$!cFD_MJlIY#;aU+oL7}T>r%(x5+?3k`{H96by1hPex!M;zrfwL zr)`98=0iCaAgR7KQKiLQRR+6Lgm*PsGt8WXSaX5eB%cv;*P2(^^3?hw1otqja_Di~ zdoX@UtI8;DE&4>fW=7UTP{I7nOf>gV0&DdWA!0qQNsugI75khn|<)wz6tGb|@qgRtbJq1&nYIUw#1SToO zy<<>!c5+XH4-=&h{qCJrIf@&|-sfJ`SeFtY@s4z>Fz-$c3yuZhn^>lCQuHqzf?h)t z+>pM!%garb(Ymz(KWGc)i8fv(P6O~EZQyRu<8+xA*7^-*d-k2RO><JgRhTo*+!Ns0iG=0%{sJ zov27loa-UxGhj|s3#3O|wo_S>!1sV1KtQq`=wLmov_L0vy?t!uZRm}Z;o)p3P!2UM z3Vt(zhFqSgdzs^K!p|za)z5`i^HK-g94y`CE8`;Grp&s4D{a(FC{VuwGoukjEF)du ztBm}#c%2)~7{8~vgJtaoxLUVP(4QY$2hYV#rf6CZNr%0!F!O1SFiMz0oU!2e#zvo* z^P`|K8Ot{kA9bH+%v1q4 z`Ta~u%za41Lb|XYZny)AK7m&7Z(8BC!4Yo#Yd1I=*cJfj1qbqVL&qX$sSM zZeGbmdge{&uc))TSJl<3mXnGa5_bX}r~Eyv^ZGu;jeMA|X}3Pjk5LT~nqGf6IhXas zsTkhs4r)2@E80uR{HnJ*aB8M&Q-zD{$l&BkMrTD;dL?{0zK~G5VDDW!f-}c2Kt9@J zS<+YV3kx<-1p>WBeLA9$z7e##jsd3lz#LF%v>|G2srg_v8n3lDHChL7esNFe>xE%U zmARukWn(#X-uTC?fd#sq>`-dobyRN5$SovBq@%GY?*xI_rKEWSRsHKv;@+<)<|o^Z zM>A%WZ?jamb0-msSDlmOqvU6dZo|W>>Qn<|9zUi@M0Kh!7mD$EeERJvRnS|%v(tx^ z{R~PlO$H0)2a_ZIS*pPbM8J&*;9r>{Fl|ZjgfPxiN&0$=OvMZV4$c@84o(EHkOVUW zZXpmvU@HWI1zplNc3Ts~e_FAbU(UT~q*ZR(RqkA-Ghkn@> zc3G|?et#CCwn1erZFJ_-^~U&x_pNhB8lKmlSZ~ayUMQa5(OyZ^0ev@}cAV6*>3Ao# zm}{%COXgJRhcT3{Y}@sR3j7ZB_kljWI5^|hTQe9--n`t)Z(oS)FLInlzxE_`ygk`N zR#{`s`7Q+!UX&s5==H)QDRs^Jh88$PD;k0;{ek{@Fu^ZLyIecG85w+!H)Zw&1B3zg ztvCrDVoOlDA$&e*VNo02qJj$HDE5#(dB*JC0IUum%1dOJAUYz zKw;(>K??DWR3iCu-MiIC@hqZzl(!$xyiw4eeO4NZjFYG|dL0%KwC1y`5{X2W;O_j9 zYmsMoyR9@6i`7!?3O;3D{*&i@1;tgKg;|M6k0pAsgVI!Fo#xFqukP15isLLePAXVx z1AUf3Qx`8dG_+)q99q(j#G!{;wNtazWrX3aFGr_DY&YQLmfvG`&d0s};>gnPL-Qjg zkm4#4y0THUd#mS~TV%)XE!6#VOhhibKC;VL@|`5b$fhOwqcGnV8!6QmDf1Zcd^5po z+)G$?nbf*oh-&$zY%GMd_a#?WBN>y123Od3LNiSdePg!d^=88eiskou0xl)xDuc(^ zSlo@L;_ySM3lUudWFo=OX8T1Q3L_~LkV00--+xYy`AQLu<%V;@1ZS;!92-3FF1aaxUoFgB(&2Lcb<)xK*bKH z)$Fw3O)zrE@Kt*|r!DjGaOGr37Ef$2!-=*S@wra$VXPx>=-D z){2kfHAA4PEv079P9Sjp+@96_nYxk;TieW6)YP4Ya{$pz&ELgd#UkhD@5XB^p#K&` z3i}!e7FGT8nTlZ>2R{kIlOR3`(vu)R3Cfe8J_#C(Z5&;m0KruJ^GCpI6P*@HCPWx~ zSWlf`x(J{CDvh>FK2(x^({@E_9Vxf_bRj&ah`vr_k9|C~hVbEB;?``&es9&m@rUek z3UIrd=gD>LaM(0@+m+R(w>7HPmt5BDP-^wz+;!^&-a&lsQofzT*5HnkN0kP>HrJwwhjFe7 zW~-*ESUz4p?_13ECZDwX65`l;&vR-T7q&i&U#-B2jL_t>nepy^JN{)H+Nwec%Slu7 z52fYf&Gy2x!LKLJJ*pVW6GL`;j5v{qRhpcWFgU6g74|$`Dj>)@X1R5q>7KjSn&z{3Q_fc8i zE|_s~A3U-+_JC|2)X1_M^tDM+=Hm=L$D%eg$N5~u6#dQ6B+xFNGgX2>xSs!89;dg`P=vkINO)YWx6IYmeJme}%8%LxMh;ltYvpl!ASUb~U05q&Ao6 z9aYAfciKEae}1rP{K-=%5V-s1V>h^bz>(O?8LyjC~q20(ROrbbAMX7SOJR zu8g>*QD17FK~0_xvQ;xWddqXfjB!x&8zdoun&HAyHN3T6L?x(|(Vt#1R)e^>)#c>7 zCGO26Q?rYdOP7)3^+(?~*hG?8FlXO)Bd8cwV%J-;y_N4px0^(wjZxG`&`I6nxA0HW zc^OWfx0-MOhf>_4l3j&cc440BvA1roE>;~{?aj_`1O2q7>hGf^kGp!w?kU)5Pm&sl znf!r7G%ZD4J5IF-)L_+^llgE$1veio&E0W;wH33WIgLsm-gq^IXlwbx>_QlOjxWCW zSGZQuZr?ou&al1;m5@N()Ar6bYxxmr>5x_T^#RPH;pxJMm$bKBR3> zL$$%cTw1DrtFZBt+Whh+0)DYz?$P!BH0sLzxiiIYN)xGG-toaM5l5B0WUA-x*;^0w z?5^J$wx{28*RM@=T|qT42uIR_XxI=ejvwA$&%J2#dG&L*TxixU1hCpemvTWZMb#K2 zE#_!sIbTn)nF~Iq9AY`8tzMIRz-!ZOTaBemsBy(Dw#^Ib(3A)=(jNR&b}DgSF;fOx znw}bSyL#pV_g%Ax;IMY)pNAChjJj{iJ~m_ zzpJ|Y`cvPF`$Z`;5tDB2^27eheO30_saxVb1z;fxCIxClz$h?`Lv%6Ge>P2(X&?=M zZZrYEX&?drFoCp?pZ{EGGPi<|!P4m<_3#+~bDs&O!2rRM_&;4TAlMS}`Ja8)rv_;7 znE$))3iw$=oI$fy0FEt$9ze5!h=TZQ{{lxFh%88<;SXQ{{2M?xK&LeX0z`Cy@X_J^ z^D7C90kCZ$FX3eXcUy=t2xaJxIt}pE79s}vJ@OZDj6StBwS%yN<|h9#kCPw*pzn!+ z#{#77A?yI5{Zm=*PuUN|yY^Q}as`A2B(H!_fphyOYd72fMRV?G>uU_b#-jK?C%|FDok=4CP-h4= zAm#B?ZSD-AgqQk5=z;seU?A)X1JvFSB;c1bL>%0L^dHL51tJeG4-~jSbU}WYK%vW% z0YX=Z5J;5%FK}~(NW(7!jjm4~jsbAoAYxSirjAd&|9BGWe@6iaR}%IfaB_pF!Y2S7 zZV(ypOJOkJF8mZ!#O@FX)zgYe`oEOnApe3tmkPVEPq={ZIM`P>VsxKw6SOkw1hP zkoJJEfHEZim|+5@B*7#Ah3AvE+C3nYAUCPM^rHtv5riW17r1*uq~P;`M$e}ZMOOI3 zaR4e_5Lx&!AjJz}2Z~bq%Q1RC#mBVrUy$Pc6vJJre*sh-jGXBM5dg`k|4R@7HGdvb zjL%cI@LGRqNi8tm-_cxYgYp0MOi9>{_8$c%fI|mN{I{K%?^C-h-M{p#E|~mpyXil) znEqcH-w*N(q;BvR1o=Va;1z)ZKZpzH(DW}yX$GeJYp(4j_`hGLcA(H7Vg-6I|KlF@&0Oi>K0c^mM{nKpznPgGmQzViC z{ecjBP^i;i)pn;R&;L{F8}wvTz~wL97X*0$3U>QDz81Hq>5_*$J!GTcr&ojV)nEE; zFhl`l?fDn{ll>QZg3*Ec@F#yVhdddp^7^-qp8EgWHTXB+{)8%(@4u>uu%}G~4fH>s UEEsPbq!IkjnjLnS2;so^e`CAIYybcN delta 10761 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 Date: Tue, 25 Sep 2012 19:12:10 -0400 Subject: [PATCH 2/3] Some more tweaks to the chunkloading code. The world.load event fires slightly later- once the entity watcher is set up, so entities can actually load into the server world. Also, tickets actually save and load properly and null entities don't break the server --- .../common/ForgeChunkManager.java | 13 ++++++--- .../server/MinecraftServer.java.patch | 25 ++++++++++------- .../net/minecraft/src/WorldServer.java.patch | 27 +++++++++---------- .../minecraft/src/IntegratedServer.java.patch | 9 ++++--- 4 files changed, 43 insertions(+), 31 deletions(-) diff --git a/common/net/minecraftforge/common/ForgeChunkManager.java b/common/net/minecraftforge/common/ForgeChunkManager.java index 47ede20b1..dd81e6e5f 100644 --- a/common/net/minecraftforge/common/ForgeChunkManager.java +++ b/common/net/minecraftforge/common/ForgeChunkManager.java @@ -236,8 +236,8 @@ public class ForgeChunkManager static void loadWorld(World world) { - ArrayListMultimap loadedTickets = ArrayListMultimap.create(); - tickets.put(world, loadedTickets); + ArrayListMultimap newTickets = ArrayListMultimap.create(); + tickets.put(world, newTickets); SetMultimap forcedChunkMap = LinkedHashMultimap.create(); forcedChunks.put(world, forcedChunkMap); @@ -253,6 +253,7 @@ public class ForgeChunkManager if (chunkLoaderData.exists() && chunkLoaderData.isFile()) { + ArrayListMultimap loadedTickets = ArrayListMultimap.create(); NBTTagCompound forcedChunkData; try { @@ -638,19 +639,23 @@ public class ForgeChunkManager for (Ticket tick : ticketSet.get(modId)) { NBTTagCompound ticket = new NBTTagCompound(); - tickets.appendTag(ticket); ticket.setByte("Type", (byte) tick.ticketType.ordinal()); ticket.setByte("ChunkListDepth", (byte) tick.maxDepth); if (tick.modData != null) { ticket.setCompoundTag("ModData", tick.modData); } - if (tick.ticketType == Type.ENTITY) + if (tick.ticketType == Type.ENTITY && tick.entity != null) { ticket.setInteger("chunkX", MathHelper.floor_double(tick.entity.chunkCoordX)); ticket.setInteger("chunkZ", MathHelper.floor_double(tick.entity.chunkCoordZ)); ticket.setLong("PersistentIDMSB", tick.entity.getPersistentID().getMostSignificantBits()); ticket.setLong("PersistentIDLSB", tick.entity.getPersistentID().getLeastSignificantBits()); + tickets.appendTag(ticket); + } + else if (tick.ticketType != Type.ENTITY) + { + tickets.appendTag(ticket); } } } diff --git a/patches/common/net/minecraft/server/MinecraftServer.java.patch b/patches/common/net/minecraft/server/MinecraftServer.java.patch index 0f5f1ae80..c566ecb59 100644 --- a/patches/common/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/common/net/minecraft/server/MinecraftServer.java.patch @@ -8,15 +8,17 @@ import java.util.Iterator; import java.util.List; import java.util.logging.Level; -@@ -58,6 +59,7 @@ +@@ -58,6 +59,9 @@ import net.minecraft.src.WorldServerMulti; import net.minecraft.src.WorldSettings; import net.minecraft.src.WorldType; +import net.minecraftforge.common.DimensionManager; ++import net.minecraftforge.common.MinecraftForge; ++import net.minecraftforge.event.world.WorldEvent; public abstract class MinecraftServer implements Runnable, IPlayerUsage, ICommandSender { -@@ -137,7 +139,9 @@ +@@ -137,7 +141,9 @@ public final long[] tickTimeArray = new long[100]; /** Stats are [dimension][tick%100] system.nanoTime is stored. */ @@ -27,7 +29,7 @@ private KeyPair serverKeyPair; /** Username of the server owner (for integrated servers) */ -@@ -204,8 +208,6 @@ +@@ -204,8 +210,6 @@ { this.convertMapIfNeeded(par1Str); this.setUserMessage("menu.loadingLevel"); @@ -36,7 +38,7 @@ ISaveHandler var6 = this.anvilConverterForAnvilFile.getSaveLoader(par1Str, true); WorldInfo var8 = var6.loadWorldInfo(); WorldSettings var7; -@@ -224,46 +226,21 @@ +@@ -224,46 +228,22 @@ var7.enableBonusChest(); } @@ -84,13 +86,16 @@ } this.serverConfigManager.setPlayerManager(this.worldServers); - } - +- } +- ++ MinecraftForge.EVENT_BUS.post(new WorldEvent.Load(world)); ++ } ++ + this.serverConfigManager.setPlayerManager(new WorldServer[]{ overWorld }); this.setDifficultyForAllWorlds(this.getDifficulty()); this.initialWorldChunkLoad(); } -@@ -622,13 +599,13 @@ +@@ -622,13 +602,13 @@ { this.theProfiler.startSection("levels"); @@ -108,7 +113,7 @@ this.theProfiler.startSection(var4.getWorldInfo().getWorldName()); if (this.tickCounter % 20 == 0) -@@ -659,7 +636,7 @@ +@@ -659,7 +639,7 @@ } } @@ -117,7 +122,7 @@ } this.theProfiler.endStartSection("connection"); -@@ -717,7 +694,8 @@ +@@ -717,7 +697,8 @@ */ public WorldServer worldServerForDimension(int par1) { @@ -127,7 +132,7 @@ } @SideOnly(Side.SERVER) -@@ -830,7 +808,7 @@ +@@ -830,7 +811,7 @@ public String getServerModName() { diff --git a/patches/common/net/minecraft/src/WorldServer.java.patch b/patches/common/net/minecraft/src/WorldServer.java.patch index a877941fb..63f63bfec 100644 --- a/patches/common/net/minecraft/src/WorldServer.java.patch +++ b/patches/common/net/minecraft/src/WorldServer.java.patch @@ -21,16 +21,15 @@ public class WorldServer extends World { -@@ -71,6 +78,8 @@ +@@ -71,6 +78,7 @@ { this.pendingTickListEntries = new TreeSet(); } -+ MinecraftForge.EVENT_BUS.post(new WorldEvent.Load(this)); + DimensionManager.setWorld(par4, this); } /** -@@ -179,10 +188,7 @@ +@@ -179,10 +187,7 @@ private void resetRainAndThunder() { @@ -42,7 +41,7 @@ } public boolean areAllPlayersAsleep() -@@ -270,7 +276,7 @@ +@@ -270,7 +275,7 @@ int var10; int var11; @@ -51,7 +50,7 @@ { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; -@@ -288,7 +294,7 @@ +@@ -288,7 +293,7 @@ this.theProfiler.endStartSection("iceandsnow"); int var13; @@ -60,7 +59,7 @@ { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; -@@ -362,7 +368,8 @@ +@@ -362,7 +367,8 @@ public void scheduleBlockUpdate(int par1, int par2, int par3, int par4, int par5) { NextTickListEntry var6 = new NextTickListEntry(par1, par2, par3, par4); @@ -70,7 +69,7 @@ if (this.scheduledUpdatesAreImmediate) { -@@ -418,7 +425,7 @@ +@@ -418,7 +424,7 @@ */ public void updateEntities() { @@ -79,7 +78,7 @@ { if (this.updateEntityTick++ >= 60) { -@@ -462,7 +469,8 @@ +@@ -462,7 +468,8 @@ this.pendingTickListEntries.remove(var4); this.field_73064_N.remove(var4); @@ -89,7 +88,7 @@ if (this.checkChunksExist(var4.xCoord - var5, var4.yCoord - var5, var4.zCoord - var5, var4.xCoord + var5, var4.yCoord + var5, var4.zCoord + var5)) { -@@ -559,15 +567,27 @@ +@@ -559,15 +566,27 @@ public List getAllTileEntityInBox(int par1, int par2, int par3, int par4, int par5, int par6) { ArrayList var7 = new ArrayList(); @@ -126,7 +125,7 @@ } } -@@ -578,6 +598,11 @@ +@@ -578,6 +597,11 @@ * Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here. */ public boolean canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4) @@ -138,7 +137,7 @@ { int var5 = MathHelper.abs_int(par2 - this.worldInfo.getSpawnX()); int var6 = MathHelper.abs_int(par4 - this.worldInfo.getSpawnZ()); -@@ -587,7 +612,7 @@ +@@ -587,7 +611,7 @@ var6 = var5; } @@ -147,7 +146,7 @@ } protected void initialize(WorldSettings par1WorldSettings) -@@ -670,7 +695,7 @@ +@@ -670,7 +694,7 @@ */ protected void createBonusChest() { @@ -156,7 +155,7 @@ for (int var2 = 0; var2 < 10; ++var2) { -@@ -713,6 +738,7 @@ +@@ -713,6 +737,7 @@ } this.chunkProvider.saveChunks(par1, par2IProgressUpdate); @@ -164,7 +163,7 @@ } } -@@ -971,4 +997,9 @@ +@@ -971,4 +996,9 @@ { return this.thePlayerManager; } diff --git a/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch b/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch index 871a57f58..b42a7bdad 100644 --- a/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch +++ b/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch @@ -1,14 +1,16 @@ --- ../src_base/minecraft/net/minecraft/src/IntegratedServer.java +++ ../src_work/minecraft/net/minecraft/src/IntegratedServer.java -@@ -8,6 +8,7 @@ +@@ -8,6 +8,9 @@ import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.client.Minecraft; import net.minecraft.server.MinecraftServer; +import net.minecraftforge.common.DimensionManager; ++import net.minecraftforge.common.MinecraftForge; ++import net.minecraftforge.event.world.WorldEvent; @SideOnly(Side.CLIENT) public class IntegratedServer extends MinecraftServer -@@ -48,44 +49,20 @@ +@@ -48,44 +51,21 @@ protected void loadAllWorlds(String par1Str, String par2Str, long par3, WorldType par5WorldType) { this.convertMapIfNeeded(par1Str); @@ -57,13 +59,14 @@ - this.getConfigurationManager().setPlayerManager(this.worldServers); - } - ++ MinecraftForge.EVENT_BUS.post(new WorldEvent.Load(world)); + } + + this.getConfigurationManager().setPlayerManager(new WorldServer[]{ overWorld }); this.setDifficultyForAllWorlds(this.getDifficulty()); this.initialWorldChunkLoad(); } -@@ -106,6 +83,7 @@ +@@ -106,6 +86,7 @@ this.loadAllWorlds(this.getFolderName(), this.getWorldName(), this.theWorldSettings.getSeed(), this.theWorldSettings.getTerrainType()); this.setMOTD(this.getServerOwner() + " - " + this.worldServers[0].getWorldInfo().getWorldName()); FMLCommonHandler.instance().handleServerStarting(this); From 60b260b40cadca56dbf472e6acc7bd48a4490dee Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 25 Sep 2012 23:04:15 -0400 Subject: [PATCH 3/3] Update FML: f083707 f083707 Extreme headless mode is back! --- ...c-3.1.25.385.zip => fml-src-3.1.26.387.zip | Bin 826132 -> 827135 bytes 1 file changed, 0 insertions(+), 0 deletions(-) rename fml-src-3.1.25.385.zip => fml-src-3.1.26.387.zip (96%) diff --git a/fml-src-3.1.25.385.zip b/fml-src-3.1.26.387.zip similarity index 96% rename from fml-src-3.1.25.385.zip rename to fml-src-3.1.26.387.zip index c8c476011a775e1049580563cf8eb2b22886643a..1af97237869ef49e0364f66ee3e7b4a0f891ee47 100644 GIT binary patch delta 17687 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 YPF)EV?J{jdkwuZ;_(50N%jbgs2NRX%Pyhe`