
债权人
一个 Hytale 插件和 Java 库,用于给模组创作者署名并提供已安装模组的信息。
查看大图Creditor
Creditor 由 Hytale Workshop 设计并创建,源于一次关于服务器所有者无意(或在少数情况下故意)未对所用模组创作者给予认可的讨论。Creditor 添加了一个新的 /credits 命令,用于显示已安装模组及其创作者列表,以及清单中的其他元数据。
该模组可以作为 Java 库包含在你的模组中(具体过程如下所述),也可以由诚信的服务器所有者独立安装。当独立安装时,积分菜单会在右上角显示一个对勾徽章,向玩家表明服务器所有者正在积极选择支持模组制作者。如果该符号缺失,则说明该模组是作为其他已安装模组中的 Java 库传递式安装的,且服务器所有者并未选择为创作者署名。为了让社区受益最大化,请尽可能多的人将此功能打包到自己的模组中!
安装
Creditor 可以通过将 JAR 文件正常放入 mods 文件夹的方式作为模组安装在服务器上,但也可以作为 Java 库使用并打包在你的模组中。通过 Cursemaven 将 Creditor 添加到你的项目中:
repositories {
maven { url "https://www.cursemaven.com" }
}
dependencies {
implementation "curse.maven:creditor-1560961:<文件 ID>"
}
注意:<文件 ID> 是 CurseForge 上文件的 ID,找到你想使用的文件并复制其 URL 中的 ID:curseforge.com/hytale/mods/creditor/files/文件 ID 在这里
Creditor 需要作为 Hytale 插件进行初始化,因此在你的 Main.start() 和 Main.setup() 方法中,分别运行 Creditor.start() 和 Creditor.setup()。
当你构建模组时,请确保使用 shadow 插件以确保依赖项与你的模组捆绑在一起:
plugins {
idea
java
...
id("com.gradleup.shadow") version "8.3.6"
}
tasks {
shadowJar {
archiveClassifier.set("")
manifest {
attributes(
"Implementation-Title" to project.name,
"Implementation-Version" to project.version,
"Multi-Release" to "true"
)
}
from("src/main/resources/hytale-assets") {
exclude("manifest.json")
}
// 移除 JAR 中嵌套的 hytale-assets/ 副本(资源现在位于根目录)。
// 嵌套副本仍存在于 build/resources/main/ 中以便与 deploy.sh 兼容。
exclude("hytale-assets/**")
// 排除签名文件(会导致问题)
exclude("META-INF/*.SF")
exclude("META-INF/*.DSA")
exclude("META-INF/*.RSA")
exclude("META-INF/LICENSE*")
exclude("META-INF/NOTICE*")
}
build {
dependsOn(shadowJar)
}
jar {
enabled = false // 仅使用 shadowJar
}
}
丰富的积分元数据
模组可以在其资源包中的 Server/Credits 下包含可选的积分元数据。这些资源会覆盖 /credits 页面上清单显示的字段,而清单仍作为后备信息。
示例:Server/Credits/my_mod.json
{
"Plugin": "com.example:MyMod",
"Description": {
"MessageId": "myMod.myMod.description",
"RawText": "我的模组添加了有用的服务器功能,并包含了自定义的积分元数据。"
},
"License": {
"MessageId": "myMod.myMod.license",
"RawText": "我的模组采用 MIT 许可证。"
}
}
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。