超越维度的更好

超越维度的更好

为每个容器添加可搜索的超越维度网络侧边栏。

杂项

功能特性

  • 在所有 AbstractContainerScreen 界面的左侧显示可搜索的“超越维度”网络侧边栏。
  • 仅当服务器确认玩家拥有可用的“超越维度”网络时,侧边栏才会显示。
  • 左键点击从网络提取一组物品;右键点击提取一个物品。搜索支持显示名称和注册名称。
  • “移动玩家物品”和“移动容器物品”分别控制 Shift+点击行为。
  • “存入容器”将当前打开的容器中的物品存入网络。“存入物品栏”仅处理玩家主物品栏,快捷栏除外。
  • 默认快捷键:F 用于“存入容器”,G 用于“存入物品栏”。它们仅在侧边栏可见且搜索框未聚焦时生效。
  • 玩家和容器的 Shift 转移设置会保存到客户端文件 config/better_beyond_dimensions-settings.json 中,并在打开新界面时与服务器同步。
  • 所有网络存储操作和 Shift+点击拦截均经过服务器端验证并执行。

侧边栏显示事件

SidebarDisplayEvent 在侧边栏创建后、显示之前于客户端触发。该事件可以访问当前的 Screen,禁用单个按钮的功能,覆盖按钮文本或提示,或完全禁用当前界面的侧边栏。该事件仅影响当前界面实例,不会修改服务器端菜单。

例如,要在合成界面禁用“存入容器”并将其提示改为“已禁用”:

private static void onSidebarDisplay(SidebarDisplayEvent event)
{
    if (event.getScreen() instanceof CraftingScreen)
    {
        event.disableButton(SidebarDisplayEvent.ButtonId.DEPOSIT_CONTAINER);
        event.setButtonTooltip(
                SidebarDisplayEvent.ButtonId.DEPOSIT_CONTAINER,
                Component.literal("Disabled")
        );
    }
}