From bfed6512639e28451da402f371c671102016bbfa Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Thu, 15 Feb 2018 01:29:19 +0800 Subject: [PATCH] hmcl.log in normal format --- .../hmcl/ui/download/VersionsPageItem.java | 25 +++++++++++++++++- .../fxml/download/versions-list-item.fxml | 12 +++++++-- .../src/main/resources/assets/img/chicken.png | Bin 0 -> 4231 bytes .../src/main/resources/assets/img/command.png | Bin 0 -> 11250 bytes HMCL/src/main/resources/assets/img/forge.png | Bin 0 -> 9238 bytes HMCL/src/main/resources/assets/img/grass.png | Bin 0 -> 14335 bytes 6 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 HMCL/src/main/resources/assets/img/chicken.png create mode 100644 HMCL/src/main/resources/assets/img/command.png create mode 100644 HMCL/src/main/resources/assets/img/forge.png create mode 100644 HMCL/src/main/resources/assets/img/grass.png diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.java index e73171434..bc4efaa30 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.java @@ -19,10 +19,15 @@ package org.jackhuang.hmcl.ui.download; import javafx.fxml.FXML; import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; import javafx.scene.layout.StackPane; import org.jackhuang.hmcl.Main; import org.jackhuang.hmcl.download.RemoteVersion; import org.jackhuang.hmcl.download.game.GameRemoteVersionTag; +import org.jackhuang.hmcl.download.liteloader.LiteLoaderRemoteVersionTag; +import org.jackhuang.hmcl.download.optifine.OptiFineRemoteVersion; import org.jackhuang.hmcl.ui.FXUtils; /** @@ -34,6 +39,12 @@ public final class VersionsPageItem extends StackPane { private Label lblSelfVersion; @FXML private Label lblGameVersion; + @FXML + private ImageView imageView; + @FXML + private HBox leftPane; + @FXML + private StackPane imageViewContainer; public VersionsPageItem(RemoteVersion remoteVersion) { this.remoteVersion = remoteVersion; @@ -45,17 +56,29 @@ public final class VersionsPageItem extends StackPane { switch (((GameRemoteVersionTag) remoteVersion.getTag()).getType()) { case RELEASE: lblGameVersion.setText(Main.i18n("version.game.release")); + imageView.setImage(new Image("/assets/img/icon.png", 32, 32, false, true)); break; case SNAPSHOT: lblGameVersion.setText(Main.i18n("version.game.snapshot")); + imageView.setImage(new Image("/assets/img/command.png", 32, 32, false, true)); break; default: lblGameVersion.setText(Main.i18n("version.game.old")); + imageView.setImage(new Image("/assets/img/grass.png", 32, 32, false, true)); break; } - } else { + } else if (remoteVersion.getTag() instanceof LiteLoaderRemoteVersionTag) { + imageView.setImage(new Image("/assets/img/chicken.png", 32, 32, false, true)); + lblGameVersion.setText(remoteVersion.getGameVersion()); + } else if (remoteVersion instanceof OptiFineRemoteVersion) { + // optifine has no icon. + lblGameVersion.setText(remoteVersion.getGameVersion()); + } else { // forge + imageView.setImage(new Image("/assets/img/forge.png", 32, 32, false, true)); lblGameVersion.setText(remoteVersion.getGameVersion()); } + + leftPane.getChildren().remove(imageViewContainer); } public RemoteVersion getRemoteVersion() { diff --git a/HMCL/src/main/resources/assets/fxml/download/versions-list-item.fxml b/HMCL/src/main/resources/assets/fxml/download/versions-list-item.fxml index 1281525e3..3d741e6ee 100644 --- a/HMCL/src/main/resources/assets/fxml/download/versions-list-item.fxml +++ b/HMCL/src/main/resources/assets/fxml/download/versions-list-item.fxml @@ -2,6 +2,9 @@ + + + @@ -10,9 +13,14 @@ - + + + + + + + diff --git a/HMCL/src/main/resources/assets/img/chicken.png b/HMCL/src/main/resources/assets/img/chicken.png new file mode 100644 index 0000000000000000000000000000000000000000..01fd49d1d744e3d4482a5bc3c202d8ca6b976024 GIT binary patch literal 4231 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 literal 0 HcmV?d00001 diff --git a/HMCL/src/main/resources/assets/img/command.png b/HMCL/src/main/resources/assets/img/command.png new file mode 100644 index 0000000000000000000000000000000000000000..005799e9547b391a67f1286898fb743eaf221251 GIT binary patch literal 11250 zcmXY12{crH*q$+F>^o!MBg-gcDeKs>Gg+^YJC;P@*dsFkmOYEJ5p>&+yF-z-z(VvH4$*X(_(oxj`2^9zWBL>}S=^J5kc z?r=0|-c8tS93~tIV&z+VWP7gQF`V7RoEy}~dz*#P0x&vR`ga@Id!fIDnlcT3=!OgW zvW<#wEQ~p1967aY4e7muYrA|lHdl2Qep%?%7;@*7_^AgksvD;m1OG;_UrOF1NAA1n zIp$mJvA_Lru(RAj3!ENjaYtKHzu+_4o9_5t7=+H@Yzu_P!VNv@&d7?sj{o z5W$a)`sVi{bmyho&+T09zOM%N7>>l0aPR3FUo@>@i}&~LUQ!c%rQG`kU85=I<6blT zQ_5LeZq6nW6~j#jYM#7R5gl>epM#rI8K&o!CVzMrwd#(=)b*6(b&q>S{{=jARzURvZ>fm6^^NsC>ERcFibtcqu86t_gAU^A zX-g;M&3|QdOUFYaq~oJK%~^O@#u@|TN^-lKmTMM;6sxmVSCz3`8HURpyL`sFk>}Fa zjf~>nhUqs*66)7NW7eWai(cuyqgCICoe4|$@IM9U($TKshl5X+5y9)7&x!a+)>&Tx z(>6{<8{)S**PmEjT(tenL%$u6cr@u>t1P#uO!OBVF^c+DdYmh)ght8GldD$!c2F{N zE&q<`KEo^$3&>3dOv^CPmlxy+7IF|*y?`uvJ1?ZX9#OW%_Hx^OgK6T zNy1D-8IMJk`ZFYW`^)`KZ!L!>*uQSUYE59N&B*w#o-yfdTc)yam-I?YZJS?2zN?Dd zJp5~ltvd^*H7*VV>Qf>LrOEC#S~xtn)|x%FjP$#lf#)3}fKd0_@p@vNk??WDa;u)A zWiFyt;)=*NQ6L=>Nr|lZBBcmDLxfcf(NYE*CBFA>F_`)g{6+g1q22%Wze_h zVu*Ox*I!sN&nUm;i`mR@zOt-ut;>6yuog=7I*b>_mL-fYKaeTD5KE_Bl|cEm-};2U zP^CePxdl;B$Nv7C@y$2q9*TJ!JUKQU+yC71Z#TJxl!;o|MZSO6GSB8vgDAey)N0Wd z_j-BakrV0+gq6w|W=R2k?N<`?*WBhFNuQU4j08p(wn(wJ2^qq)HRKY_ znOA-i@~-3{WME{kvmxf#Mbt`<15XV1a2ipi4A~_pFdl6Xo_mfrOZdjv5H(0t1S9JMO~8Zo)1rP`YV#~Ue(Sh!S765>c)+fl)%~az0If9 zq7Oe24EY9Aq!SkHtYxBUsEPjsu><^-19XQfz%7479dhDCpl`8Yz;{0pR)dK`w!Tb? zTM@3Kbq8FJAc`gstuuw<=(Oju&P4W|1$s!{1CsqjYm|ojvy{BD-0}P$SLQ@l=1hoM z1qI7_RG3lhw|~NjiZ7ROlrUvwl#JjN6W78oyygi%w`q*njbj1J-buAI3ay>U>nvY?a&n>zLF<6>J73muW%On-x?x3 zK@89rv#l(Ol=189=6`+o&SykW%)Agtkb<2KhJ9g)%5Q~&GvuWTK(d3 zaNO#CU_$&@Hch8o$kD!$gZv%=IWk#f|9wCD9WKi|ilkejM(2GbAEIh$%=%F9=b6U} za9IX*o)0lS{u8QMp_$u5ELNDayd@d2(QQMjS$jn%lf`Z%rIiE0{$$@;Cy~@0dTMJA z#ip&t-ehBSsAhZWu>#Vb`$bOIi$xLAKrB+ng0BfX;U>Xcd z!yU7fEhjeR*EdY%&ZcLr{bF3X;xhAN;#DS-ov)V5&T1nO=3S!#k+Yp zoG6UWxWLpR#^=i2@GKF?N3Y^{&Kv~Tyx&kq72&U-}NpQ()x zbE`G`S{2TGSqpfi(K%%_wY@T}UXXII#lf-I*r@qycSUpQs9@1tOPC*FWq5u3{mmuI zFZPo|`8HY}ps$07PP|V}8+%sEITP!FbL106f>1Uqx||x^-L=Nddb<=qu81Gnz#A z-u2hmx0Q?jVL6)5cAZOYd~{~0W6*QDla$Gj$(y}<(&*Uutp477VzF0BLpfP2Hy0-q zw9AI8$@^89;krG44%X4&_*{2x_)6`74khs;x4 z-XDK4aRf*9Y~ktt4Rm*61M~C>QC56|F|($N=0RDT`0vrYqs|K)ekSavKaP0?B{1UqkEyp ztnS(8%om!qesoZ4N(D!s{Kb7!)3hLT7#umwJm(MY%Rlr~>)jK5#SMnwfLqh-{ycRl z?|3F21T2JMpOFH3&$BWIBxo4BN}W#K>#sf&`3<(y)z{N7&(ZGp%k0ac_pKK)4^*W! za4RJ(PptQyQ586IgTYUV49Nr4lM7n%W5|xw!R*ETA83ElqXKq~KC6VZDz^0NM$Avg z>@7<w4?=! zzOH(+O4jgn^;soo7}7}dPMys0Ko7fP|BILI6xAN*)l+ZQ{xFg_1u-bP3ALRkQ|mD)iJ{|~(Ox=?MBb+5)1X^iQ!!qwh*T6U8) zem;3RyW%ih`TmtdE}j(ooue3f^DfBv&+%sKQcu!v*tOUG2xUQxw^+8e z%k(FOGyQpmc0!8W3*3UE)KogH&o^iELh8p%eAypvrE+i1KQ_8y1HZm-;3y9*+w)u_ zU5_w!AnJ+=we z&C7e>Zn+qvB6nzW7+8rIMlQ$RoZb1T8_$}OhaOV2n0 z4d&W^>Uh!E;=uh!Ga8X%0}N8ye|zJXOzZ49t-r=n@On^{1N4)y4uY9&}J zvkjP@B8JZ~STGV&Zqc)1KwMmXh+vso_rZDgqOP#~m#DBpbp{dv))!0V z!f$NplLiBX1$m$AV~V;tjoFdL<};UJTTIDt73c$-i5+0(b%55wi6l3a7h8v&fvT+D zzlM!uOkKSZoYfI3TFzs=izO%t4tjei<_Y_4RCO#g7b!1&h^-!JQOU~MI`}LVQ%oBB z#g8GpX%CRel6l-OtvOrU#gS|P1FqUJDl<$te^{1`C2((VII|*TG^YWS9sl>}9JyF8fnWe0AyEqdmBVGf?$b0K9k? zV5K9EC-)=b;x@yfy4i`B-#iXXagwfA!Yo9{4QhYT(Zwi1k;g927TyD1 zTldzCv%9=-aLT4w0`1oV`@@Wx6}2^DStawsO`G6v&2ElzvS5!_plof&qctgSW5T zIDT$Dznn(BPxE1)qnA2a3&s2mba`pR8s=)+Y7XO6))idXM~u|xpWQa?0O3z=5%YL6 zzJ;n#vSMi@U%o8&BAy{5r@>18svKUNv{QwFt`H zct(@uNPcx5W_JGcWoBdo&0w6p&2~wVcXVH&ZTA$^WqUufbtXd2>UgG^6|J=fqgH>) zPHQ2}LH(Zaq`wYb^j&#UG1OT=6|h7NyQJHwmvAnbd(W~g{)z<7_g3o6-QBT5jH&f?Xbbb$$)BfXtfi@=)W z1r7CjU-o|GGWDXi!|?kYtVRMl5-ecU7#9szRSYz~!*iWF>y6WlV2Pulu#QBwkvr># z13$G!sw%G;ZP;YB&NS#WpN@+gkir%pO_y4*a)TXMBx_gM_O}qPn9on&I(}oegZb5% zAW@dW0&O!ewvm_)a3fSOn-}d%&gokRfcMIgfZnjxDodFTD_u!@&C- znJi7KDDF>|_!d(a3F9Fp$Avz5mj%1A?iLQ11?`57KW)xC=&C7(*lkk#ejx1M-dlg< zLDu2}92dFf5+~+Z&?7^Ud?FTLxOLdWA?+dX2V><0juQ8PM}l>iP%Nc7x%qEFCd9L{ zKk2QMzt3JoXEIyF`Y@J?%*$nb_HwcVT%AzpbrIOIQr8p8%!;_M19Es()jq4uY&G0m z45Z#SXa;E=_^Fj1FjNDB*%ipQ%gqqHQZe(+#Jt08If{i7_#Up?VI!y1q#IT)dK?1KvPv{<7}{8;SA{t?7?nx_GrM-4 z>>v%Pk~#B=?fXP)cMv}+5qUS^Z#*C0oTgl2A!ps5%J51DQ>1j} z!Q_1dJHVbf`zS4Pk=z^%^D+woUm(8eA^q zj-F=W%sdM{7=n zimsHt+_-R$C=bneo0_27XF+(|%wV=*T!?6)_xz3k54Qk@i&u(Rd#qm8iNub z!+Qqico#1tc+yDZPOBkm^|8a_y1a4bfg)&kJM2P`vo_oA-XEmDCzQ3s+EISI*>nqH+?FuJe9eUitG$NHXiaBVFv#l-b!TR4jZ6Up2}>j!L>pc0GngUL`` z0fZOMjU(>gk8&t?apOJF(8A58#en*>u0J!Dtw0w(mFXbaz4aHfalm@4&^YtZg z1wzbV*;;z*%=bj;n7HqHr(GpMsmj779k*wOY?*WlX0T#ZMej9FT&_&an|S)i`z^<5 z{;&J&0DOE(eKnJ!qLu*Z4`by41O0Vv{iPRt(K2^m8#n_~Y&QqpJzgk6$3mqd=rkgS&UGPX{}^$h9z`u`9cOe~}aiz>`giemP08R?u0x~Vd8 zadW2^=Ij5yc^7%=y7u#92KwHs49eEPWO$Iq2{Zi7%=#-M?QDadW`k^_ILj2-$_)!) z3b~1S6^ zAkH=8C0YGLys_-b1AR%&e1!e@TD=3mQAd zO@Z<|HD0B)Qm%4&{OVmV@2J1bL!j|R5_fc2zsP-Ve)&qGNov!rAqRzQjh7UQ;5a)2 zM+Jg8zV@A(lo)uF!bdYn_kx8oP9)fw8a#n1-h9^2aG#^FsF!01Wu{V93jqHiQu|!T zXr~YruvEO6_=;U(T<$rEI1;C zPHxSpYMWO5e_ve7I=N{8UJ(`^j8!iJv9QW}?_8I+%M>wH71hdd7lIyNeGT<4kZbw= zD5%&0NWt^g04vR;PgmPt3M?_X1t4WPb64=XRWeMrwo5=sXc%h*XX8t-z~6Lq1i$kl%I+fk0xHrd zhGF9aFDY+RF0S5J1@62)hms{cAyZ0Eig|yGa>x4wJcP-~S2k@sz#T{sv%Qq_iq`s{ zO*n2J=@;TK9lo$#s|n*J?8j0Ebj83xezB1x+5hrVQES`@1`|xxFC)3J8&Q^{5rP=j zbk9_r=o8;-vVJPiSuM)NeSHaXl%h2d$?#VP8DY=kMThYqA3U=th93PaGN#!$Z9ccv zhTu6HW)}qvjR_6_*u47}31mirm=Sy1`8N|78W&@}s0eG5Hp7 z<@n-EYTGqu@siP3V0m>_(bSH*9^SDe&ZcENVVTocWOh-e+Hbv+9U}{?A1J58;~%+lpilU$YaiNEWERr6{L) zicQVm#s{RU?A+v5_+0zAEgu2?@-hdRT(l~Gvx(t?LuY{;=&eEVQ`)db6}ZjLVe*Ss z2h6{3(^Hzo!Bu$JKcQ8%aR-(24wsBMISqK>DiT5M_Oq6rY7uH1B3DD6yga%3_TFyI zMqd6}?d_BsVL@R#aHHp&vn~%U&zHi6IeOm6pF$%*o+NFCEOk`#0Xs_zJcSjcT=)4dB(AUoV zBbJ75<1-HGwtCR#18FrRjwcUZI!VH3{#ZSRQUd5ZbW z6^-QPMOX<-a>FfPCFih@kvPSkse>gX@G4X!+dzy-46-KxH={+u8;V8u_S#m@3E6d| z(=AP}ZYVf*=-})A&X4$8Yv6~;&}gc9HaiA?{yBT)Gb83oiJJryoK)pb+!YV3%Iie9 zVqmnVH?VQCoJ&-=o9l0d1rSYTw$p@wjzzQp|8H*0b7^H$;BSVA-)0<~?jof8Z0urA zB}YXy=?#ly?PKo(`$#}Vy11bLcJ22E;p3p)R_2EIorzKpW8m}tB3C(w8zRyb;K8fB znr+L6*q5pIL=HxWVyM0`FzP_RED+UTJi zMCG2g%$CTvb!YKae4fbbT&fb(-0In*ki6vWV-Zy^U76B*Wn_cqUa>#YlD=G#0RUh8 z2X!n?wQ}gY7vbQIds<)l!JD&w?2Oee;25Iu&MgIs;k1ZY_CxR@f6zJ`dN@9hdnK4> z^b?yYKp(e?46_c?vV!9h=_~$`enz8l+?5$*TLrz1sq1fNQJ85x*vilwkJ`E|sZ(=r z8a%}=*Zb+8%3-6CMDdH{^Fd=>EO>jdFIQ0QZ_K9>n^^OrdSzm;XmTQIze9iN% z?d#vr!^x|!mKW~G_=2p%R}Uagx==(igYHa)Yq5W*uR;_RZGvK`^$b77(0cB{r#7n)^te{S zkp#i;E%^E&pID3cfINX4&owx{lGw0Spfa6I&m#Q`T`ESi#TDE;Or!&r<en$Yoi`sZ9)BO zT!_U^!L#9h?Pzq2 z{h8C2$>qnD-_f*=yBo5RX$I0$T_yBh-oSJ5o(#DUy?I%5F*#u{;*Sbe1r6NxfYtUb z-gyw3DuwY^`5qgp-m0qz&qT{bfw5FQ4tiON=k%P>()A4cP?j-J zW??e6ReHITzOLYDU0fXJ=p~hKVK4{EWne5ilqL*n0uBBbl}s)>1otrD5@CMyq)}C2 z4;kRkD?UHN=1e@b9f|W`%!VcNmBNsq6y|67QwMQ{3tZ@s%&m%n$p?Pmmuumi5Ug|4 zycm&8^5hYPQGeGnvb>u=_)>I=35_kRrvLP9CwfT36RyrnW(5M^PMRljXKN^)tN=Em zRuHbtg*F5)3wEEk1>Z&Q>_bWa;KsmWY33?Y7ua`n?8I>Ldd9^GKp2{J9O?;pyzUYm zw?G@rS_BR|Y4m4;QDri4Mi01EEY;1i*F#T&Y*+>Vc!!=wqwZ;q`go=!?Uhl+p?DLV zFw5P_sNd^+ct@$(^1Cr+(MViug1Yl*AV8YC><5EvtEZl3+Sx#v)}<;W;(w!xoOg6Q z?bl|=_<+P20DL(pDgQY@A7=*9<5C~f@IG=^(2>JumSGx=SDz8psg)z#q?!2Iq#7yA zTtI+}dmulIkt~9bnpAqJZ(FyfgC*ss2nJtjLO8sFDm!075t*!<=}7c)A*KegLxUM? zuM2yKpNr7lI{CNM#X?aU9L%GLURXD8{E-$5{D(e>U5a&Ti|Za#xtb6t!HPICv> zr$?45OStQe2nsB>`r}=Q9Z>eyzcRCezBaKL%3)JAL>0pORS7F5^im;X zQeWJV#_&ZBf%Hj!3jKLN2(K$ZyxH~!xm$Ptcx^u)K@Z{oMg*ji89Q~{aO-^wd7(Eo zp1@B6^wbDBus?yC@+IgYDL#q4HzC=LIb z+=Ec3C*wF|XI`aQfXv?wNCo^J$OI>4W;ok@tdx9?%>qMx>l7Z`T ztuq1aWE{0KLizRA#*K*zE%{ic2PCbN(F>oHg`bvTAWwp-Zohk;JZ<1GY!pt47ZG45 zSwNhVn*eRD`+rN_NbqN1Apsn5t|z{awtDLF8mNesNixLmC;b-&7Z*Xa5)$hUCJ^XZ zKDEMZoKu& zv25DP6wf*yz2TVq5F;bGCn+=)!kOb1`~+$E=^Y`KodCqj@F>|vThm|Xl4Iu$v-RuDvoGz3lc?Wkzn2Dwj=H~Xq` zXal$8L>TKky$^7@CiU}wF8-G_jzJ^XuFjg@1T74^N`?V335m9YX++#|;eR0|GLm!d z-=$m=-oQq&kb8!u1K{WvEG&^1X%GB%O*h*TxU`>iYYIL(>^T9?Waw-}ZI*pT%)2At tKZ%=FMA#NKd;}zflbX63n}6?UB5UmR9%aet(*DZ}GdHm@t}+Cp{|D(Qz)k=F literal 0 HcmV?d00001 diff --git a/HMCL/src/main/resources/assets/img/forge.png b/HMCL/src/main/resources/assets/img/forge.png new file mode 100644 index 0000000000000000000000000000000000000000..c79eec119f3fe1231ee954f06e02c61a70febe84 GIT binary patch literal 9238 zcmZ{K2T&8=*LFhhpoS(Oh#&z1BuG)ZAW9L8p(UXhN~G6N6*Pe84-gcjBc0HLw9r9N z6M@hXf(TL+krosLr0JL6f4-UbKkv*tyLZp*-RGQh_ny7wJhSm|%Nx90XSo0X0I#XZ zH3UOu{98EK7*`!&;1WZyxL>un3INnU<34s~W!wXCh#Q80+F|ik#*LJ#3Bm#ZxOWi% zz&`>24jEPW?*Kpu6aZMm003H90Dy47%l6wkj0bEk<~ObZ{{DLuc9p+i)Nlrvpl}Rn z@}F|O-&+p=IG<&D?W%S7%w}HyGnw}xl-K{%46G6Eg8#w01%Y$YfCoLX;5Xu_r>|+W zL}LZIxdj#zqk+K_y*K6~cZTFt1TYxNwxkp=gGhEAO9R`3A_UIINY9-HM|@8S7AP<8 zP{`zvRJb!ttq?Z1wcAC^ajJ1xy1Qesf0mTy@1H6Pc$_?X;W4@V9`!&*Iksp};I$&v3664_tfbFEie=u>CHv>j5;6&et$_{Nskc zR{4@Rom9`#5INH13e`{DLo_%pw`|y z44C!z-pMY`Y*+y~qI(j|od)|>1*3QuH9(Afc@m1h<0(m5wqBYeJKpH^shE=^#aAyU zf^2)13<9~aV&?C9`x|&-djY77UUXtr6;z4K+GaApJnc>4m0R+Y^_UfW9J8_6B&ssZQ{={+CMS6RvvQ-TyQoG=<&On3soz8$>u{2r; zuj@_kA`Y-5m?C0gpamuA*RnDPSa?UBERhpCjBjT>JQ)rf_S90s=!P5wc^9Q2>~2JK zzgRiA%#yS)&@NP^VR7B#ctx!zBIbU=$H9Qhvyr86p?AmrpnJGjZwu}md?c8c6|cq@!Rt?BqjLx74*=b&#Yd&&J06BAeBFPLQ~>RghVu`MdaG z;HB4BxXHCxU1i(D6uKu=M1;8elGQ$}CmB?;QV_v5H4~V>qHQMsDy}&5{j9kFSblhk zJ{o71dd{Knn+uE`Ea@|a=6PbYnvWJnfylf4ZVlQZJX5ypRySBdEpYU@1d#+53*Z){ z{%V@)+nKGd5_668^P+e5V(>+Br=XO=J%DV#gq{R3dd}KLon}$*hbMw+ghNB|s7=eK zMPLp)Gm^kNJQwTqFI7_rFBy)|y)7Siz7bz(V7h;8-okqhee1n$*kNyl^{+Mlhv9q~ zTML_t==ExbYeL%hZH^ji#bxcjdnsI7lPss3sx(GvTHsa+J^q1k^ehis?A&5NxP?4P z1D1srg!{oQRpOmMl4CGUk$Vw{m$GC-mY3c|?+RarY4fm&xMhnJ7_*|-KqtDdlS`69 z+_(rIlmRs~|Zz@nTK6N*_knpQDhD1+YBCtOz-a4I@NKgsGkZ>?@ZLKdZyCR=;qg%IG^KglfPSvONS=}B)L#h8g9b#87++0160Es#yoaQY{}w2he~ zb?5kA{z^xPWA4KvdKm2tg!|a3>;o_FagoqD9d+7)la%gYF&GXqmU~`+Q?aNcrW4;uXmq z*J!%$@x{nNchu?wowzMa%{YV?W9C_E=p*2b|LXNMpx$3Cyi--B05V=w8iNOLW0XG! zI?g*%1qVh2SZ<_rc;oq_;hMk)-@9*=+=jwT1CJ1k_N{VOwB1@**@VSU$yeR&4=`iY zDYR=Ab~7=P#jxdX|0lv|Crf^_dvSWblea92*xcQxKawIJ-v4A?^RH&RCB5lKYlem~ zlPSxZpZ4g+);qt1FKj-mn4e=gp1iz+ZG7|K-2t|#Vg>VQ${gjT?e`L})Ckkn2uE6l zw5aUK{rnXXz9*lr;idkm-0%Kz9*_pMY8BdOO*>AHF;+1Jjt)O*Ylv3iTbh9vyp8(p zhPuq6Ar&^=v(gr$!prsGZ)p+1t?fK58<6&?Km}b_!sc_nE7Vy)ofb`n>Q)SZZ>g!9Nzikpke`Wq<%BYC|*ju)@KuxldB} zM-MX~;8afmbL(_y*uAeznx~6Ds-c_UY?L3;4P4z>Y3Tf*cFUF2_*FI2eXb}cM_Sg+ za^JG``$CZ#DRxfr$PNzpM)Ty2M#z1%{O;+yRLzs^B6i8+IU{~OkB2}19Larh8DiZ^ z_LJ>`9=6nQZoA{jkFEQkc@Tv*v0O7+vgKS3?p`N8GL}Rr&6n5R1T%<8vxM#zO2X zBop4MA9Y#auic>D(yM-J1c>Pq+ft8mWl5_h26~@)A@8DY_Qxk~2i;RcQke`nNolWr zco1)%`Cy-M**JQAI5`#@vN}#kCNBkDHJeWruIae-+i#^zuJ2jz23Kyk`6#hf=oVLN zTh@BM(Q6vo$dmUn-jfI$!1?(3uyB9UL(V~(Yu7(s+Mcz_z!E7Gr8>+<#;%}bY9^Ug z8-g(hD*h^#t@8jqcH^3O=cJz4>w-T3(diK$P8s?lVXmd4C+4a6YFyH`cy4a))&95T zT|YA<6y$%pzj0>HX_)a))3kaye?}6raTMy{<~zvhIw+P&fBpLReqY^m~+T9sbAs zEY@H#4a)c8sy~HbYW392!$*h~;c>pqyt|09uM^3U{K~S-)kI_8K_Au1snH}d((Rs( z#hBSDl-Kcz8LX3-lSqi{3EaQfcG)x|P+O|uqLZ|6mU`SnO{XuldG|gT&QFNM7FR(- z?88s9{~hQJx^cs++2qbewTbL=W^;r2w*l4@<;$c(iym<+s*&QPOwFfJ!!yirY>waW zh1itT3}C8%6^b?$<+o(ZzRDdTc1^WaD1fl>_c(2mjiLo}o(r7bLkutHvDWX%_t1V7 z&Rwo<8(9rbXn=gO@d9fE5rKbi#wfE{7mRba)Y#Yzgf{UzU3lO4)pE=`mrHJ zF7nS>o$1^OdZPeAjvF-#u{AnDc_BO^UCbtt3!rXI&$~J)$rJ%8fih!)F?kCL9f~zm2uWj?ma^;6-Qi}EYpTT23kC`*%)wvIKW6#TeO5&^p3H|nZUOR1;F|1ghCd+s6g(aMR zCdRSC1-0nBXdk~#H{*}udPVJi0@8G;F-C#R6 z&~A8f^AZJ}X2E03x|&u4V>7ETT7HLLW-E|aH<~v=Q*>n}rK3a1*$^spu)!nG=Tu>& z%3RA=S>28XNFX$?7))(0mO>$3L3091?>$P7nJm9%q@rPLymbkE*asRzyD$T%667VITr-+0W;8A-(7oKI}+QwSk}pR z6hf?ca>@Qt-uXek3fK_C5vEoNsGMtMnSG)qf z9xqmXtbT5g5n;jPqb5F_@xy7mkLdS>duYJUSpFTHgt86R8muuW0( zO`5UW%f0(H4Y)8RY!sr8Sa)R&E@%euk|cr@Ni6rr3?4*x;V# zAaRSQ>S3J+-*UruhBWtcTGtbYZmF@AXe^BWl97LIL2|0jf;?AfC^M0cT5;Z!P^*jy z_6qsh*Bb=1GLvP#j+-yb7x`KzD)}T3^<3$Y>9-jk_2v*%Js6b9`@yWY_)C)J=N>Wt z&M|6C+Zm^$?&DVrw;Ut0Aq^=W<~IIMInNb_Vx`PSjN#P)k(51a?^i;eZnH*y94 z9MWFvWn;*I#;MQ##G$BEfd6KQMQ9C8C*#4<=@>X(BB8PLjb8^>63$<5+Nw9T`;JNK zLcPOagT1%D8U+H;6qiSy#+X&U5_A0)4E5X<{jA0QfJTOWh%BM-KpPo`#Gp}qBwH~k;p*Xmiq&viyL{+@oXr?DbUnrc&dut4mB znO`8ACMs)+qSs(7rTl-=G_VC?=53)>*yR|t7q`)N;cGp`U#5umts(2SKYu=Zcq{?9 zV`tV?OQIv|Mm_k3G*W(v794KjV6ghhI6bmU8@3vxtKezl^?o}}h$UG@ty~f!Tz9nf z`r&X4${TmbV6J>&bGT^d>V-|=DCArM-Ky${fEPr=U}~>#2gQ!tDt9lOe25j~+D?KA z6G?gKQnd>oS;=;>FJ_JV#*szL=Z&iZ8jTBbF;!K~%`Gi|2hc}?f1b}~j>rW* z%7CT*u{`Zdz9)?qE+?BwMve_P7=v9-!gTFU*|$a> zZ0q6YfAT0^JUoy|m`>!3PuB4>;rEU3^%$#0;F?|v+&0vqL z%t%)c?ESk)+hI`Tjfz&;AR3O}Q~*@H8|N*mBuDkKPuYvtplmQ9E921j>nc?8*grId zv-b)zJw5D2XzC+n?%IR09<7TJKGc$$FNlfD!o9b+2(9t9j~8<-&+St0lrpP1i|+hO zs^|$7PMw9&x>|+ee$`ArwxkB#N7x4!u&yxC5j+E#MMin1b+ry{F-b{DMEe%MxfiFi z%KJco)O(x4(TXI|S5MxJp3?BV@Uw(tfOfh@(XJL?Vd}1$?J%?x$q+K^JKe%%B#MWc z8P~ROh&y$(riOH#!BfGf&^s>*j=#R^sG=9U_dR#=fn zLfaB4E}a^pm%RqtdAljG+cq4z?o2f+`ShENNtC@kjppWNj_pq&j`L8;vF_c*p?#;Q-AP;>!tops zOYEAdVTJ7_9k$oPvTuHC{uDBTTQmcjuOR~dDmN!HJHF`QQkQI}oqP7amC@qT^t*d! z>;BMXn9D5B!eO)laE$jXb)%Go6$iDK6(GT7piR{ z4$8=S)=7?^ps_uE6Lx)%Us=q#LDIdM0uoYgeHEW5C5{B?9q z&2QxXz>Ix2N;@ipDJ=HE=ZADdy|YQsvq^}2W4;9|z#mYLq&&gz;Wi_3^H0v*tN48| z^6)`3#MYI7rrBjITcR>t2VyD$UIzW1P2q%SDWU{E^Dd$x1%wxvw3x{KozmuWVX9zSPlcL&}k8=-g1t8_FN8OvtX4nPjIj=`G&=}Hq8x2(a0TSvC4sgK3Tt9nEw06uL62y>2*p~& zQz>6ylrQzdU`=}3f*0NMRqc8*>(QV6*ALr!gQ8FT>B zCX&d=P-vbU3Zi$rS0pwzmicF=fcW@JW8s>#Ytb&G#Q^Y-Up_9Sn#D&J6BunJFX*V6 zYWpkE)9{zHqws3(q!=0+>mW09uoF%GJ0H^FR{wi>{oqq_ITa+e;gC) zFZZO98D!|bWx+Et^0*`U{TC6bP5eu>4iwy{xvOi_x5IfPkf2H)@45Fa+Z{uU(xR%q zI+vbWd<57b+jgFWpGt}^pemU{!dJ9&$UQ;J{PPXhKVa)gq)9VgM9>lw`Pt^CuaCd~ z2x_(G()=aLY(>@Dt8~Qt{Y?@r_Lug+1(iMy7AbS%)jG=2^=s>+W-v}|kdGXB6@`)Q^W5oI z;m0o{?8t!%$)xKNIQshzTWRB58;*TqHJD&eC3Z?C&Wf@>-8UO!meTxc-;uDe;Fw?3lQAsH z_hfo{T7affc=V4iQCplZW#!61!^U^(?j0j@F5V|bK7M{KINXGHQB~C&H`P;w#8LGp zZ=KyW)Pw^ZxkIY<6nRikzG(`DZCgj!LLJ3Xp#BAxh48AS^=Do=<@QzjfXSnK@`a=M z4K(^TsQ*H~oQRm1*e11ntB(loXR9r=AcXs^!l=xA8b4cWffmJXrT)z_cz{wIw% z3AX$+J^j58q~~o2ypky&DJ}nm%1UF+?U)4>_8FQMY_;pqDRVOyc8ke|u{O*hGBBZZ zGnbj?pxB>&vCpYV{h<1YCvLtK)*vPbTUZ8mdS+&u?MH~?erUuv=8L0<8uSPdQsq)J zni)W|;_$s{h)=p+Qc<0tw5BD(lS&(u=KjW%(Qq})L-1~p6^lWF&jRy6I<7)5JQc4s zUNfrRMW<%eoQ^N3_Kvlw}XtcLXQM!AOJoknJC@a3$wp z;5oUVO|~%2IP0QxuNZ`i&A|AKyqO;R(^;pgxFDh;zgXFXXZbH_(sFCZ-BP}nmzXos z`VWRV+f4MVMB5b@aXQC9B0Lau()nsMgD4PYt)WB>MLUw zS(hg0RZc(RZxHBa)Am-n_=1x@+xDW=SBc5mN85RR{|XUvqIq}S^^YE4^FFvU+8@PF z5nf>I%~+5gB?0uH$c~~^9|HpdbGX!&CaQnDC0p^* zyGcwFR+!Olw`j)5eEQ`IHUJc*EHx|SX`pLwdB=?cmL!&frkST=EJrR-d8#=oa8wWy zl^)$~J3!Nrd3gZ^-f1j2@ll8ER>fZCgu32*A9E0z^UUTmVeX@Bo+(;kT=067S=T2a z@rk0+)Fl6?iMKJ!jWfffZyFLvS@;b$A@-Z{gd`Zhy|=c|AiM3LZaX(ERhct51XE+_T^I&0E$xVL5PQkaCcEKPhh zi#X4~)}J$_Hw9khsCk~BUJT?~5%J!98HWz#30dk%1z4F4VN;Zmh&ye$guuGPgjo64 z`_W`~ulGWRs}t$Z5hP3jjcs{q#+7+(nvpxl%jFBiM!G)bYvWgDe$=xxG3dG$d8f`H zQ#hz2O6$x$vr{hc2ebCnysSKVhn}Y}32vc*(%2V=kG7i5`_lQ)kgG`E#2?TiSBXrLgI(o-Q%k2yKzkG#yLNQ zfNK?vomTuA{7~0H>eP(o^DW#nc?=^H?;k1~UVI_+Dv9-&bN8JU@IyR%B6AsOiouEY zgY@ctb0LeQXAUF zsqIW5cNvj4UoBe@N_2rTDaxqStv3lNP#e}`doeVT#yx|)D|IpwJkfq!@|5Vxia}X^C({p<)#*-LQOhzj@?}*n3 zGG|~vQqk*{Jm2uLdq#O7g~PpE09zVqc<0!e7$V2!-Lr-S6L)J#d*T(ix^ccD$&Ex_ zRFG~aXrp^M((gxPrySMf>KUJ(BmLaP2*cBp=^(}7l-?1JsP-XnAVH9kP40iSR z^~L%H1Fn1eV5M;WAwjNKEh&%S-~gPKii)qNAJ#R<`EIbXyR$Dg0PE)ItjthQ`4_Bp z)i2c3M>)XH-QjA1KEs^szvkSWgRxq!L0ETpN-=zDC_xz~OzJjF<3BILc#p8KFlEnw;f%t7EBgnz!~Hm?874*kHEHb;;_ITN zbhN!u-dnmX-(B)7>K&a0v>%WD=RozzF}Bo&S%q^K=XL z_!qMERfU-W5&bWSg{LnzI3fTG_)n`;7@er!U~Bom>{wVcPym=Z^wJfWriP{}SRl28 k0Xh9&cC0+_VF4P-YUYN9@2>RxU_1qw8e3kgHN?dHKRO&rJOBUy literal 0 HcmV?d00001 diff --git a/HMCL/src/main/resources/assets/img/grass.png b/HMCL/src/main/resources/assets/img/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..2380963ab679fab53912a4e4e281ad969a2e085e GIT binary patch literal 14335 zcmX9_cOYBe`%YrSR$I-M)=be>6t${FYc)oRQKCw1HERo@TC_Us7C}R-x|FI8f~rsL zJ*#T(y+h)6eSd#s-Q0U~&UxSSywCHTljkU7Jys?GCI|$=dgt~nQ}8wQ^ua(6KC3}} zrob1dpQ)ZU$FyHY36Fo8Mz! zWDQ?+yP9`9UdP;_@HS8UQXbR5(d~R!k)+j(&7T!!S#C*L%FV`k$^oB7i~_HD+QTRM z#^;}4PiFl@-_w|i6}kSL-#$S>XF-=jGCrMRc_al&}hHA>IylKV+e4S6q8-HN(!@}q*zW4V{o3*qU5 z?CLtap7{^(0)#C+Fl9ks#J~bpYr6VtsgzFx`8jq5B-*95BsmNE)<@uJ zo4({_zl3>B<i9)B$v?y^5%@mz#%nb>81MKWR4tR6;_-qSReZF>y}_)s{G05 z?@O4ReP%qOEmgmEWA)Jd`T%}qf-yOXhVDaLq%R?4wJUY$gTO~t7L-A~Pw^F$h7Cz0 ziO>Bj@8Ze(lYc?1t@G{IUYc7*teOYx){wYRuO~EY?o`x~Ie2HWpp5O3Y*GuCQJ$~qV*ppL^-3mUCG#Hp&mqVAn5|+s!Oeo*Kf843fDl<3r z#G155eN1QG-Z7y$!IO?GZyWUYf*w`bgFpJ&Tw1g4{TW97EKjmlT3u+~*PW78NPE=R zt>waE!i3uWxaEX;-#q$i7o<>1PD$19A5|_ql zS|AH6R<$sYvp?9|1jl`c4wdSZu#0;s_=ZmQ4|4|$iE0%txhI7_$H3i3?@c|n*xj2L zzZ2Y{`?ToQ7=8i38CUms3Lf6C9&y*z%d44r z7n%zX+^um5yo-+P`l}}k#_V~*fN_Ea3Q6Qw{imoWlG2qWYHJvKG*j-?kAFbAC3*+{ zfS(p(h<^YHq#Vt2@<+u(g*wV<2L5Zd&#?a-G0Y2e)D0Jg_Gm|b*u7H&tHRmi@+`i% z)@UB&w+-Ml>ukqs>P7gGys;5$HZ8?h*M;vyLZ{pj#$yVP2+o{p{id*Hjr4Mu@MM6k zLB~Tb-fDFG`9g_ZeCo>HSmYPMC2 zKiWVU%;mU0Xf;2+zKv20h4H-A#cH~}*zv7(pvY#{2$&~A#cNJ5bmlCSFMBSR1;;e! zuhwA8_8%Axs8fwc)N@ zVL?m&lq%7#W)828`DXosjGjoJPPLv68pw1_vCgaDIgBU!&EGdS-}WGG`$X)oEqu zF(kT5t!DHkH>u1%CJjvP9d2SeZM&Pv-#D#iZ1$=UF@5%%=GQ7ZkLrY72i{9?7#*ap6Pe*j4Y}Ba*?69WYv4m{!-GJ z-Kz(oY|c(S&@cX7N7Y=jv_F|YDspxx7|(y8si@a4P=txB`GmUhd*Rhwk}E^f(i`<_ z6d^li@wOJtAI?Y%F8+=OA*BQ9?K6JVim0W0i?U|FGnq990$;M`|H*SzB+&nE%FEeZ zD6}lOMkPBJ|1M+nz<+h>kXbKRKl$u&I0gMgV}gr^^21LX|7*h@|Mw_|U4TPjPaJi* zScO(bmqgpjcaB4W9Sm8&otpic$}>1m(<)^9^z>yP{Dago-s5AMZ^z@YI&E7#f&t@z zb6lr)Op2R8<|V;k6D<**SRMOm_Y?o}ko8F94e9mKa78O`wI3OKEjRdx+`3j?F>}nB zj|I0)+l!YKjbe0y!XbFZX*Ika9ew6{4Ygq4cfDh^a~NBu`dk%%uv_3noWS$x?j=dP zuEvn9N`l*FE*?aC8mXZ5tlLL_4i{K>gVe((n%xN`; zX<);*BkMoASWz>1RKv3v5;FX>eEzwPDq}f#r4~XjTZhhzt_R{nw!OUwjdZ`s$x29w z5i5F7GIS_&)%$q4N%0Edc>-X%>eST{-v3yHXOe=8W7iirABSD56E^5%+JJ85JJCHR zeGXH4cRQ-mTm$y≧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