跳到正文

BlueMap Sign Markers

作者:tpwalke2

一个 BlueMap 的 Fabric 插件,可根据告示牌创建标记

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

BlueMap 告示牌标记
====================

概述

适用于 BlueMap 的 Fabric 插件,可根据游戏中的告示牌显示标记

安装

将插件放入你的 mods 文件夹,与 BlueMap 一起安装。

仅需安装在服务端。

用法

在告示牌或悬挂式告示牌的正面或背面写上以下内容:

[poi]
<short description>

地图上会在告示牌所在位置显示一个带有 <short description> 文本的标记。破坏告示牌后,标记会从地图上
移除。

请注意,可在配置文件中设置前缀。

配置

该模组会在 config/bluemapsignmarkers 文件夹中创建一个 BMSM-Core.json 文件。此文件包含以下
选项:

  • markerGroups – 标记组列表(详见下文);默认列表中只有一个标记组,

其前缀设置为 [poi]。

标记组

标记组是一组标记,可在 BlueMap 界面中切换显示或隐藏。每个标记组
配置包含以下选项:

  • prefix – 标记组必须包含的前缀,告示牌需包含此前缀才会被纳入标记组;必填;
  • matchType – 检查告示牌第一行非空文本时使用的匹配类型;可选;默认值为 STARTS_WITH(区分大小写的精确匹配);
  • STARTS_WITH – 该行必须以指定前缀开头;
  • REGEX – 该行必须匹配正则表达式(使用 Java 正则表达式引擎);
  • name – 标记组的名称;必填;
  • type – 要显示的标记类型;可选;默认值为 POI
  • POI – 每个告示牌对应一个单点标记;
  • LINE – 共享该组前缀且第一行标签相同的告示牌将按放置时间排序,成为一个线状标记的有序点集;至少需要 2 个告示牌才会显示;
  • SHAPE – 共享该组前缀且第一行标签相同的告示牌将按放置时间排序,成为一个填充多边形标记的有序点集(高度取自最高的成员);至少需要 3 个告示牌才会显示;
  • EXTRUDE – 与 SHAPE 的成员判定模型完全相同(相同的前缀/标签分组、至少 3 个告示牌、按放置时间排序),但会将多边形拉伸为实体体积进行渲染:底面取自最低成员的 Y 坐标,顶面取自最高成员的 Y 坐标(若所有成员 Y 坐标相同,则顶面向上偏移 1 格以避免出现零高度体积);
  • icon – 标记要显示的图标路径或 URL;可选;默认值为 null(BlueMap 默认 POI 图标);仅限 POI
  • offsetX – 标记的 x 偏移量;可选;默认值为 0(对应 BlueMap 基础配置中的 anchor.x);仅限 POI
  • offsetY – 标记的 y 偏移量;可选;默认值为 0(对应 BlueMap 基础配置中的 anchor.y);仅限 POI
  • defaultHidden – 若为 true,则标记集默认隐藏,用户可手动启用;可选;默认值为 false
  • minDistance – 标记显示时与相机的最小距离;可选;默认值为 0.0(浮点数,双精度)
  • maxDistance – 标记显示时与相机的最大距离;可选;默认值为 10000000.0(浮点数,双精度)
  • lineWidth – 线/形状/拉伸体边框的宽度(像素);可选;默认值为 2;仅限 LINE/SHAPE/EXTRUDE
  • lineColor – 线/形状/拉伸体边框的十六进制颜色(含透明度),例如 #FF0000FF;可选;默认值为 #FF0000FF;仅限 LINE/SHAPE/EXTRUDE
  • fillColor – 形状或拉伸体内部的十六进制颜色(含透明度),例如 #FF000033;可选;默认值为 #FF000033(半透明红色);仅限 SHAPE/EXTRUDE
  • sorting – 标记集在地图图层菜单中的排序(数值越小越靠前);可选;默认值为 0
  • toggleable – 标记集是否允许玩家隐藏/显示;可选;默认值为 true
  • depthTest – 地形是否可以遮挡标记(设为 false 可让地下轨迹/区域透过地形保持可见);可选;默认值为 true;仅限 LINE/SHAPE/EXTRUDE
  • cssClasses – 添加到标记元素的 CSS 类列表,用于通过 BlueMap 的 custom.css 进行样式设置;可选;默认值为空列表;仅限 POI

在不适用的组类型上设置字段(例如,在 LINE/SHAPE/EXTRUDE 组上设置 icon,在
POI/LINE 组上设置 fillColor,在 POI 组上设置 depthTest,或在 LINE/SHAPE/EXTRUDE 组上设置 cssClasses)不算错误;
模组会记录一条警告,并忽略该字段。

示例

{
  "markerGroups": [
    {
      "prefix": "[poi]",
      "name": "Points of Interest"
    },
    {
      "prefix": "[store]",
      "name": "Stores",
      "icon": "assets/store.png"
    },
    {
      "prefix": "\\[[vV][iI][lL][lL][aA][gG][eE]\\]",
      "matchType": "REGEX",
      "name": "Villages"
    },
    {
      "prefix": "[trail]",
      "name": "Trails",
      "type": "LINE",
      "lineWidth": 3,
      "lineColor": "#00A2FFFF"
    },
    {
      "prefix": "[region]",
      "name": "Regions",
      "type": "SHAPE",
      "lineWidth": 2,
      "lineColor": "#FFA500FF",
      "fillColor": "#FFA50040"
    },
    {
      "prefix": "[building]",
      "name": "Buildings",
      "type": "EXTRUDE",
      "lineWidth": 2,
      "lineColor": "#4682B4FF",
      "fillColor": "#4682B440"
    }
  ]
}

此示例配置会创建 6 个标记组:一个用于 [poi] 告示牌,一个用于 [store] 告示牌,一个用于告示牌
其前缀会匹配村庄(例如 [Village] 或 [VILLAGE]),一个用于 [trail] 告示牌,一个用于
[region] 告示牌,还有一个用于 [building] 告示牌。

故障排除

  • 编辑标记组的前缀(尤其是 REGEX 前缀)会导致现有告示牌失去关联。 在运行此修复之前版本的服务器上,更改组的前缀文本可能会导致已放置的告示牌在 /bluemap reload 后从地图上消失,而且不会自行恢复。重新编辑告示牌文本(即使重新输入相同文本也可以),或重启服务器即可修复。使用包含此修复的版本创建或重新编辑的告示牌会在 /bluemap reload 时自动修复,之后无需手动处理。
  • 在排除这些标记的地图上,标记会被隐藏。render-mask告示牌的标记只有在其位置位于对应 BlueMap 地图自身的 render-mask 范围内时才会显示(在 config/bluemap/maps/<id>.conf 中配置)——例如,设置了 min-y: 127 的下界基岩层地图不会显示放置在 y=127 以下的告示牌标记。未设置 render-mask 的地图不受影响。 升级到包含此修复的版本后,运行一次 /bluemap reload,以清除之前显示在地图渲染范围之外的标记;仅重启服务器不会触发此次清理。

常见问题

BlueMap Sign Markers 支持哪些 Minecraft 版本?

BlueMap Sign Markers 支持 Minecraft Java 版 1.20–26.3,共 16 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

BlueMap Sign Markers 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分