亨妮必备

亨妮必备

服务器基础功能 - 传送点、权限、礼包、命令代币、服务端、一体化

管理

Henny Essentials

服务器实用工具 / 社区管理工具

仅服务端必需:此模组仅在服务端需要。客户端无需安装此模组即可连接。

📌 加入 Discord 获取支持 🔔 自 版本 1.0.1 起,Henny Essentials 不再需要安装 Architecury API。


✨ 功能

🧠 条件 (新增)

  • 在 config/HennyEssentials/Conditions.json 中定义条件,根据玩家行为运行命令。
  • 目前支持 playtime 类型条件 — 未来版本将支持更多类型。
  • 适用于自动化奖励,例如在玩家游戏 X 分钟后自动提升等级。
  • triggerValue 以秒为单位(例如 300 表示 5 分钟)。
  • 命令支持 %p 占位符表示玩家名称。
  • 示例:
    {
      "type": "playtime",
      "triggerValue": 300.0,
      "commands": [
        "say hi %p!",
        "give %p minecraft:diamond"
      ],
      "conditionID": "admin-rank"
    }
    
  • 命令:
    • /he condition reloadconfig – 重新加载条件配置文件。
    • /he condition manualredeem <player> <conditionID> – 手动触发条件奖励。
    • /he condition unredeem <player> <conditionID> – 重置条件,使玩家可以再次获得。

📄 页面 (新增)

  • 在 config/HennyEssentials/Pages.json 中定义自定义页面。
  • 页面显示游戏内可读内容。
  • 使用 /he page 访问自定义页面。
  • 页面访问权限即将推出。
{
  "pages": [
    {
      "linesPerPage": 5,
      "content": [
        "§aA line on a page.",
        "§bAnother line!",
        "§aThis is the third line!",
        "§bLine number 4!",
        "§aTHE LAST LINE OF THE PAGE!",
        "§bTHE FIRST LINE OF A NEW PAGE!",
        "§aHello <3"
      ],
      "header": "§bDefault §aPage",
      "pageID": "default",
      "padding": "§8~"
    }
  ]
}

🎨 聊天颜色 (新增强)

  • 如果在配置中启用了聊天格式化和颜色,玩家可以使用可配置符号(默认:&)来使用 Minecraft 风格的聊天颜色。
  • 权限可以限制对特定颜色的访问,使用:
    • he.chat.format.COLORNAME
    • 示例:he.chat.format.dark_gray 表示深灰色文本。
    • 使用 he.format.* 允许所有格式。
  • 使用 LP 集成时,使用 lp verbose on 检查权限。
  • 没有 LP 时,使用 /he permission verbose。

🍀 LuckPerms 集成

  • Henny Essentials 现在在配置中支持 LP 集成。
  • 所有 HE 权限检查将改由 LP 执行。
  • 如果在配置中启用了聊天格式化,HE 将读取 LuckPerms 元数据以获取前缀/后缀
  • 使用 lp verbose 命令检查命令的权限节点
  • 推荐 LP 版本:5.4.150

🔨 管理

提供各种工具来管理服务器:

  • 禁言 / 封禁玩家的命令(支持临时封禁和禁言)。
  • 计划服务器重启,并向所有在线玩家广播警告。
  • 自动重启系统,可通过配置切换。
  • 禁言/封禁操作的确认和错误消息。
  • 审计日志现在记录禁言、封禁、解封以及禁用物品使用尝试。
  • 新命令可通过 UUID 管理离线玩家权限。

🔐 权限

  • 在 config/HennyEssentials/HennyEssentials.json 中启用权限模块。
  • 提供基本的 LuckPerms 集成。在配置中将 permissionsEnabled 和 luckPermsIntegration 都设置为 true。
  • 为用户和组分配权限以控制对命令和维度(如果启用)的访问。
  • 基于维度的权限:
    • 根据权限节点如 dimension.minecraft:the_nether 限制对维度的访问或 TPA 访问。
    • 如果在配置中启用,将自动强制执行。
  • 支持通过权限节点 home.limit.NUMBER 定义的家数量限制。
  • 玩家/组可以使用 he.home.nocooldown、he.tpa.nocooldown 等节点绕过冷却时间。

💬 聊天格式化

  • 支持用户和组的前缀和后缀。
  • 使用权限格式 weight.number 来确定优先级。
  • 如果在配置中启用了 LP 覆盖,则查询 LuckPerms 元数据。
  • 示例:
    如果用户拥有 weight.100 而其组拥有 weight.99,则用户的前缀将首先显示。
  • 前缀和后缀支持 TELLRAW JSON 格式。

🏰 公告

  • 在 config/HennyEssentials/Announcements.json 中创建公告,按固定间隔广播。
  • 支持纯文本或完整的 TELLRAW JSON 消息。
  • 可使用 /he reloadAnnouncements 重新加载。

🏷️ 礼包

  • 创建玩家可以领取的礼包。
  • 礼包可以设置冷却时间。
  • 礼包可以按分类组织。
  • /he kit setCategory 将礼包分配到分类。
  • 如果启用了权限,玩家需要 kit.kitname 权限才能领取。
  • 通过 /he createkit kitname cooldown 使用基于物品栏的礼包创建界面。
  • 礼包可以编辑(/he editkit)或删除(/he deletekit)。
  • 礼包显示在物品栏 GUI 中(可配置)。
  • 可使用 /he kit setDisplayIcon 分配显示图标。

⌘ 传送点

  • 传送点可以按分类组织。
  • /he warp setCategory 将传送点分配到分类。
  • 传送点列表(/he warps)会根据是否存在分类进行调整。
  • 交互式 GUI 或基于文本的备用列表。
  • 通过 warp.warpname 实现基于权限的传送点访问(可选,来自配置)。
  • 您可以通过权限 warpcategory.category 设置对整个分类传送点的访问权限
  • 可使用 /he warp setDisplayIcon 配置传送点显示图标。

🔢 家

  • 玩家可以设置、删除和列出家。
  • 冷却时间和限制在配置中定义。
  • 限制也可以通过 home.limit.NUMBER 权限节点定义。
  • 权限可以允许跳过冷却时间(he.home.nocooldown)。

🚪 返回命令

  • /he back 将玩家传送至其最后死亡位置。
  • 死亡位置在重启后仍然保留。
  • 可配置的冷却时间。

🌚 AFK 系统

  • 追踪玩家的 AFK 状态。
  • 可以在可配置的时间后自动踢出 AFK 玩家。
  • 可配置的消息和超时时间。
  • 权限 he.afk.nokick 使玩家免于被踢出。

🛈 传送系统

  • 为 /warp、/home、/back、/tpa 等提供可靠的传送。
  • 可在 TeleportConfigs 中配置预热和冷却时间。
  • 可用于绕过冷却时间的权限:
    • he.warp.nocooldown
    • he.tpa.nocooldown
    • he.home.nocooldown
    • he.back.nocooldown

🔀 物品禁用

  • 通过 /he banItem itemID reason 或 /he banHeldItem reason 禁用特定物品。
  • 阻止拾取、合成和使用被禁用的物品。
  • 玩家会收到禁用原因通知。
  • 审计日志条目记录被禁用物品的使用。
  • 后台任务可以按间隔从物品栏中移除被禁用的物品。

⌘ 命令别名

  • 在配置中定义别名。
  • 示例:
    配置条目 "he warps": "warps" 会创建一个 /warps 命令,功能与 /he warps 相同。
  • 别名保留所有功能,并拥有自己的权限节点。

🎫 命令令牌

  • 在 config/HennyEssentials/CommandTokens.json 中配置令牌。
  • 令牌在右键点击时运行命令。
  • 令牌可以锁定到某个玩家。
  • 使用 /he token reloadConfig 重新加载。

📚 命令

🔨 管理命令

/he tempmute <player> <duration> <reason>  
/he tempban <player> <duration> <reason>  
/he mute <player> <reason>  
/he ban <player> <reason>  
/he banuuid <uuid> <reason>  
/he unban <player>  
/he unbanUUID <uuid>  
/he unmute <player>
/he viewechest <player> ~ view player ender chest contents
/he invsee <player> ~ view player inventory

时间格式:1M1w6d5m10s = 1 个月,1 周,6 天,5 分钟,10 秒

🏷️ 礼包命令

/he createkit kitname cooldown
/he editkit kitname
/he deletekit kitname
/he kits
/he kit <kitname>

🔐 权限命令

/he permission
/he permission verbose
/he permission user add/remove "command.permission.node"
/he permission group add/remove "command.permission.node
/he permission user addByUUID playerUUID permission.node
/he permission user removeByUUID playerUUID permission.node"

🎫 CommandToken 命令

/he token give <player> <tokenname> [true/false]
/he token reloadConfig

👤 玩家命令

/he heal
/he vanish
/he feed
/he fly
/he repair
/he tpa <player>
/he tpahere <player>
/he home homename
/he sethome homename
/he delhome homename
/he homes
/he back
/he spawn
/he echest ~ ender chest menu
/he ctable ~ crafting table menu
/he stonecutter ~ stonecutter menu
/he anvil ~ anvil menu

⚙️ 配置重载命令

/he reloadConfig [false]
/he reloadAnnouncements

🧬 权限速览

  • 在 config/HennyEssentials/HennyEssentials.json 中启用
  • 同时启用 permissionsEnabled 和 luckPermsIntegration 以支持 LuckPerms。
  • 使用以下方式分配组:group.groupname
  • 玩家继承所有已分配组的权限。
  • 像 command.* 这样的通配符有效,但可能会绕过冷却时间。

🛠️ 礼包创建说明

  1. 运行:
/he createkit <KITNAME> <COOLDOWN_SECONDS>
  1. 使用物品栏界面将物品放入礼包中。
  2. 关闭菜单以完成礼包创建。

⚙️ 更多关于权限

  • 在配置中使用 permissionsEnabled: true 启用。
  • 使用 luckPermsIntegration: true 以支持 LuckPerms。
  • 使用权限节点如 home.limit.5 来控制家数量限制。
  • 像 he.afk.nokick 或 he.vanishonlogin 这样的节点允许更深入的控制。
  • 隐身的玩家不再显示在 Tab 列表中或广播进度。

💚 支持开发者