截图
介绍
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– 要显示的标记类型;可选;默认值为POIPOI– 每个告示牌对应一个单点标记;LINE– 共享该组前缀且第一行标签相同的告示牌将按放置时间排序,成为一个线状标记的有序点集;至少需要 2 个告示牌才会显示;SHAPE– 共享该组前缀且第一行标签相同的告示牌将按放置时间排序,成为一个填充多边形标记的有序点集(高度取自最高的成员);至少需要 3 个告示牌才会显示;EXTRUDE– 与SHAPE的成员判定模型完全相同(相同的前缀/标签分组、至少 3 个告示牌、按放置时间排序),但会将多边形拉伸为实体体积进行渲染:底面取自最低成员的 Y 坐标,顶面取自最高成员的 Y 坐标(若所有成员 Y 坐标相同,则顶面向上偏移 1 格以避免出现零高度体积);icon– 标记要显示的图标路径或 URL;可选;默认值为null(BlueMap 默认 POI 图标);仅限POIoffsetX– 标记的 x 偏移量;可选;默认值为0(对应 BlueMap 基础配置中的anchor.x);仅限POIoffsetY– 标记的 y 偏移量;可选;默认值为0(对应 BlueMap 基础配置中的anchor.y);仅限POIdefaultHidden– 若为 true,则标记集默认隐藏,用户可手动启用;可选;默认值为falseminDistance– 标记显示时与相机的最小距离;可选;默认值为0.0(浮点数,双精度)maxDistance– 标记显示时与相机的最大距离;可选;默认值为10000000.0(浮点数,双精度)lineWidth– 线/形状/拉伸体边框的宽度(像素);可选;默认值为2;仅限LINE/SHAPE/EXTRUDElineColor– 线/形状/拉伸体边框的十六进制颜色(含透明度),例如#FF0000FF;可选;默认值为#FF0000FF;仅限LINE/SHAPE/EXTRUDEfillColor– 形状或拉伸体内部的十六进制颜色(含透明度),例如#FF000033;可选;默认值为#FF000033(半透明红色);仅限SHAPE/EXTRUDEsorting– 标记集在地图图层菜单中的排序(数值越小越靠前);可选;默认值为0toggleable– 标记集是否允许玩家隐藏/显示;可选;默认值为truedepthTest– 地形是否可以遮挡标记(设为false可让地下轨迹/区域透过地形保持可见);可选;默认值为true;仅限LINE/SHAPE/EXTRUDEcssClasses– 添加到标记元素的 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/版本名 下面。运行环境:仅服务端。
评论
登录后评论和评分