修改 Dynmap Forge 的 index.html 和 markers.js 让 WarsFtbDynmap 能正常使用。
记录下来,方便下次使用。
版本信息:
Minecraft Java Edition 正式版 1.12.2 Forge
DynmapForge V3.0 beta 3
WarsFtbDynmap V1.0.4
前言
- 可能是因为服务端的多世界功能是使用模组 Just Enough Dimensions 实现的,然后
WarsFtbDynmap
不能正确识别世界,导致其生成的marker.json
文件的文件名为marker_.json
,而不是marker_世界名称.json
(或者直接把标记点
的数据写入到原有的marker_世界名.json
中)。 - 因为
DynmapForge
只能加载对应世界名称的marker.json
文件,所以WarsFtbDynmap
不能正常使用(不显示 FTB Utilities 设定的领地)。 - 这只是临时解决方案,且本方案可能有可以改进的地方。
- 目前
网页地图
只显示世界world
和世界DIM0
(这两个世界名称是Just Enough Dimensions
给的;world
是默认的主世界,DIM0
是自己加的世界)。
进行的修改
dynmap/web/js/markers.js
删除了第 28 行中的world
,使在网页地图
中切换世界时不能自动传入要加载的marker.json
的文件名中的world
参数。
默认:
function loadmarkers(world) {
修改为:
function loadmarkers() {
dynmap/web/index.html
因为去掉了“传入参数”,加载 marker.json
时会出错,所以要写一个用于手动传入参数的东西。
在第 38 行的后面插入 1 行,写入以下内容(用于设定初始加载的 marker.json
的世界名称为 DIM0
):
<script type="text/javascript">world = "DIM0";</script>
在第 46 行的后面插入 11 行,写入以下内容(切换世界用的 function):
<script type="text/javascript">
function loadMarkersDefault() {
world = "world";
}
function loadMarkersDIM0() {
world = "DIM0";
}
function loadMarkersFTB() {
world = "";
}
</script>
dynmap/configuration.txt
修改DynmapForge
的配置文件,添加用于切换要加载的marker.json
的按钮。
在第 178 行左右(内容是 # Note: more than one logo component can be defined
)的后面插入 18 行,写入以下内容:
- class: org.dynmap.ClientComponent
type: logo
text: "加载标记 - FTB"
logourl: "images/block_biome.png"
linkurl: "javascript:loadMarkersFTB();"
position: bottom-left
- class: org.dynmap.ClientComponent
type: logo
text: "加载标记 - 主世界"
logourl: "images/block_biome.png"
linkurl: "javascript:loadMarkersDIM0();"
position: bottom-left
- class: org.dynmap.ClientComponent
type: logo
text: "加载标记 - 默认"
logourl: "images/block_biome.png"
linkurl: "javascript:loadMarkersDefault();"
position: bottom-left
结果
网页地图的左下角多了 3 个图标,依次是:
- 加载标记 - 默认
- 加载标记 - 主世界
- 加载标记 - FTB
点一下图标,然后再在右侧的侧边栏切换一下世界,就可以切换显示相应的标记了。(本来想点一下图标就能完成切换,但是暂时没有找到方法)
隐私政策和规则
点击此处查看详情
转载说明
欢迎任何网络媒体和网站转载本站的内容,转载时请注明作者和博客文章链接。
其他说明
本站部分内容可能已过时,仅供参考,请留意内容发布日期。
谢谢大牛分享!