Skip to content

线路数据

在完成了基础信息的编写之后,就可以开始创建自定义线路信息了

首先需要创建文件lines.xml
然后参考以下标准格式示范:

xml
<?xml version="1.0" encoding="UTF-8"?>
<lines>
    <line>
        <code>A2</code>
        <name>
            <zh-Hans>末地铁路</zh-Hans>
            <zh-Hant>末地鐵路</zh-Hant>
            <en>End Railway</en>
        </name>
        <colour>!rail</colour>
        <route>-691,84,2552;-687,84,2552;-686,85,2552;-683,85,2552;-682,86,2552;-679,86,2552;-678,87,2552;-675,87,2552;-674,88,2552;-671,88,2552;-670,89,2552;-667,89,2552;-666,90.2552;-663,90,2552;-662,91,2552;-659,91,2552;-658,92,2552;-655,92,2552;-654,93,2552;-651,93,2552;-650,94,2552;-647,94,2552;-646,95,2552;-643,95,2552;-642,96,2552;-639,96,2552;-638,97,2552;-500,97,2552;-500,97,2556;-502,97,2556;-506,101,2556;-508,101,2556;-508,101,2552;-506,101,2552;-502,105,2552;-500,105,2552;-500,105,2556;-502,105,2556;-506,109,2556;-508,109,2556;-508,109,2552;-378,109,2552;-374,113,2552;-366,113,2552;-358,121,2552;-12,121,2552;-12,121,2548;-6,121,2548</route>
    </line>
</lines>

其中每个<line>标签代表一条线路的数据

<code>

全版本 必填项

指定该线路在线网内的唯一确定ID

ID需为由大小写英文字母A-Z a-z或数字1-9组成的文本
不限制组合方式、文本长度、文本格式,因此下列ID都是可以被正确读取的

  • 123
  • A00123
  • ABCabc
  • A123b
  • 001AbC

不过,为了方便识别编辑等,建议使用较短、易读且格式统一的ID格式
另外,这将在后续的stations.xml中被使用到

xml
<code>A2</code>

<name>

全版本 必填项

指定线路的文字名称

名称可以是任何文本,但建议与语言相匹配,并不使用特殊字符
在此标签中包含三个包含实际数据的语言标签,分别是

  • <zh-Hans>(表示简体中文)
  • <zh-Hant>(表示繁体中文)
  • <en>(表示英语)

若有语言不需要或未翻译,请替换数据为其他语言的文本,必须保留标签

xml
<name>
    <zh-Hans>末地铁路</zh-Hans>
    <zh-Hant>End Railway</zh-Hant>
    <!--若繁体中文没有翻译,其数据可以替换为其他语言-->
    <en>End Railway</en>
</name>

<colour>

全版本 必填项

注意不是color

指定线路的颜色或样式

数据必须是以下类型中的一个

  • #FFFFFF 表示使用16进制颜色代码的纯色样式
  • !rail 表示使用铁路样式(黑白相间的线条)
  • !subrail 表示使用市域铁路样式(带灰色描边的白色线条)

xml
<colour>!rail</colour>

<route>

全版本 必填项

指定该线路在游戏中的路径走向

该空必须由两个及以上Minecraft坐标拼接而成
每个坐标必须包含x y z三轴的整数坐标,用英文逗号,连接。坐标与坐标间的数据用英文分号;链接
请勿在数据中间任何地方插入额外的空格,这可能会导致解析错误
结尾不加任何符号

坐标格式如下

text
x1,y1,z1;x2,y2,z2;x3,y3,z3......(以此类推)

该信息将会用于位置判断和地图绘制,而模组会自动直接用线段连接两点
因此,想要让模组能正确判断和绘制,则需要用多个坐标描述,模组会自动把它们按顺序连接起来成为一条折线

利用折线记录路径走向

折线是由一系列依次相连的线段组成的图形
这些线段的连接点称为顶点,最两端的点称为端点
本文中提到的折线包含首尾相连形成的多边形,即地铁中的环线,但不会以此作为普遍例子

本文仅适用于原版矿车,不一定可以与例如MTR等模组搭配

一整条线路可以被分成一条或多条的线段,首尾按顺序相连,形成一条折线,因此需记录折线的每个顶点
按顺序从端点开始,然后一个接一个按上文的方法来组成完整的数据,但需要注意以下几点:

  • 一般的,在水平面上的相邻的顶点数据需要x z有且仅有一个是相同的除非需要表达不在正方向上的斜线
  • 相邻数据中不能出现仅有y是变化的情况,即至少需要x z有一个是变化的y才能够变化
    通常来说此类数据代表一个斜坡的起终点,因此x z的变化量一般和y的变化量是相等的(在斜坡角度为45°的普遍情况下)
  • 不能出现两个相邻且坐标相同的数据
  • 环线的首尾两个顶点数据需为同一个坐标

text
0,0,0;0,0,0;0,0,100......
^^^^^^^^^^^
两个相邻数据相同

0,0,0;0,0,100;100,0,100;100,0,0;0,0,0
正确的完整环线数据,首尾两个数据是相同的

0,0,0;0,100,0;0,100,100......
^^^^^^^^^^^^^
y变化了,而x与z都没有变化

完整示例

xml
<route>-691,84,2552;-687,84,2552;-686,85,2552;-683,85,2552;-682,86,2552;-679,86,2552;-678,87,2552</route>
<!--此处已将数据缩短,实际可能更长-->