调整ai数据
This commit is contained in:
1 parent
f8c300a4c6
commit
c2f5cd98ff
493 files changed
+7
-7
No files matched your search
@@ -0,0 +1,38 @@
|
||||
import zipfile, shutil
|
||||
|
||||
base = r'e:\MCStudioDownload\work\3027246179@qq.com\Cpp\AddOn\309c2d420bc84ee986db9cdd070ff02a\_sa_hanhua_out'
|
||||
jar = base + r'\sa_essentials-forge-1.20.1-1.0.0.jar'
|
||||
target = 'com/ogaba/sa_combat/client/event/SACombatClientForgeEvents.class'
|
||||
|
||||
old_ascii = b'Reloading...' # 12 字节
|
||||
old_pat = b'\x01\x00\x0c' + old_ascii
|
||||
new_utf8 = '换弹中...'.encode('utf-8') # 12 字节,与旧串等长
|
||||
assert len(new_utf8) == len(old_ascii), (len(new_utf8), len(old_ascii))
|
||||
new_pat = b'\x01\x00\x0c' + new_utf8
|
||||
print('new bytes:', new_utf8.hex(), 'len', len(new_utf8))
|
||||
|
||||
with zipfile.ZipFile(jar) as z:
|
||||
infos = z.infolist()
|
||||
data = {i.filename: z.read(i) for i in infos}
|
||||
|
||||
b = data[target]
|
||||
cnt = b.count(old_pat)
|
||||
print('occurrences:', cnt)
|
||||
assert cnt == 1, 'ABORT'
|
||||
|
||||
nb = b.replace(old_pat, new_pat)
|
||||
assert len(nb) == len(b)
|
||||
data[target] = nb
|
||||
|
||||
tmp = jar + '.tmp'
|
||||
with zipfile.ZipFile(tmp, 'w', zipfile.ZIP_DEFLATED) as z:
|
||||
for i in infos:
|
||||
z.writestr(i, data[i.filename])
|
||||
shutil.move(tmp, jar)
|
||||
print('jar updated.')
|
||||
|
||||
with zipfile.ZipFile(jar) as z:
|
||||
nb = z.read(target)
|
||||
print('new const present:', nb.count(new_pat) == 1)
|
||||
print('old ascii remains:', nb.count(old_ascii))
|
||||
print('entries=', len(z.namelist()), 'testzip=', z.testzip())
|
||||
Reference in new issue
Block a user