Files
2026-08-05 12:36:04 +02:00

75 lines
2.0 KiB
C#

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");
}