78 lines
2.4 KiB
Python
78 lines
2.4 KiB
Python
import sys
|
|
import os
|
|
|
|
def ReadListFromFile(filename, listInstance):
|
|
f = open(filename, 'r', encoding='utf-8')
|
|
while True:
|
|
cache = f.readline()
|
|
if cache == '':
|
|
break;
|
|
cache = cache.strip()
|
|
if cache == '':
|
|
listInstance.append('')
|
|
continue
|
|
if cache.startswith('//'):
|
|
continue
|
|
listInstance.append(cache)
|
|
f.close()
|
|
|
|
# folder creation
|
|
if not os.path.isdir('models/item'):
|
|
os.makedirs('models/item')
|
|
if not os.path.isdir('textures/item'):
|
|
os.makedirs('textures/item')
|
|
|
|
|
|
# read file
|
|
enList = []
|
|
zhList = []
|
|
urlList = []
|
|
|
|
ReadListFromFile('zhcn.txt', zhList)
|
|
ReadListFromFile('enus.txt', enList)
|
|
ReadListFromFile('url.txt', urlList)
|
|
|
|
if len(zhList) != len(enList) or len(urlList) != len(enList):
|
|
print('3 files item is not matched')
|
|
sys.exit(0)
|
|
|
|
javaDeclareFile = open('declare.java', 'w', encoding='utf-8')
|
|
javaRegisterFile = open('register.java', 'w', encoding='utf-8')
|
|
langZhFile = open('zh_cn.json', 'w', encoding='utf-8')
|
|
langEnFile = open('en_us.json', 'w', encoding='utf-8')
|
|
shFile = open('downloadImage.sh', 'w', encoding='utf-8')
|
|
for index in range(len(enList)):
|
|
underlineName = enList[index].lower().replace(' ', '_').replace('-', '').replace("'", '')
|
|
upperName = underlineName.upper()
|
|
|
|
if enList[index] != '':
|
|
fmodels = open('models/item/' + underlineName + '.json', 'w', encoding='utf-8')
|
|
fmodels.write('''{{
|
|
"parent": "minecraft:item/generated",
|
|
"textures": {{
|
|
"layer0": "teyvatcraft:item/{}"
|
|
}}
|
|
}}'''.format(underlineName))
|
|
fmodels.close()
|
|
|
|
javaDeclareFile.write('public static final Item {} = new Item(new FabricItemSettings().group(ITEM_GROUP));\n'.format(upperName))
|
|
javaRegisterFile.write('Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "{}"), {});\n'.format(underlineName, upperName))
|
|
|
|
langZhFile.write('"item.teyvatcraft.{}": "{}",\n'.format(underlineName, zhList[index]))
|
|
langEnFile.write('"item.teyvatcraft.{}": "{}",\n'.format(underlineName, enList[index]))
|
|
|
|
shFile.write('curl -o textures/item/{}.png {}\n'.format(underlineName, urlList[index]))
|
|
|
|
else:
|
|
# keep blank line in register & declare
|
|
javaDeclareFile.write('\n')
|
|
javaRegisterFile.write('\n')
|
|
langZhFile.write('\n')
|
|
langEnFile.write('\n')
|
|
|
|
javaDeclareFile.close()
|
|
javaRegisterFile.close()
|
|
langZhFile.close()
|
|
langEnFile.close()
|
|
shFile.close()
|