Skip to content

Commit 7caea0a

Browse files
authored
v2.0.1
Новое обновление! Оптимизация и улучшения: - Теперь создается папка tmp, в которой находятся все временные файлы - Из .jar файла теперь распаковываются только те текстуры, которые нужны для рандомизации - Скрипт больше не плодит копии текстур во временной папке Мелкие изменения: - "Нажмите Enter для закрытия" при недостаточном количестве аргуметов
1 parent e53c5e9 commit 7caea0a

1 file changed

Lines changed: 42 additions & 19 deletions

File tree

randomizer.py

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ def ParseArguments(arguments):
3131
except Exception as e:
3232
print(help)
3333
print("Ошибка: Недостаточно аргументов")
34-
sys.exit()
34+
print("")
35+
input("Нажмите Enter для закрытия...")
36+
sys.exit(0)
3537
settings = ParseArguments(sys.argv)
3638

3739

@@ -69,35 +71,56 @@ def RandomizeFiles(dir):
6971
# ver = input("\nВыберите версию: ")
7072

7173
print("Распаковка текстур...")
72-
if not os.path.exists(ver):
73-
with ZipFile(f"{versions}\\{ver}\\{ver}.jar", 'r') as j:
74+
with ZipFile(f"{versions}\\{ver}\\{ver}.jar", 'r') as j:
75+
# Текстуры блоков
76+
if mode == 1:
77+
for file in j.namelist():
78+
if file.startswith('assets/minecraft/textures/block/'):
79+
j.extract(file, f"tmp\\{ver}\\block")
80+
if mode == 0:
81+
for file in j.namelist():
82+
if file.startswith('assets/minecraft/textures/blocks/'):
83+
j.extract(file, f"tmp\\{ver}\\blocks")
84+
85+
# Текстуры предметов
86+
if mode == 1:
87+
for file in j.namelist():
88+
if file.startswith('assets/minecraft/textures/item/'):
89+
j.extract(file, f"tmp\\{ver}\\item")
90+
if mode == 0:
7491
for file in j.namelist():
75-
if file.startswith('assets/'):
76-
j.extract(file, ver)
92+
if file.startswith('assets/minecraft/textures/items/'):
93+
j.extract(file, f"tmp\\{ver}\\items")
7794
print("Рандомизация блоков...")
7895
try:
7996
if mode == 0:
80-
RandomizeFiles(f"{ver}\\assets\\minecraft\\textures\\blocks")
97+
RandomizeFiles(f"tmp\\{ver}\\blocks\\assets\\minecraft\\textures\\blocks")
98+
#print(1)
8199
elif mode == 1:
82-
RandomizeFiles(f"{ver}\\assets\\minecraft\\textures\\block")
100+
RandomizeFiles(f"tmp\\{ver}\\block\\assets\\minecraft\\textures\\block")
101+
#print(1)
83102
print("Рандомизация предметов...")
84103
if mode == 0:
85-
RandomizeFiles(f"{ver}\\assets\\minecraft\\textures\\items")
104+
RandomizeFiles(f"tmp\\{ver}\\items\\assets\\minecraft\\textures\\items")
105+
#print(1)
86106
elif mode == 1:
87-
RandomizeFiles(f"{ver}\\assets\\minecraft\\textures\\item")
107+
RandomizeFiles(f"tmp\\{ver}\\item\\assets\\minecraft\\textures\\item")
108+
#print(1)
88109
print("Сборка ресурспака...")
89110
if mode == 0:
90-
shutil.copytree(f"{ver}\\assets\\minecraft\\textures\\blocks", f"{ver} randomized\\assets\\minecraft\\textures\\blocks")
91-
shutil.copytree(f"{ver}\\assets\\minecraft\\textures\\items", f"{ver} randomized\\assets\\minecraft\\textures\\items")
111+
shutil.move(f"tmp\\{ver}\\blocks\\assets\\minecraft\\textures\\blocks", f"tmp\\{ver} randomized\\assets\\minecraft\\textures\\blocks")
112+
shutil.move(f"tmp\\{ver}\\items\\assets\\minecraft\\textures\\items", f"tmp\\{ver} randomized\\assets\\minecraft\\textures\\items")
92113
elif mode == 1:
93-
shutil.copytree(f"{ver}\\assets\\minecraft\\textures\\block", f"{ver} randomized\\assets\\minecraft\\textures\\block")
94-
shutil.copytree(f"{ver}\\assets\\minecraft\\textures\\item", f"{ver} randomized\\assets\\minecraft\\textures\\item")
95-
shutil.rmtree(ver)
114+
shutil.move(f"tmp\\{ver}\\block\\assets\\minecraft\\textures\\block", f"tmp\\{ver} randomized\\assets\\minecraft\\textures\\block")
115+
shutil.move(f"tmp\\{ver}\\item\\assets\\minecraft\\textures\\item", f"tmp\\{ver} randomized\\assets\\minecraft\\textures\\item")
96116
if mode == 0:
97-
shutil.copy("mcmeta\\pack.mcmeta", f"{ver} randomized\\pack.mcmeta")
117+
shutil.copy("mcmeta\\pack.mcmeta", f"tmp\\{ver} randomized\\pack.mcmeta")
98118
elif mode == 1:
99-
shutil.copy("mcmeta\\pack1.mcmeta", f"{ver} randomized\\pack.mcmeta")
119+
shutil.copy("mcmeta\\pack1.mcmeta", f"tmp\\{ver} randomized\\pack.mcmeta")
100120
except Exception as e:
101-
print(e, "\nПроизошла ошибка")
102-
shutil.make_archive(f"{ver} randomized", 'zip', f"{ver} randomized")
103-
shutil.rmtree(f"{ver} randomized")
121+
print(e, "\nПроизошла ошибка, проверьте значение /mode:")
122+
sys.exit(1)
123+
shutil.make_archive(f"tmp\\{ver} randomized", 'zip', f"tmp\\{ver} randomized")
124+
shutil.move(f"tmp\\{ver} randomized.zip", f"{ver} randomized.zip")
125+
shutil.rmtree(f"tmp\\{ver} randomized")
126+
shutil.rmtree("tmp")

0 commit comments

Comments
 (0)