HTDevLib

HTDevLib

一个全面的Hytale插件开发实用工具库,提供经过测试的辅助工具和实用程序,简化常见的模组制作任务。

实用

HytaleDevLib - 开发者实用工具库

一个全面的 Hytale 插件开发实用工具库,通过经过测试的辅助类与直观 API 简化常见模组任务。

⚠️ 早期开发阶段: 此项目仍在开发中,未来计划众多!欢迎在 GitHub Issues 中提出建议。


网站与文档

主要功能

WorldHelper(世界辅助)

  • 时间与昼夜系统 - 获取/设置游戏时间、检查白天/黑夜、追踪月相
  • 游戏刻追踪 - 调度延迟操作和间隔回调
  • 玩家管理 - 简易玩家查找与消息发送
  • 线程安全操作 - 从任意线程安全操作世界

EntityHelper(实体辅助)

  • NPC 生成 - 按名称生成任何 NPC,并完成正确的 ECS 设置
  • 玩家工具 - 按名称/UUID 查找玩家、获取位置、计算距离
  • 实体管理 - 遍历实体、检测邻近、传送实体
  • 类型检测 - 可读的实体类型名称(例如"奶牛"、"骷髅战士")

ZoneHelper(区域辅助)

  • 区域发现追踪 - 追踪每位玩家发现的区域
  • 当前区域查询 - 获取玩家当前所在区域,或检查是否在特定区域内
  • 区域内玩家搜索 - 查找所有在特定区域内的玩家
  • 区域统计 - 获取发现计数、所有已发现区域及区域热度
  • 线程安全存储 - 基于用户名的追踪,使用并发集合

BlockHelper(方块辅助)

  • 基于名称的操作 - Minecraft 风格的方块引用(例如"Rock_Stone")
  • 动态方块解析 - 使用游戏原生资源系统实现自动兼容
  • 世界编辑 - 填充区域、替换方块、按类型查找方块
  • 自动客户端同步 - 方块变更立即对玩家可见
  • 流体支持 - 程序化放置/移除水与熔岩的辅助方法
  • 流体客户端更新 - 发送流体更新数据包,使流体变化立即呈现

QuestHelper(任务辅助)

  • 任务数据模型 - 构建具有目标和奖励的结构化任务
  • 目标追踪结构 - 支持目标类型、目标及所需数量的定义
  • 前置条件支持 - 定义任务依赖链
  • 可重复任务模式 - 构建每日/循环任务内容

EconomyHelper(经济辅助)

  • 货币操作 - 通过单一辅助 API 添加/移除/检查余额
  • 交易工具 - 为游戏系统应用成本和支付奖励
  • 商店/奖励基础 - 可复用的供应商、任务奖励和升级成本辅助器

BlockStateHelper(方块状态辅助)

  • 方块状态管理 - 处理箱子、告示牌及其他有状态方块
  • 容器访问 - 轻松访问箱子物品栏及其他容器
  • 状态持久化 - 标记状态以进行保存,确保数据持久
  • 面向未来 - 抽象已弃用的 BlockState API

ItemHelper(物品辅助)

  • 物品创建 - 创建指定数量的物品堆
  • 容器管理 - 在容器中添加、移除、计数物品
  • 随机槽位放置 - 将物品放入容器的随机槽位,实现战利品多样性
  • 物品栏查询 - 检查空间、计数物品、获取物品信息
  • 掉落物实体管理 - 获取所有掉落物、按类型/半径筛选、移除物品、传送物品
  • 物品传送 - 将物品传送给玩家
  • 物品清理 - 从世界中计数并移除特定类型的物品

EventHelper(事件辅助)

  • 简化事件 - 无需手动编写 EventRegistry 样板代码
  • 带玩家实体的物品事件 - 丢弃、拾取和合成检测,可访问玩家实体
  • 玩家事件 - 聊天消息、加入/断开连接追踪
  • 交易解析 - 自动物品栏交易分析
  • 统计集成 - 在物品事件回调中直接访问玩家统计数据

EcsEventHelper(ECS 事件辅助)

  • 带玩家实体的方块事件 - 破坏、放置和损坏追踪,可访问玩家实体
  • 挖掘进度 - 追踪挖掘进度和特定玩家的方块交互
  • BlockDamageContext - 对方块生命值的读写访问,用于实现挖掘速度倍率
  • 采集类型筛选 - 按方块类别筛选(岩石、木材、土壤等)
  • 挖掘速度倍率 - 实现效率附魔和自定义挖掘机制
  • 区域发现 - 通过区域元数据检测地图探索
  • ECS 集成 - 玩家事件的自动系统注册
  • 智能筛选 - 过滤掉误报(例如"Empty"方块)

DeathHelper(死亡辅助)

  • 实体死亡追踪 - 以全面信息追踪实体死亡
  • 击杀者信息 - 获取击杀者实体(玩家、NPC 或环境)
  • 伤害来源 - 获取伤害来源及死亡方式
  • 死亡位置 - 获取实体死亡时的坐标
  • 自动名称解析 - 玩家用户名和 NPC 角色名称

StatsHelper(统计辅助)

  • 实体统计管理 - 获取/设置生命值、耐力、法力值、氧气值及任何自定义属性
  • 统计修改器 - 为属性添加加性或多重增减效果
  • 便捷方法 - 快速访问常见属性(生命值、耐力、法力值、氧气值)
  • 统计查询 - 获取最小/最大值、百分比、检查属性是否存在
  • 最小/最大操作 - 最大化、最小化或将属性重置为默认值
  • 自动限幅 - 数值自动保持在最小/最大范围内

InventoryHelper(物品栏辅助)

  • 物品管理 - 支持数量的给予、移除、计数操作
  • 物品栏检查 - 是否有物品、是否已满、获取当前快捷栏物品
  • 玩家操作 - 清空物品栏、检查容量
  • 安全 API - 空安全操作,含妥善错误处理

PlayerHelper(玩家辅助)

  • 消息发送 - 向玩家发送消息
  • 权限 - 检查玩家权限(含默认值)
  • 游戏模式 - 获取/设置玩家游戏模式(创造模式、冒险模式)
  • 方块瞄准 - 获取玩家正在看的方块(含距离信息)
  • 玩家数据 - 获取玩家组件和皮肤数据
  • 类型检查 - 验证实体是否为玩家

UIHelper(界面辅助)

  • 自定义页面管理 - 打开/关闭自定义 UI 页面
  • HUD 控制 - 显示/隐藏 HUD 组件
  • 淡入淡出动画 - 为 UI 元素实现流畅的淡入淡出效果
  • UI 过渡 - 创建精致的用户体验

TitleHelper(标题辅助)

  • 屏幕标题通知 - 向玩家显示主标题和副标题
  • 主标题 - 重要事件的大型醒目通知
  • 副标题 - 次重要信息的较小、柔和通知
  • 自定义图标 - 通过资源路径为标题添加图标
  • 淡入淡出动画 - 控制淡入和淡出时间
  • 时长控制 - 设置标题在屏幕上显示的时间

LootHelper(战利品辅助)

  • 自定义方块掉落 - 用自定义物品覆盖默认方块掉落
  • 生物战利品系统 - 基于概率机制向任何生物添加自定义掉落
  • 概率掉落 - 10% 传奇物品、50% 稀有掉落、75% 普通掉落
  • 战利品表 - 为特定方块类型和生物注册自定义战利品
  • 物理物品实体 - 以正确的物理和碰撞效果生成物品
  • 灵活战利品逻辑 - 百分比、权重、深度和条件掉落
  • DeathHelper 集成 - 与实体死亡追踪协同工作

ContainerHelper(容器辅助)

  • 容器追踪 - 追踪箱子、熔炉及其他容器中的物品变化
  • ContainerTransaction API - 自动交易解析,简洁 API
  • 交易取消 - 取消交易以防止物品更改,并自动还原
  • 自动注册 - 自动追踪所有放置/摧毁的容器
  • Shift-点击检测 - 正确检测 Shift-点击传输时的添加与移除
  • 箱子保护 - 构建保护系统和物品日志

EquipmentHelper(装备辅助)

  • 装备追踪 - 追踪任何 LivingEntity 的盔甲、副手/备用物品及工具变化
  • EquipmentChange API - 结构化的变化对象,包含新旧物品和槽位信息
  • 装备/卸装检测 - 检测装备与卸装操作的便捷辅助器
  • Shift-点击支持 - 同时支持拖放和 Shift-点击装备

ParticleHelper(粒子辅助)

  • 535+ 粒子系统 - 按名称访问所有 Hytale 粒子效果
  • 2D 和 3D 生成 - 在位置、方块或实体处生成粒子
  • 缩放控制 - 自定义粒子大小(1.0 = 正常,2.0 = 双倍)
  • 颜色自定义 - 内置颜色预设,用于粒子染色
  • 玩家专属粒子 - 仅向特定玩家显示粒子
  • 自动清理 - 临时粒子自动消失,循环效果持续存在

SoundHelper(声音辅助)

  • 1,156+ 音效事件 - 按名称访问所有 Hytale 音效
  • 2D 音效(UI/全局) - 向所有或特定玩家播放声音
  • 3D 音效(位置音效) - 在世界坐标处播放,带距离衰减
  • 音量和音高控制 - 自定义播放参数(1.0 = 正常)
  • 声音类别 - 音效、音乐、环境、语音、主控
  • 玩家专属音频 - 向个别玩家播放声音

ComponentHelper(组件辅助)

  • 类型安全的 ECS - 安全的组件访问,含空值处理
  • 显示名称 - 轻松管理实体名称
  • 物品数据 - 从组件中提取物品信息

服务器所有者须知

这是一个库模组——它本身不产生任何功能。仅在其他插件将其作为依赖要求时才安装。

安装方法:

  1. 下载 HytaleDevLib JAR 文件
  2. 放入服务器的 Mods 文件夹中
  3. 安装任何依赖于 HytaleDevLib 的插件
  4. 重启服务器

模组开发者须知

HytaleDevLib 设计为您的插件的依赖库。它在不添加游戏功能的前提下提供您所需的工具,让您的模组专注于其独特之处。


文档

网站与文档

GitHub Wiki

  • 完整 API 参考
  • 辅助类指南
  • 代码示例与用例

支持与问题反馈


许可与鸣谢

作者: ShaneeexD 许可协议: MIT 许可证 版本: 0.5.0

您可以将此模组作为依赖用于您开发的任何模组,前提是下载链接保留在 CurseForge 生态系统中。