管理门户

管理门户

创建可自定义的传送门,当玩家进入或与其互动时执行命令

实用

HiWire - AdminPortals

HiWire Studio 为 Hytale 单人/多人游戏打造的定制传送门管理模组

图片

需要玩家与传送门交互时将其传送到另一个世界?可以看看我们的另一个模组——默认的 /tp 命令做不到这一点:

TP2World

特性

  • 可配置传送门 - 放置传送方块,玩家与之交互时可执行一个或多个命令
  • 多种传送门样式 - 可选遗忘神殿(蓝色)和虚空(紫色)传送门变体
  • 命令执行模式 - 可令命令以服务器或交互玩家身份执行
  • 动态占位符 - 在命令中使用占位符插入玩家/位置数据
  • 地图标记 - 可选择在世界地图上显示传送门并附带自定义图标和标签
  • 多语言 - 支持英语(en-US)、德语(de-DE)以及更多语言(若已添加)
  • 可自定义 - 可覆盖翻译、用户界面定义和资源文件

要求

  • Hytale 或 Hytale 服务器
  • Java 25

安装

使用 CurseForge 应用

安装模组最简单的方式是通过 CurseForge 应用,该应用可自动处理安装和更新。

手动安装

  1. 下载模组的 JAR 文件
  2. 将其放入 mods 文件夹:
    • Windows: %appdata%\Hytale\UserData\Mods
    • Mac: ~/Library/Application Support/Hytale/UserData/Mods
    • Linux (Flatpak): ~/.var/app/com.hypixel.HytaleLauncher/data/Hytale/UserData/Mods
    • 专用服务器: 服务器目录中的 /mods 文件夹
  3. 重启游戏或服务器

由于 Hytale 在单人模式和多人模式下都在内部使用服务器,此模组可同时适用于两种模式。

命令

命令 描述 执行者 权限
/adminportals AdminPortals 的根命令 任意 hiwire.adminportals.command.adminportals
/adminportals configmode 配置模式命令 任意 hiwire.adminportals.command.adminportals.configmode
/adminportals configmode toggle 切换自身的配置模式 仅玩家 hiwire.adminportals.command.adminportals.configmode.toggle
/adminportals placeholder 占位符管理命令 任意 hiwire.adminportals.command.adminportals.placeholder
/adminportals placeholder list 列出所有已注册的占位符 任意 hiwire.adminportals.command.adminportals.placeholder.list

权限

有关命令权限,请参见上方的命令表格。

权限 描述
hiwire.adminportals.portal.config.view 打开传送门配置界面
hiwire.adminportals.portal.config.edit 保存对传送门配置的更改

配置

进入配置模式

要配置传送门,您必须先通过运行以下命令进入配置模式:

/adminportals configmode toggle

在配置模式下,使用交互键与传送方块交互将打开配置界面。再次运行该命令可退出配置模式。

配置界面

Portal Configuration UI

配置界面允许您设置以下选项:

选项 描述
类型 配置类型。目前仅支持“命令”类型
命令 玩家激活传送门时要执行的命令列表。每个命令都有自己的执行模式。使用“添加命令”按钮可添加更多命令
执行身份 每个命令的设置:Server - 以控制台/命令发送者身份运行命令;Player - 以交互玩家身份运行命令
传送音效 传送门激活时播放的音效 ID。留空则不播放(默认:SFX_Portal_Neutral_Teleport_Local
地图标记文本 在地图和指南针上显示的可选标签
地图标记图标 来自服务器资源文件的地图标记图标文件名(默认:Warp.png
碰撞 启用或禁用玩家穿过传送门碰撞箱时的激活(默认:启用)
使用 启用或禁用玩家按下交互键时的激活(默认:启用)

地图标记

当您为传送门配置了地图标记文本时,传送门将显示在世界地图和指南针上,方便玩家定位。

世界地图上的传送门标记:

Portal on Map

指南针上的传送门标记:

Portal on Compass

占位符

在传送门命令中使用这些占位符。当传送门被激活时,它们会被替换为实际值。

占位符 描述
{PlayerUsername} 激活传送门的玩家的用户名
{PlayerUuid} 激活传送门的玩家的 UUID
{PosX} 传送方块的 X 坐标
{PosY} 传送方块的 Y 坐标
{PosZ} 传送方块的 Z 坐标
{WorldName} 包含传送门的世界名称

命令示例

一个传送门可以拥有多个按顺序执行的命令。每个命令可以有自己的执行模式。

例如,一个传送门可以配置以下命令:

  1. tp {PlayerUsername} 100 64 200(执行身份:Server)
  2. say 玩家 {PlayerUsername} 已进入传送门(执行身份:Server)
  3. spawn(执行身份:Player)

传送方块

All Portal Types

传送方块可以在创造模式物品栏的 方块 > 传送门 下找到。

使用传送门

玩家可以通过两种方式激活已配置的传送门(默认两者都启用,可针对每个传送门配置):

  • 碰撞 - 穿过传送门的碰撞箱
  • 使用 - 在传送门上按下交互键

Portal Interact Prompt

如果传送门尚未配置,玩家将收到一条聊天消息,提示该传送门未配置。

传送门底座(双部分设置)

传送门底座是一个装饰性基座,作为传送门效果的基础。传送门底座的传送门在垂直方向上偏移,以便完美地放置在底座之上:

  • HiWire_AdminPortals_PortalBase - 底座垫
  • HiWire_AdminPortals_PortalBase_Portal_ForgottenTemple - 蓝色传送门效果(设计为放置在底座上)
  • HiWire_AdminPortals_PortalBase_Portal_Void - 紫色传送门效果(设计为放置在底座上)

独立传送门

独立的传送方块,与世界网格对齐。传送门底部与方块边界对齐,因此它们可以紧贴地面放置,不会像底座上的传送门那样悬浮:

  • HiWire_AdminPortals_StandalonePortal_ForgottenTemple - 蓝色独立传送门
  • HiWire_AdminPortals_StandalonePortal_Void - 紫色独立传送门

自定义

该模组支持用户覆盖翻译、用户界面定义和资源文件。将您的自定义内容放置在模组的 mods/HiWire_AdminPortals_Overrides 数据文件夹下。

翻译文件

该模组使用位于 /Server/Languages/{language}/HiWire/AdminPortals/ 的翻译文件:

  • Items.lang - 传送门物品名称和描述
  • ChatMessages.lang - 聊天通知和命令消息
  • UI.lang - 用户界面标签

所有键的翻译文件会在 mods/HiWire_AdminPortals_Overrides/Server/Languages/{language}/HiWire/AdminPortals/ 下创建并自动更新。编辑这些文件以自定义翻译,无需修改原始模组文件。

自定义占位符

模组开发者可以通过访问 PlaceholderManager 来注册自定义占位符:

final var plugin = PluginManager.get().getPlugin(new PluginIdentifier("HiWire", "AdminPortals"));
if (plugin instanceof AdminPortalsPlugin adminPortalsPlugin) {
    final var placeholderManager = adminPortalsPlugin.getPlaceholderManager();

    // 注册一个简单的占位符。可使用 {ServerName}
    placeholderManager.register("ServerName", ctx -> "My Server");

    // 使用上下文数据注册占位符
    placeholderManager.register("PlayerHealth", ctx -> {
        final var playerRef = ctx.playerRef();
        final var health = // 通过 playerRef 获取玩家生命值
        return String.valueOf(health);
    });
}

PlaceholderContext 提供以下访问权限:

  • playerRef() - 激活传送门的玩家
  • world() - 包含传送门的世界
  • pos() - 方块位置(Vector3i)
  • portalConfig() - 传送门的配置
  • itemStack() - 用于交互的物品(可为空)
  • interactionType() - 交互类型
  • interactionContext() - 额外的交互上下文

许可证

MIT 许可证

版权所有 (c) 2026 HiWire Studio

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,不受限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许被提供软件的人这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按“原样”提供,不作任何形式的明示或默示保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而产生的任何索赔、损害或其他责任负责,无论是合同诉讼、侵权诉讼还是其他诉讼。

支持

  • 作者: HiWire-Nick