平均必需品

平均必需品

该插件提供了一些“必备”功能,例如区域管理、聊天颜色和前缀、广播以及许多其他提升服务器主机体验的实用工具。

实用

Get quality hosting!

Kinetic Hosting: 来看看我的游戏托管合作伙伴!他们提供快速、价格实惠的托管服务,并拥有出色的客户支持!

AverageEssentials

AverageEssentials 是一个适用于 Hytale 服务器的轻量级 Java 插件,使用 Gradle 构建。它旨在通过玩家管理、通讯和管理等核心工具,增强服务器的核心功能。

功能

聊天管理

  • 聊天格式:自动根据群组前缀格式化玩家的聊天消息。显示权重最高的权限群组前缀,以及玩家的用户名和消息,带来整洁有序的聊天体验。
  • 聊天过滤系统:先进的内容审核功能,提供三级过滤:
    • 可封禁词:自动封禁使用指定禁止词的玩家。使用可封禁词的玩家将被立即断开连接并永久封禁。
    • 可屏蔽词:自动将指定词替换为 ****,但允许消息发送。这是一种干扰较小的审核方式。
    • 可移除词:静默阻止包含限制词的消息,并通知玩家该消息未被允许发送。消息不会发送给其他玩家。
    • 正则表达式匹配:所有过滤器均使用不区分大小写的正则表达式匹配,并附带单词边界检测,以实现准确灵活的过滤。
  • 颜色代码支持:解析消息和前缀中的 Minecraft 风格颜色代码(&0-&f 为颜色,&l 为粗体),实现富文本格式。可以通过配置选择性地禁用聊天中的颜色代码。
  • 可配置广播:可自定义频率和消息的定时广播,并支持消息队列循环,以增加多样性。

管理功能

  • 插件管理:提供全面的命令,用于直接从服务器控制台或游戏内列出、加载、卸载、重载和管理插件。
  • 配置重载:使用 /avreload(别名:/avr/reloadav)在不重启服务器的情况下重载所有插件配置。
  • 群组管理:允许管理员设置和管理权限群组的前缀,配置存储在可配置的 JSON 文件中。
  • 信息消息:支持新玩家欢迎消息、对所有在线玩家的定期广播,以及用于快速信息传播的动态命令(例如 Discord 链接)。

玩家工具

  • 家园系统:允许玩家设置、传送至、列出和删除个人家园位置。支持基于权限的可配置数量限制,管理员拥有无限家园数量。
  • 昵称管理:允许玩家和管理员设置自定义昵称,并支持将昵称清除回默认用户名。
  • 领地管理:先进的领地认领和管理系统:
    • 认领和管理土地区域,支持精确的方块级控制
    • 在已认领领地内安全传送
    • 可配置的交互权限(破坏方块、放置方块、交互)
    • 领地边界可视化与管理
    • 支持领地共享和协作式土地管理

需求

  • Hytale 服务器(最新 API 版本)
  • Java 25 或更高版本
  • 用于构建的 Gradle(已包含在项目中)

安装

  1. 从发布页面下载最新的发布版 JAR 文件(版本 0.2.10)。
  2. 将 JAR 文件放入服务器的插件目录中。
  3. 重启服务器以加载插件。
  4. 通过在 mods/AverageEssentials/ 目录下生成的 JSON 配置文件,配置群组、消息、广播、家园限制、链接嵌入和其他设置。

配置

聊天过滤器配置 (chat.json)

聊天过滤器高度可配置,允许管理员定义三个级别的内容审核:

{
  "config": {
    "bannableTerms": ["badword1", "badword2"],
    "termsToCensor": ["mildword1", "mildword2"],
    "termsToDisable": ["restrictedword1", "restrictedword2"],
    "allowUsersToUseChatColorCodes": true
  }
}

配置选项:

  • bannableTerms (String[]): 触发自动永久封禁的词语数组。玩家使用这些词将被立即断开连接并封禁。用于最严重的违规行为。
  • termsToCensor (String[]): 聊天消息中会被自动替换为 **** 的词语数组。消息仍会发送给玩家。用于轻度语言或垃圾信息预防。
  • termsToDisable (String[]): 其消息会被静默阻止的限制词数组。发送者会收到通知,但其他玩家看不到该消息。用于维持话题相关性或阻止特定讨论。
  • allowUsersToUseChatColorCodes (Boolean): 当为 true 时,玩家可以在其消息中使用 Minecraft 风格的颜色代码(&0-&f&l 等)。当为 false 时,颜色代码被视为纯文本。默认值:true

过滤行为:

  • 所有过滤器不区分大小写,以捕获大小写变化。
  • 使用单词边界检测(正则表达式分词)只匹配完整单词,防止误报(例如,“test” 不会匹配 “testing” 中的部分)。
  • 过滤器按以下顺序处理:可封禁词 → 可移除词 → 可屏蔽词。
  • 如果消息触发了可封禁词,则立即阻止消息并封禁玩家。
  • 如果触发了可移除词,则阻止消息并通知玩家。
  • 在其他检查通过后,才会应用可屏蔽词的处理。

群组管理器配置 (group.json)

配置用于聊天格式的权限群组前缀:

{
  "groups": {
    "admin": {
      "prefix": "&c[Admin]&r",
      "weight": 100
    },
    "moderator": {
      "prefix": "&6[Mod]&r",
      "weight": 50
    },
    "member": {
      "prefix": "&7[Member]&r",
      "weight": 1
    }
  }
}
  • weight: 决定玩家拥有多个群组时的优先级。权重越高,在聊天显示中的优先级越高。
  • prefix: 在聊天中玩家名字前显示的文本,支持颜色代码。

家园配置 (homes.json)

配置玩家的默认家园数量限制:

{
  "defaultMaxHomes": 3
}

配置选项:

  • defaultMaxHomes (Integer): 玩家可以设置的默认最大家园数量。可以通过权限覆盖(例如,averageessentials.homes.limit.5 表示 5 个家园)。管理员默认拥有无限家园数量。默认值:3

昵称配置 (nicknames.json)

存储玩家昵称(自动管理,无需手动编辑):

{
  "nicknames": {
    "player-uuid-1": "CoolNick",
    "player-uuid-2": "AnotherNick"
  }
}

备注:

  • 昵称以玩家 UUID 到其自定义昵称的映射形式存储。
  • 此文件会在设置或清除昵称时自动更新。
  • 不建议手动编辑,否则可能导致不一致。