From 41c6f56d676e72e69af6d07dbbae886d8570b63f Mon Sep 17 00:00:00 2001 From: Kq Date: Wed, 5 Aug 2026 12:36:04 +0200 Subject: [PATCH] init --- Program.cs | 74 +++++++++++++++++++++++++++++++++++++++++++++ example/both.png | Bin 0 -> 733 bytes example/bottom.png | Bin 0 -> 701 bytes example/none.png | Bin 0 -> 624 bytes example/top.png | Bin 0 -> 665 bytes txtgen.csproj | 11 +++++++ 6 files changed, 85 insertions(+) create mode 100644 Program.cs create mode 100644 example/both.png create mode 100644 example/bottom.png create mode 100644 example/none.png create mode 100644 example/top.png create mode 100644 txtgen.csproj diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..80699ef --- /dev/null +++ b/Program.cs @@ -0,0 +1,74 @@ +Console.Write("Block Name(diamon_ore): "); +string blockname = Console.ReadLine(); + +if (string.IsNullOrEmpty(blockname)) +{ + blockname = "diamond_ore"; +} + +Console.Write("top texture url: "); +string top_texture = Console.ReadLine().Trim('\"'); + +Console.Write("bottom texture url: "); +string bottom_texture = Console.ReadLine().Trim('\"'); + +Console.Write("both texture url: "); +string both_texture = Console.ReadLine().Trim('\"'); + +Console.Write("none texture url: "); +string none_texture = Console.ReadLine().Trim('\"'); + + +string working_dir = Directory.GetCurrentDirectory(); +// string blockname = "blockname"; +Directory.CreateDirectory(working_dir + "/output/assets"); + +string mcmeta = @"{ + ""pack"": { + ""description"": """", + ""pack_format"": 15, + ""min_format"": [15, 0], + ""max_format"": [1000, 0], + ""supported_formats"": [15, 1000] + } +}"; + +File.WriteAllText(working_dir + "/output/pack.mcmeta", mcmeta); + +Directory.CreateDirectory(working_dir + "/output/assets/minecraft"); +Directory.CreateDirectory(working_dir + "/output/assets/minecraft/optifine"); +Directory.CreateDirectory(working_dir + "/output/assets/minecraft/optifine/ctm"); +Directory.CreateDirectory(working_dir + "/output/assets/minecraft/optifine/ctm/" + blockname); + + +string ctm_dir = working_dir + "/output/assets/minecraft/optifine/ctm/" + blockname; +string ctmproperties = @"matchTiles=" + blockname + @" +method=ctm +tiles=0-47"; + +File.WriteAllText(ctm_dir + "/" + blockname + ".properties", ctmproperties); + +int[] top = {4,5,7,12,13,14,15,29,31}; +int[] bottom = {16,17,18,36,37,38,39,40,42}; +int[] both = {0,1,2,3}; +int[] none = {6,8,9,10,11,19,20,21,22,23,24,25,26,27,28,30,32,33,34,35,41,43,44,45,46}; + + + + +foreach (int i in top) +{ + File.Copy(top_texture, ctm_dir + "/" + i + ".png"); +} +foreach (int i in bottom) +{ + File.Copy(bottom_texture, ctm_dir + "/" + i + ".png"); +} +foreach (int i in both) +{ + File.Copy(both_texture, ctm_dir + "/" + i + ".png"); +} +foreach (int i in none) +{ + File.Copy(none_texture, ctm_dir + "/" + i + ".png"); +} diff --git a/example/both.png b/example/both.png new file mode 100644 index 0000000000000000000000000000000000000000..92d5d184bdef9d9eb9219816b12be3550870a3d6 GIT binary patch literal 733 zcmV<30wVp1P)eX#8mQkg6SlU+9~q|$p~CX$NZ)0~Ci!sptKD~tvo z4`b-*7@j>D$GeGnjJ?c5FtL#rc}%{Z#_-U4WfBYjeDIah2u^2DyT~01aJiGv-oAk& zZGX|zox;TngrmnC3lX2GTUv#G%LIpwNS=sWBMvt)wy_ z2t#NTL)r?EVFNG2G+9hc2Alz&>!9w{K`uMpF!=z%^*lw2+hxW00AN@tB+WXam9Q-6 zdR(Q%1^G(A_jd&HUh*2EFs(EK-=|euLv8g12N1{`3au z<5Yl^Wy0)&jW1uDFu!17e4>oG8DM!SiO-8BBz~KBQ23NWVbR9uq>H&(7kS30um2JT z?)Bl;z%}$<@4}U+19{>OV|NkLt4y*tG00v1!K~w_(tyDUQq#XIN P00000NkvXXu0mjf4jNe^ literal 0 HcmV?d00001 diff --git a/example/bottom.png b/example/bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cc171ed5183985fea4cfec61be3790c6eb7fe5 GIT binary patch literal 701 zcmV;u0z&1^{x zdD@mA&ouOvyePm`R~1Ud)O%5Z!=oHo*&s<0?DuN?-H+&IB<}r36jy*{L3k-nDrAE` z(kz3BpsE|x;sCIW4qdibK%;gIM7}5s@)V8ElWFrZF{6zzbxKtOJuSg;UCq$el#3jWD+q!Bo~uTEz06Yj zo(Lm~Z9{BZeH^%s18EAFn6?^geN~JG)LN@87AC?P9Tn*Ed|#bKNp)1c$TMwv37tX- z*YjbEfD=&8d}E=d7XU9DN6R194qZVQ!gU=*P+p)>7Q^Kg!T*PJRQ9UdHb%$?v7w>qm6IhC-HeB#EX{^);|F|+bw+E@Iacpk2@%&Ye^|c%;YLoee%UFCkkGqR=n7uWH>o+ffHVX0WJ5z?I5BV$87jf^w z3>NOs8oM0q{lo6|CVv0?fvCHO!-GB0mZdSG-ad+aVC*Bl-;WIc=hv>ea|{3g|NmG* jRD}Ql00v1!K~w_(6g^Og9CC{z00000NkvXXu0mjf(o8yU literal 0 HcmV?d00001 diff --git a/example/none.png b/example/none.png new file mode 100644 index 0000000000000000000000000000000000000000..f63fc851072bdd89a195b3db1e9a3feac5743740 GIT binary patch literal 624 zcmV-$0+0QPP)TNfK41I-SCIUH1QdToNOW&AyK`;N>17g|sjjN7>bjjC z`}yrd*nD~u#DCp=4EJB&h5OBI__28#N#~NI?d$vSopznweZCFywXW}>HH{+%%F_48 z9*^4&?GVs34IcIrem@-L7OCF<#jzfNB!THt-Hd2Y2b|j$W`=PJ2<8DKQ3sc^1PB32 zBzr&f=(-Lz4IRzkrO4v;>ctXQ3&WwA(40e*7e#_$7@|G(24i+9rtL^aabtFIm95K? zm2H-#i^d7qvjv}~tkALKzJpHvtIC9Z0$I64m0x-XS5cNo zQ%?yoAVYG1GyObz7dT|?BOSn~QRjoAO$ zp76M9A^rO5xgzDN)@#1f8m5U`#sMYE6o1yA@*m{$u2b0&M7f#6h@(zm!-CU6X9&M{*OumW%`E5{u$F4X*)vZ9I( zf>9P-7I)bKt0gZ|QD8FotQ3p%4*&rF|7)U6od5s;21!IgR09Ck!U{C}Ez>#x0000< KMNUMnLSTX$?IY;` literal 0 HcmV?d00001 diff --git a/example/top.png b/example/top.png new file mode 100644 index 0000000000000000000000000000000000000000..60a7f9fad91e740340f76d7fed9bc3b05db758b9 GIT binary patch literal 665 zcmV;K0%rY*P)5L(5Po*vd~UM4t#zfMu&h>U_2NMUzd#W5zj)TWKf{Yqy;Px4LBaX~Rq@c1;K84v z?sl7WlWY>_d24q2lKFaO-kHfvBKz+j*WY#?S)%^y`_sCS)PH<_Qj-|d;FPpUa`yZX ztLFw->7PNT6C>{RL5$M%Ld4zE@Po+uPp$Mpoc_VuRg1~yvu$j>*u~4|AMoYlPwc+g z12NLh>pgsWw~y_uua>CO|7!ECjUg^KZ{!$UsBr(DV10drOKX4e@Ij2bcLbNOWEc#` zR;RtOabW$|uT3z#SmX9BK%nO^t(2=F)t9+ee7JOTAc%#PIHJ(nl1M_E;?<&pV1M1k2BC->MS~9t*F=2 zbte#BSY8Tk#)gRwhu=Zd3EQ9hv{ah}wTv@G06Yba}C4*4PJ`h`1> z+6H1o-LNy@I$0%jGAzd}7)>U|Xhj#$4xlHFjB-HqAW2Jj`p0pFBzkz6(s*rjW4)*b z6RUuue<>yD9{>OV|NraF*N^}J00v1!K~w_(aP0IYMsX6z00000NkvXXu0mjfNPRua literal 0 HcmV?d00001 diff --git a/txtgen.csproj b/txtgen.csproj new file mode 100644 index 0000000..bb73c99 --- /dev/null +++ b/txtgen.csproj @@ -0,0 +1,11 @@ + + + + Exe + win-x64;linux-x64 + net10.0 + enable + enable + + +