众所周知,许多mcr模组的物品描述通常都是硬编码,无法被材质包所汉化,所以自动汉化更新难以汉化此类模组。

我在制作整合包时也遇到了这种问题,在自己的摸索以及大佬帮助下学会了使用CrT来汉化。

不只是针对朴华之剑和TFD,几乎所有模组都可以使用这种方法汉化。

关于模组武器道具描述的汉化-第1张图片

关于模组武器道具描述的汉化-第2张图片

关于模组武器道具描述的汉化-第3张图片

这里的“生锈恼鬼剑”从名字到描述,再到在主手时、攻击伤害等,都是通过下面的方法加上的。

  • 前期准备

  1. 首先在你的游戏里装上你想汉化的模组和CraftTweaker并打开游戏。

  2. 打开游戏后你应该能在你的版本文件夹里找到一个名为scripts的文件夹。关于模组武器道具描述的汉化-第4张图片

  3. 在该文件夹里新建一个扩展名为zs的文件,比如  汉化.zs  translate.zs  等,名字不限,可以是任何你喜欢的名字,只要保证扩展名是.zs就行。


  • 代码部分

  • 先举个例子,

  • 关于模组武器道具描述的汉化-第5张图片

  • 关于模组武器道具描述的汉化-第6张图片

图1是已经汉化完毕的某个物品。图二是汉化后的,而做到这一切,你只需要打开上面提到的 XX.zs文件,并输入

<item:the_forgotten_dimensions:skylite_ingot>.removeTooltip("Sky");
<item:the_forgotten_dimensions:skylite_ingot>.anyDamage().removeTooltip("Ma");
<item:the_forgotten_dimensions:skylite_ingot>.anyDamage().removeTooltip("The");
<item:the_forgotten_dimensions:skylite_ingot>.addTooltip("\u00A76天陨锭");
<item:the_forgotten_dimensions:skylite_ingot>.addTooltip("\u00A77主要成分是黄金。");
<item:the_forgotten_dimensions:skylite_ingot>.anyDamage().addTooltip("\u00A77掺杂的蓝色金属可以在受力时产生电能。");

现在详细解释下代码的结构,通常这里有两类代码:

·删除物品原有的描述

(包括物品名称和物品属性也都可以消除)

这类代码的结构通常是:<物品>删除方式

关于物品,通常来说,你只需要在游戏内,把一个物品拿在主手,然后输入指令

/ct hand

这个物品的对应的代码便会被你复制(直接到你的粘贴板中),你只需要回到zs中粘贴就行,你复制的通常是诸如<item:minecraft:air><item:minecraft:stone><item:minecraft:stone><item:the_forgotten_dimensions:skylite_ingot>
等。

删除方式,一般有

.removeTooltip("");和.clearTooltip();两种,其中,后者是删除该物品所有可删除的描述,比如物品名、物品属性(如攻击伤害)、物品描述;而前者则只删除玩家在""中输入的文字所匹配的几行描述。

对于.removeTooltip(""),我们上面的提到的天陨锭有3行文字被我删除,三条代码分别是:

<item:the_forgotten_dimensions:skylite_ingot>.removeTooltip("Sky");
<item:the_forgotten_dimensions:skylite_ingot>.anyDamage().removeTooltip("Ma");
<item:the_forgotten_dimensions:skylite_ingot>.anyDamage().removeTooltip("The");

其在引号内分别输入了3行文字最开头的几个字母。在这里,你可以输入完整的你想要删除的描述,但前提是一字不差;也可以像我一样偷懒只输入部分,当然最简单的是只输入S、M、T3个首字母。

看到这里,你应该也发现我有个东西没介绍,那就是.anyDamage() 

这是什么?这表示对物品的一个检索,表示这条描述不会因为物品有耐久变动而消失。如果不加这条代码,你可能会发现你刚翻译好的东西,因为使用掉了点耐久,描述就变回原样了。对于没耐久或耐久无限的东西,可以不用加上.anyDamage() ,但是武器和防具们很需要这个。

·添加新的描述。

添加新描述的结构通常是<物品>.addTooltip("");

在引号内写上你要加入的描述就行了,一行代码代表一行描述。代码从上至下在游戏内依次显示。

有人会注意到在文字前我加入了一串数字和字母,如\u00A77、\u00A76等,这是mc的颜色代码。会改变你添加的汉化文件的颜色。

代码名称技术性名称
16进制十进制MOTD转意
§0黑色"black"00000000000000\u00A70
§1深蓝色"dark_blue"0000AA00000170\u00A71
§2深绿色"dark_green"00AA0000043520\u00A72
§3湖蓝色"dark_aqua"00AAAA00043960\u00A73
§4深红色"dark_red"AA000011141120\u00A74
§5紫色"dark_purple"AA00AA11141290\u00A75
§6金色"gold"FFAA0016755200\u00A76
§7灰色"gray"AAAAAA16755200\u00A77
§8深灰色"dark_gray"55555505592405\u00A78
§9蓝色"blue"5555FF05592575\u00A79
§a绿色"green"55FF5505635925\u00A7a
§b天蓝色"aqua"55FFFF05636095\u00A7b
§c红色"red"FF555516733525\u00A7c
§d粉红色"light_purple"FF55FF16733695\u00A7d
§e黄色"yellow"FFFF5516777045\u00A7e
§f白色"white"FFFFFF16777215\u00A7f
§g硬币金(仅be)"minecoin_gold"DDD60514538245\u00A7g
§r重置"reset" 

\u00A7r
§l加粗Bold

\u00A7l
§o斜体Italic

\u00A7o
§n下划线Underline

\u00A7n
§m删除线Strike

\u00A7m
§k乱码


\u00A7k

具体的参考上表。


运行代码

怎么运行你写好的.zs文件并在游戏里查看汉化呢?

只需要保存你的文件,并且在游戏内输入

/reload

后等待加载即可。

至于具体的翻译?QQ截图+文字识别+百度翻译,请。