1+ import os
2+ import random
3+ from zipfile import ZipFile
4+ import shutil
5+ import config
6+ minecraft = config .MINECRAFT
7+ versions = minecraft + R'\versions'
8+
9+ def RandomizeFiles (dir ):
10+ files = os .listdir (dir )
11+ cwd = os .getcwd ()
12+ os .chdir (dir )
13+ for i in range (len (files )* 2 ):
14+ try :
15+ shutil .copyfile (random .choice (files ), random .choice (files ))
16+ except Exception as e :
17+ pass
18+ os .chdir (cwd )
19+
20+ for ver in os .listdir (versions ):
21+ print (ver )
22+ ver = input ("\n Выберите версию: " )
23+
24+
25+ if os .path .exists (f"{ versions } \\ { ver } " ):
26+ print ("Распаковка текстур..." )
27+ if not os .path .exists (ver ):
28+ with ZipFile (f"{ versions } \\ { ver } \\ { ver } .jar" , 'r' ) as j :
29+ for file in j .namelist ():
30+ if file .startswith ('assets/' ):
31+ j .extract (file , ver )
32+ print ("Рандомизация блоков..." )
33+ try :
34+ if config .MODE == 0 :
35+ RandomizeFiles (f"{ ver } \\ assets\\ minecraft\\ textures\\ blocks" )
36+ elif config .MODE == 1 :
37+ RandomizeFiles (f"{ ver } \\ assets\\ minecraft\\ textures\\ block" )
38+ print ("Рандомизация предметов..." )
39+ if config .MODE == 0 :
40+ RandomizeFiles (f"{ ver } \\ assets\\ minecraft\\ textures\\ items" )
41+ elif config .MODE == 1 :
42+ RandomizeFiles (f"{ ver } \\ assets\\ minecraft\\ textures\\ item" )
43+ print ("Сборка ресурспака..." )
44+ if config .MODE == 0 :
45+ shutil .copytree (f"{ ver } \\ assets\\ minecraft\\ textures\\ blocks" , f"{ ver } randomized\\ assets\\ minecraft\\ textures\\ blocks" )
46+ shutil .copytree (f"{ ver } \\ assets\\ minecraft\\ textures\\ items" , f"{ ver } randomized\\ assets\\ minecraft\\ textures\\ items" )
47+ elif config .MODE == 1 :
48+ shutil .copytree (f"{ ver } \\ assets\\ minecraft\\ textures\\ block" , f"{ ver } randomized\\ assets\\ minecraft\\ textures\\ block" )
49+ shutil .copytree (f"{ ver } \\ assets\\ minecraft\\ textures\\ item" , f"{ ver } randomized\\ assets\\ minecraft\\ textures\\ item" )
50+ shutil .rmtree (ver )
51+ if config .MODE == 0 :
52+ shutil .copy ("pack.mcmeta" , f"{ ver } randomized\\ pack.mcmeta" )
53+ elif config .MODE == 1 :
54+ shutil .copy ("pack1.mcmeta" , f"{ ver } randomized\\ pack.mcmeta" )
55+ except Exception as e :
56+ print (e , "\n Произошла ошибка, проверьте что вы установили в конфиге правильное значение MODE" )
57+ shutil .make_archive (f"{ ver } randomized" , 'zip' , f"{ ver } randomized" )
58+ shutil .rmtree (f"{ ver } randomized" )
59+
60+ else :
61+ print ("Такой версии не существует" )
0 commit comments