自定义文本🔗
自定义文本(ctext)功能允许你创建任何你想向玩家展示的文本。它可以是简单的纯彩色文本,也可以是复杂的悬停和可点击文本。
-
支持 PlaceholderAPI 自动替换占位符。允许为每个玩家显示不同的自定义文本。
-
如果你使用过 EssentialsX 的自定义文本功能,即设置一些自定义文本在执行某个特定命令时显示,那么这其实是同一件事,只不过可定制性更强、更强大约 10 倍。
-
首先,每个命令都分离到单独的文件中,以便更简单地控制你想使用或拥有的内容。
-
其次,你可以通过点击聊天窗口中的内容来定义新页面的起始位置,而不必数 7 行……所以你的页面可以有 100 行,也可以只有 1 行,由你决定。
-
第三,它包含自动分页功能,所以如果你的自定义文本超过一页,你会自动获得点击下一页按钮来查看下一页的选项。如果你出于某种原因不想使用,也可以为每个自定义文本单独禁用此功能。
-
第四,它会自动将新的自定义文本作为同名的命令。例如,默认文件 rules 将会有 /rules 命令,执行时会显示规则列表。官方命令是
/cmi ctext [ctextName] (playerName) (page) -
第五,你可以创建原始消息(raw messages)。什么是原始消息?就是可以悬停查看更多信息、可以点击执行命令、可以点击在聊天中粘贴某些文本的消息。创建非常简单:
附注:你也可以在 CMI 的 ctellraw 命令中使用它。
<T>Text</T> - 定义将要显示的文本
<H>Hover text</H> - 表示悬停在文本上时显示的文本
<C>cmi heal</C> - 表示点击文本时要执行的命令。由玩家执行。
<CC>cmi heal [playerName]</CC> - 表示点击文本时执行的命令(由控制台执行)。玩家只能点击一次。
<CCI>cmi heal [playerName]</CCI> - 表示点击文本时执行的命令(由控制台执行)。玩家可以点击任意多次。
<SC>Suggested text</SC> - 是命令的替代品,点击时会将文本粘贴到聊天输入框中
<SI>Insertion text</SI> - 与 <SC> 不同,不会替换文本,而是在按住 shift 点击时添加到现有文本上
<URL>www.google.com</URL> - 添加网址链接
要在同一行中包含多个原始消息,请用 <Next> 分隔
原始消息应始终以 <T> 开头
-
第六,所有这些都可以在游戏中通过
/cmi editctext编辑。你可以创建新的自定义文本、编辑其行、添加新页面、删除旧页面,以及启用/禁用别名或自动分页(详情见下文图例)。通过点击特殊箭头简单地改变行的顺序。换句话说,完全支持在游戏中创建和控制自定义文本,无需直接编辑文件。因此任何管理员/员工都可以编辑或创建好看的帮助页面,而无需直接访问你的服务器文件。 -
此功能将帮助你为你的特定服务器创建自己的帮助页面,带有特殊的可点击行或悬停时的额外信息,并且所有这些都在一个简单的别名系统之下。
-
此功能还可用于将自定义文本转换为书本,使用
/cmi getbook [cTextName] (playerName),它会自动将所有悬停和可点击消息包含进去。
假设你想创建一行文本,比如 "Hello there!",悬停时可以显示 "Hi!",点击时可以治愈玩家一次。那将是:
假设你想在一行中有多个可悬停的文本部分。这可以通过重复它来简单地实现,下一部分将用相同的变量来表示:
<T>Section One</T><H>Hover for section one<H><SC>Suggested text</SC><Next><T>Second section</T><Next><T>Third section</T><H>With hover message</H>
常规格式的颜色代码是可接受的。
图片 (Images)🔗
如果你想添加一张图片,比如一个玩家头加上旁边的文本,你可以利用 9.0.2.0 版本以来的图片功能。目前仅支持 1.16+ 服务器。
例如,你可以通过在自定义文本文件中使用以下设置来达到上面展示的结果。
<AutoPage>
------------------------------------------
img:helmet:[playerName] 8
imgtext:
imgtext:
imgtext: {#gray}Welcome %cmi_user_display_name%{#gray}!
imgtext: <T>{#gray}Money balance: &f%cmi_user_balance_formatted%</T><H>{#green}Click</H><C>cmi balance</C>
imgtext: <T>{#gray}Mail: &f%cmi_user_mail_count% </T><H>{#green}Check mail</H><C>cmi mail</C><T>{#gray}Warnings: &f%cmi_user_warning_count%</T>
------------------------------------------
如你所见,你可以在图片之前和之后放置文本,同时在图片侧面放置文本。侧面的文本需要用 imgtext: 变量定义,并且必须在 img: 之后直接定义,否则将不会被识别。如果需要,你可以有多张图片。
图片可以这样定义:img:head:[playerName],它将使用玩家的皮肤头部图片。这只显示基础皮肤。 如果使用 img:helmet:[playerName],则将显示带头盔层的玩家皮肤。 最后一个选项是使用来自本地文件的真实图片,如 img:diamond.png,该文件需要放在 ~/plugins/CMI/Images 文件夹内。 图片大小默认高度为 8 像素,如果没有另外定义,这是防止试图显示 4k 图片的基本保护。你可以通过提供尺寸来调整图片大小,如 img:diamond.png 8 10 将生成 8×10 像素的图片,无论原始图片有多大。两个变量都是可选的,如果只提供一个,则第二个会自动缩放以保持原始比例。第一个变量定义高度,第二个定义宽度。如果你只想提供固定的宽度,则将高度定义为 0,如 img:diamond.png 0 12,在这种情况下,我们将根据原始图片缩放高度,同时始终保持 12 像素宽度。
可选地,你可以添加悬停类型的消息,甚至可点击的消息,以获得漂亮紧凑的外观。
.txt 分页 (.txt pagination)🔗
如果你创建一个自定义文本文件,你可以在第一行的顶部使用 <AutoPage>,然后在每个你想要分页的位置使用,游戏中会自动显示页码和
自 CMI 9.3.2.0 版本起,你可以通过在其下方新的一行添加以下内容来自定义这些外观:<pageLabel:Something>(这会将 Next 改为 Something)。
这将支持(十六进制)颜色代码。
例如:
This is text on page one.
<NextPage>
<pageLabel:{#gold}Mobs>
This text is about Minecraft animals.
<NextPage>
<pageLabel:{#gold}Flowers>
You can find flowers in many different biome types.
看起来会是这样:
.txt 图例 (.txt legend)🔗
为避免错误,建议使用游戏内编辑器 /cmi editctext。
然而,如果你必须,你可以直接编辑 CustomText/ 文件夹中的 .txt 文件。你可能会注意到在第一行以及整个文档中添加了一些特殊标签。这些当然可以通过游戏内编辑器切换,但下面的图例将解释它们的作用。
如果你确实从 CustomText/ 文件夹中添加、删除或编辑了一个 .txt 文件,你必须执行 /cmi reload。
如果你不希望给你的玩家访问 ctext 命令的权限,你可以在你的权限管理器中否定该权限,然后创建一个自定义别名,做你需要它做的事情,包括将 ctext 文件作为控制台命令运行,作用于某个玩家,作用于任何页面。
例如,asConsole! cmi ctext mobs [playerName] 3,这将为输入自定义别名命令的人打开 mobs.txt 的第 3 页。
图例:
<AutoAlias> - 如果文件名是 meow,会自动创建一个 /meow 命令来显示此文档
<AutoPage> - 自动将 <nextpage> 变成页码
<Hidden> - 当玩家执行 /cmi ctext [tab] 时不会显示
<ReqPermission> - 需要权限才能被查看或使用
<nextpage> - 将文本切开,定义下一页开始的位置
<pageLabel:{#hex}text> - 而不是默认的 Next,显示 Text,支持十六进制颜色
自定义文本文件非常适合创建你自己的欢迎 /motd、/help 命令、分页的 /rules 信息,或针对 /jobs help、/mcmmo help 或 /skyblock help 等功能的自定义信息页面。 (内容由AI生成,仅供参考)