Create: Track Map (UNOFFICIAL FORK)

Create: Track Map (UNOFFICIAL FORK)

"github.com/jenchanws/create-track-map"的非官方分支。通过网页浏览器查看Minecraft机械动力模组列车(Fabric、Forge、Neoforge)。

工具

创建轨道地图:非官方分支

模组版本 Minecraft版本 下载量

分支说明

这是 jenchanws/create-track-map 的一个分支。虽然我已经获得许可,可以在单独的 Modrinth/CurseForge 页面上公开发布我的修改,但此版本并未获得 jenchanws 的官方认可。请勿就本分支的问题联系她,所有关于此版本模组的问题请提交到此处,不要提交到原始仓库。

简介

创建轨道地图(CTM)是一个多加载器模组,可在你的世界中显示机械动力(Create)列车轨道地图,包括所有轨道、信号机、车站和列车。信号机和列车会(几乎)实时更新。

轨道地图示例

使用方法

CTM 可在 Modrinth 和 CurseForge 上下载。请确保你下载的版本与你的加载器、Minecraft 版本和机械动力(Create)版本相匹配。 以下是各机械动力版本的兼容性图表:

CTM 1.5 CTM 2.0
Create 0.5.1 ✅ ❌
Create 6.0.0 ❌ ✅

安装

只需将 .jar 文件放入 mods 文件夹(或通过模组加载器安装),与任何其他模组一样!CTM 设计为服务端模组,但也可以在单人游戏和局域网(LAN)服务器中运行。它默认在 3876 端口运行一个 Web 服务器,但可以进行配置。如果你希望查看地图,必须转发此端口。(怎么做?)

地图本身可在根路径(默认 http://localhost:3876/)查看。如果使用代理来提供地图服务,请确保配置其允许服务器发送事件(SSE)通过。

单人游戏

地图托管在你的计算机上,因此在 Minecraft 运行期间,在浏览器中输入 http://localhost:3876/ 即可查看。

多人游戏

A) 本地(LAN)服务器
地图仍托管在你的计算机上,因此在游戏运行期间,在浏览器中输入 http://localhost:3876/ 即可查看。
同一局域网内的其他玩家可以通过输入 http://[你计算机的IPv4地址]:3876/ 来查看地图。
如何查看我计算机的IPv4地址?

B) 服务器在我的电脑上
地图仍托管在你的计算机上,因此在服务器运行期间,在浏览器中输入 http://localhost:3876/ 即可查看。
同一局域网内的其他玩家可以通过输入 http://[你计算机的IPv4地址]:3876/ 来查看地图。
外部玩家可以通过输入 http://[你的公网IPv4地址]:3876/ 来查看地图。
如何查看我的公网IPv4地址?

C) 服务器托管在主机服务商处
地图托管在该服务商的服务器上。在服务器运行期间,你可以通过 [你的服务器地址]:3876/ 查看地图。
注意:你的服务商必须支持额外端口转发。 你可以查看服务商的支持文档或直接搜索。如果服务商不支持此功能,那就无法使用。你可以更换服务商或尝试自行托管。

请注意:不要在 IPv4 地址两边加方括号!例如:192.168.0.0:3876

在寻求帮助之前请先阅读!

要使用此模组,你必须能够开放第二个端口(除了 Minecraft 服务器端口之外),CTM 将在此端口上运行其 Web 服务器。如果你使用的是 Aternos,则无法实现。如果你使用的是共享主机服务商,请联系你的主机商以获取开放端口的帮助。对于开放端口或诊断非模组缺陷引起的问题,不提供任何支持。

高级用法

CTM API

CTM 提供以下 API,也可通过同一端口访问:

  • /api/network、/api/network.rt:所有轨道段和列车站的列表
  • /api/signals、/api/signals.rt:所有列车信号机的列表,包括其状态(绿色、黄色、红色)
  • /api/blocks、/api/blocks.rt:所有信号控制块的列表,以及它们是否被列车占用或预留
  • /api/trains、/api/trains.rt:所有编组列车的列表,包括其名称和位置
  • /api/style.css:根据配置的颜色和字体生成的 CSS 样式表
  • /api/config.json:地图配置

.rt 版本通过服务器发送事件(SSE)实时更新。

配置

CTM 的配置选项可在服务器配置目录中的 create-track-map.json 文件中找到。如果该文件不存在,服务器启动时会自动创建。

以下选项可用:

{
  // 是否实际启动监视器和服务器。
  "enable": false,

  // 轨道数据更新之间的等待时间。
  "watch_interval_seconds": 0.5,
  // 内部 Web 服务器监听的端口。
  "server_port": 3876,

  "map_style": {
    // 地图界面使用的字体。必须是有效的 CSS 字体堆栈。
    "font": "ui-monospace, \"JetBrains Mono\", monospace",
    // 地图各组成部分的颜色。必须是有效的 CSS 颜色。
    // 任何 CSS 颜色格式均可,例如命名颜色和 rgb()。
    "colors": {
      "background": "#888",
      "track": {
        "occupied": "red",
        "reserved": "pink",
        "free": "white"
      },
      "signal": {
        "green": "#71db51",
        "yellow": "#ffd15c",
        "red": "#ff5f5c",
        "outline": "black"
      },
      "portal": {
        "primary": "purple",
        "outline": "white"
      },
      "station": {
        "primary": "white",
        "outline": "black"
      },
      "train": "cyan",
      "lead_car": "darkturquoise"
    }
  },

  "map_view": {
    "initial_dimension": "minecraft:overworld",
    "initial_position": { "x": 0, "z": 0 },

    // 缩放级别必须是整数,但可以为负数。
    // 每个缩放级别是前一个级别的两倍。
    // 0 是一个不错的起点,但对于大型铁路网可能不实用。
    // 3 是查看双轨铁路网的合理默认值。
    "initial_zoom": 3,
    "min_zoom": 0,
    "max_zoom": 4,

    // 是否在屏幕上显示缩放控制。
    "zoom_controls": true,

    // 信号机应显示在轨道的哪一侧。
    // 有效值为 LEFT 或 RIGHT(全大写)。
    "signals_on": "RIGHT"
  },

  "dimensions": {
    // 维度名称必须使用命名空间。
    "minecraft:overworld": {
      // 在图层切换器中显示的标签。
      "label": "主世界"
    },
    "minecraft:the_nether": {
      "label": "下界"
    },
    "minecraft:the_end": {
      "label": "末地"
    }
  },

  "layers": {
    "tracks": {
      "label": "轨道",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "blocks": {
      "label": "轨道占用",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "signals": {
      "label": "信号机",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "portals": {
      "label": "传送门",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "stations": {
      "label": "车站",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "trains": {
      "label": "列车",
      "min_zoom": 0,
      "max_zoom": 4
    }
  }
}

无需重启服务器,运行 /ctm reload(需要操作员权限)即可重新加载配置。