
DynamicTooltipsLib
一个库,为物品动态添加和修改工具提示与名称
查看大图此模组现已基本冗余,因为 Hytale 已原生实现逐物品提示文本修改功能。我会保持其兼容性更新,但大概率不会添加新功能。
Github 文档
本库使用虚拟物品 ID,在运行时修改物品的视觉与提示文本,同时保持模组兼容性。它管理所有使用本库的模组修改请求,防止编辑冲突并最小化性能影响。
为何使用本库而非直接集成源码?
本库旨在让不同模组无冲突地修改同一物品。若将源码直接集成至您自己的模组,则可能与其他使用相同逻辑的模组产生兼容性问题。目前已有大量玩家和模组使用本库。
使用示例:
Gradle 配置(通过 CurseMaven):
将仓库和依赖项添加到您的 build.gradle:
repositories {
maven { url "https://cursemaven.com" }
}
dependencies {
implementation "curse.maven:dynamictooltipslib-1459711:<fileid>"
}
将 <fileid> 替换为文件 CurseForge 地址末尾的 ID。
以下为极简示例,完整及最新文档请参阅 Github。
import org.herolias.tooltips.api.*;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class MyTooltipProvider implements TooltipProvider {
@Nonnull
@Override
public String getProviderId() {
return "my-mod:stats";
}
@Override
public int getPriority() {
return TooltipPriority.DEFAULT; // 100
}
@Nullable
@Override
public TooltipData getTooltipData(@Nonnull String itemId, @Nullable String metadata) {
if (metadata == null || !metadata.contains("\"my_data\"")) {
return null; // 无内容可贡献
}
return TooltipData.builder()
.hashInput("my_data:v1") // 必需 — 每个状态需保持稳定且唯一
.addLine("<color is=\"#55FF55\">+10 速度</color>")
.build();
}
}
不兼容情况
如果安装了 Soft Packets 模组,物品可能在特定场景下短时间内显示为无效物品。
显示 1-12 条,共 12 条
以上为资源接口提供的文件记录。安装时请在客户端确认文件、游戏版本及依赖。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。