CharTillA

CharTillA

这个模组通过配置将文本替换为符号……

CharTillA 是做什么的?

这个模组允许你添加自己的字符组合,这些组合将在任何可用位置被替换为 Unicode 表 或配置中的字符。

默认情况下,配置中定义了以下匹配项:

niao=9ce5 ren=4eba xiang=8c61 mao=8c93 gou=72d7

这里的 '=' 符号是分隔符,所以它必须始终存在。 在 '=' 之前,你必须指定任何你想要的字符集。这是将被 Unicode 表中的所需字符替换的文本。 在 '=' 之后,你必须插入所需字符在 Unicode 表中的十六进制表示。它必须正好是 4 个字符长。 这样,单词 "niao" 将在聊天、书本、语言等任何可用位置被替换为字符 '鳥'。


但是,如果字符不在 Unicode 表中怎么办?

很简单:你可以利用 "unicode_page" (minecraft.jar\assets\minecraft\textures\font) 中的空闲空间来添加你自己的字符。

需要做什么:

  1. 要添加的符号必须是 .png 格式的图片。
  2. 将其放置在 glyphs 文件夹中 (.minecraft\config\CharTillA)。
  3. 在 minecraft.jar\assets\minecraft\textures\font 目录中,选择一个有足够空闲索引来容纳你的字符的 "unicode_page" 文件。
  4. 根据 niao=9ce5 示例中已知的规则重命名图片文件,但有一个例外…… 在这种情况下,'=' 后面的 4 个字符被分成 2 组,每组 2 个字符:
    • 第一组是每个 "unicode_page" 文件名中 '_' 后面的最后两个字符;
    • 第二组是 "unicode_page" 文件中一个空闲字符的索引,以十六进制表示。索引从 0 开始计数,到 255 结束(十六进制中为 '00' 到 'ff')。

示例(基于附加文件中的 "CharTillA toki pona cfg"):

  1. 让我们以第一个 .png 文件—— "a=1a20" 为例,它代表 sitelen pona 中的字母 'a!'。
  2. 我们将其放置在 glyphs 文件夹中。
  3. 在 minecraft.jar\assets\minecraft\textures\font 目录中,我们选择 "unicode_page_1a" 文件,因为它是第一个有足够空闲索引的文件。
  4. 正如我们所看到的,我们添加的字符("a=1a20")根据规则重命名:
    • 'a' 是 '=' 前面的字母,它将自动被我们添加的字符替换;
    • '=' 是我们的分隔符,保持不变;
    • '1a' 是我们在 '=' 后面的第一组字符,它对应于文件名 "unicode_page_1a" 的最后 2 个字符;
    • '20' 是我们在 '=' 后面的第二组字符,它对应于文件 "unicode_page_1a" 中第一个空闲索引的十六进制表示。这是第 32 个索引。文件中已经有 32 个字符,但我们记得索引计数从 0 开始,所以从技术上讲,第 32 个字符是第 31 个。

这是它在游戏中的样子:

chartilla-demo


如果你不喜欢游戏中某些文本因自动替换而变得 "混乱",你可以在 "CharTillA.cfg" 中启用 'replaceOnlyInBrackets' 参数。 在这种情况下,只有括号符号内的文本会被替换(可以使用 "CharTillA.cfg" 中的 'bracketStart' 和 'bracketEnd' 参数将其更改为任何字符)。