创建赛道地图 - 分叉

创建赛道地图 - 分叉

移植到 Create 6.0(原由 littlechasiu 制作)

交通

Create Track Map

Mod 版本 Minecraft 版本 下载次数

适用于 Forge 需要 Create ≥0.6 需要 Kotlin for Forge

在 GitHub 上可用 在 Modrinth 上可用

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

示例轨道地图

使用方法

CTM 可在 Modrinth 上下载。请确保你下载的是与你的加载器、Minecraft 版本和 Create 版本相对应的正确版本。 以下是 Create 版本的兼容性图表:

CTM ≤1.3 CTM 1.4 CTM ≥1.5
Create 6.0 ❌ ✅ ✅

安装

只需像安装其他模组一样,将 .jar 文件放入你的 mods 文件夹(或使用模组加载器安装)即可!CTM 旨在作为服务端模组使用,但也可以在单人世界和局域网服务器中运行。它默认在端口 3876 上运行一个 Web 服务器,但这可以配置。如果你希望查看地图,必须转发此端口。(我该怎么做?)

地图本身可在根路径查看(默认 http://localhost:3876/)。如果使用代理来提供地图服务,请确保配置代理以允许 Server-Sent Events 通过。

单人游戏

地图托管在你的计算机上,因此在 Minecraft 打开时,在浏览器中输入 http://localhost:3876/ 即可。

多人游戏

A) 本地(局域网)服务器
地图仍然托管在你的计算机上,因此在游戏打开时,在浏览器中输入 http://localhost:3876/ 即可。
你家庭网络中的其他人可以在浏览器中输入 http://[你计算机的 IPV4 地址]:3876/ 来查看地图。
如何查看我计算机的 IPV4 地址?

B) 服务器在我的 PC 上
地图仍然托管在你的计算机上,因此在服务器打开时,在浏览器中输入 http://localhost:3876/ 即可。
你家庭网络中的其他人可以在浏览器中输入 http://[你计算机的 IPV4 地址]:3876/ 来查看地图。
你家庭网络之外的人可以在浏览器中输入 http://[你的公网 IPV4 地址]:3876/ 来查看地图。
如何查看我的公网 IPV4 地址?

C) 服务器由托管服务商托管
地图与服务器一同托管在该服务商处。服务器运行时,你可以在 [你的服务器地址]:3876/ 查看地图。
注意:你的服务商必须支持额外端口转发。 你可以咨询服务商支持人员/文档,或者直接使用 Google 搜索。如果服务商不支持此功能,那就没办法了。你可以更换服务商或尝试自行托管。

明确说明:不要在 IPV4 地址周围加上方括号!例如:192.168.0.0:3876

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

要使用此模组,你必须能够开放第二个端口,除了你的 Minecraft 服务器端口之外,CTM 将在该端口上运行其 Web 服务器。如果你使用的是 Aternos,这是不可能的。如果你使用的是共享托管服务商,请联系你的主机以协助开放端口。对于开放端口或诊断并非由模组 Bug 引起的问题,我们不会提供支持。

高级用法

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 版本通过 Server-Sent Events (SSE) 实时更新。

配置

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

以下选项可用:

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

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

  "map_style": {
    // 地图 UI 使用的字体。必须是有效的 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": "Overworld"
    },
    "minecraft:the_nether": {
      "label": "Nether"
    },
    "minecraft:the_end": {
      "label": "End"
    }
  },

  "layers": {
    "tracks": {
      "label": "Tracks",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "blocks": {
      "label": "Track Occupancy",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "signals": {
      "label": "Signals",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "portals": {
      "label": "Portals",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "stations": {
      "label": "Stations",
      "min_zoom": 0,
      "max_zoom": 4
    },
    "trains": {
      "label": "Trains",
      "min_zoom": 0,
      "max_zoom": 4
    }
  }
}

通过运行 /ctm reload(需要管理员权限)可以在不重启服务器的情况下重新加载配置。