Skip to content

Commit

Permalink
VPtool-2.11
Browse files Browse the repository at this point in the history
  • Loading branch information
KlparetlR authored Jul 12, 2023
1 parent a92157c commit e60c820
Show file tree
Hide file tree
Showing 11 changed files with 185 additions and 51 deletions.
18 changes: 16 additions & 2 deletions VPtool编写工具/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# **Vault Patcher Tool**

作者及版权方:晴笙墨染(墨安)、KlparetlR、捂脸Wulian
作者及版权方:晴笙墨染(墨安)、KlparetlR、捂脸Wulian, 技术辅助:XDawned

## 专门为[Vault Patcher模组](https://github.com/3093FengMing/VaultPatcher)而生的配置编写工具

Expand All @@ -14,7 +14,7 @@ ttk UI用了sv-ttk模块,没有会自己下载

## 支持VP模组的移植[Fabric版](https://github.com/LocalizedMC/HardcodePatcher),(在选择模组加载器格式窗口单击Fabric)

提出支持Fabric的是TexTrue,编写这部分的是KlparetlR,他自己也写了[移植版](https://gist.github.com/TexBlock/e54a48ad59e9d8b8e9c411015943efa9)
提出支持Fabric的是TexTrue,编写这部分的是KlparetlR

## 支持的语言 Supported languages

Expand Down Expand Up @@ -110,12 +110,18 @@ Researches

#### 包名匹配(`@bm;`)

注意:1.2.10版本及以下的 类匹配 和 包名匹配 都与 堆键深度 绑定,不填写没效果

`功能前缀`部分填入`@bm;`即可。不兼容`类匹配`,如果你两个功能都开了,工具也不会报错,它设定`类匹配`的优先级最高,处理时,`包名匹配`不会体现。

包名如何获取:打开你要汉化硬编码的模组.jar文件,找到其中放有大量`.class`文件的文件夹(最好能看见与模组名相关的`.class`文件,比如模组名:XPCoins,找到XPCoins.class文件所在的目录),将这个文件夹的地址复制,大致是XXX.jar\ `com\coldspell\xpcoins`,不同模组存`.class`文件的文件夹名可能不同(没有com文件夹),要自己辨别,接着把`\`全部改成`.`并把`XXX.jar\`删掉,最后在原始文件中的第一行输入`@文件夹地址`,比如`@com.coldspell.xpcoins`或者`@iskallia.vault`

PS:相当于java中的package,所以他不单单是上面的`@com.coldspell.xpcoins`或者`@iskallia.vault`,还可以像内容根地址一样深入一些,比如`@iskallia.vault.core.vault.player`

#### 类匹配(`#内容根地址`+`#END`)

注意:1.2.10版本及以下的 类匹配 和 包名匹配 都与 堆键深度 绑定,不填写没效果

类匹配的开启比较特殊,它相当于开关,输入`#内容根地址`后,下一行开始都会属于这个类匹配的影响范围,要控制这个范围,需要你在这个key的下一行单独输入`#END`,再下一行就是正常的key了。

内容根地址如何获取:与包名获取相同,找到那个文件夹(这里称它为`内容根初始地址`),里面的文件夹和.class文件是可以作为内容根地址,越深入,匹配范围越小。一般来说,你要用类匹配,就要知道这个key来源于哪个文件和文件夹,从`内容根初始地址`到某个文件夹或文件的地址,再把`\`全部改成`.`,并删除文件后缀,就是`内容根地址`,然后在前面加上`#`即可。
Expand All @@ -128,6 +134,14 @@ Researches

`&<method>;`,这里的`<method>`部分就是`方法名`

PS:有时候不一定有方法名

#### 堆键深度

如何获取:开debug模式仅游戏,把要填加深度的key进行一个现象重现,然后看日志(log文件夹),找到与key相同的那一行信息,可能有一个key替换不同位置,这个时候要两种信息都复制出来,单独放在一个文本中,数`,`有几个,然后+1,就是堆键深度,把它填入`stack_depth`

注意:1.2.10版本及以下的 类匹配 和 包名匹配 都与 堆键深度 绑定,不填写没效果

### 全功能配置文件
```txt
@iskallia.vault
Expand Down
Binary file added VPtool编写工具/VPtool-2.11/000.ico
Binary file not shown.
2 changes: 2 additions & 0 deletions VPtool编写工具/VPtool-2.11/LANG/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from .zh_cn import zhlangtext
from .custom_lang import zdylangtext,zdyconfig
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
29 changes: 29 additions & 0 deletions VPtool编写工具/VPtool-2.11/LANG/custom_lang.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
def zdyconfig():
zdy = "繁体中文"
a0 = "0x404"
return zdy,a0
def zdylangtext():
info = "*-*<適配版本:1.2.10+>*-*\n項目地址:github-/KlparetlR/Vault-Patcher-Grocery-Store \n專門為VP模組而生的配寘編寫工具github-3093FengMing/VaultPatcher \n作者及版權方:晴笙墨染(莫安)、KlparetlR、捂脸Wulian,科技輔助:XDawned\nFabric通用:github-LocalizedMC/HardcodeTextPatcher-Fabric \n彈窗使用github-rdbende/Sun-Valley-messageboxes"
a1 ="處理的檔案"
a2 ="選擇要保存的資料夾地址"
a3 ="(必填)"
a4 ="(選填)"
a5 ="你需要選擇一個txt檔案和一個資料夾。"
a6 ="你需要選擇一個txt檔案。"
a7 ="你需要選擇一個資料夾。"
a8 ="GUI語言"
a9 ="保存的資料夾"
a10 ="選擇"
a11 ="翻譯作者-署名"
a12 ="此翻譯名稱"
a13 ="此翻譯描述"
a14 ="翻譯的模組"
a15 ="選定"
a16 ="生成"
vp1 ="硬編碼配寘"
vp2 ="轉換時出現錯誤!請檢查類匹配的#END有沒有漏!\nERROR for <%s>"
vp3 ="轉換時出現問題!方法名不在類匹配的範圍內!\nERROR for <&%s;>,是否繼續轉化?"
vp4 ="錯誤!檔案路徑遺失!"
vp5 ="VPtool成功將 %s.txt 檔案轉換為 VP或HP模組 的配寘格式。\n並儲存在%s目錄中。"
vp6 = "轉換時出現問題!堆鍵深度值不在類匹配的範圍內!\nERROR for <&%s;>,是否繼續轉化?"
return info,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,vp1,vp2,vp3,vp4,vp5,vp6
25 changes: 25 additions & 0 deletions VPtool编写工具/VPtool-2.11/LANG/zh_cn.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
def zhlangtext():
info = "*-*<适配版本:1.2.10+>*-*\n项目地址:github-KlparetlR/Vault-Patcher-Grocery-Store \n专门为VP模组而生的配置编写工具github-3093FengMing/VaultPatcher\n作者及版权方:晴笙墨染(莫安)、KlparetlR、捂脸Wulian, 技术辅助:XDawned\nFabric通用github-LocalizedMC/HardcodeTextPatcher-Fabric\n弹窗使用github-rdbende/Sun-Valley-messageboxes"
a1 = "处理的文件"
a2 = "选择要保存的文件夹地址"
a3 = "(必填)"
a4 = "(选填)"
a5 = "你需要选择一个txt文件和一个文件夹。"
a6 = "你需要选择一个txt文件。"
a7 = "你需要选择一个文件夹。"
a8 = "GUI语言"
a9 = "保存的文件夹"
a10 = "选择"
a11 = "翻译作者-署名"
a12 = "此翻译名称"
a13 = "此翻译描述"
a14 = "翻译的模组"
a15 = "选定"
a16 = "生成"
vp1 = "硬编码配置"
vp2 = "转换时出现错误!请检查类匹配的#END有没有漏!\nERROR for <%s>"
vp3 = "转换时出现问题!方法名不在类匹配的范围内!\nERROR for <&%s;>,是否继续转化?"
vp4 = "错误!文件路径丢失!"
vp5 = "VPtool 成功将 %s.txt 文件转换为 VP或HP模组 的配置格式。\n并储存在 %s 目录中。"
vp6 = "转换时出现问题!堆键深度值不在类匹配的范围内!\nERROR for <&%s;>,是否继续转化?"
return info,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,vp1,vp2,vp3,vp4,vp5,vp6
File renamed without changes.
Loading

0 comments on commit e60c820

Please sign in to comment.