本文所述游戏特性存在着一个或多个漏洞。请浏览漏洞一节以了解更多细节。
有趣的矿车!

矿车

矿车minecart是一种用于运输工具。它可以在木匠工坊木材制成,或在锻造间用 2 块金属条锭铸造出来(由金属工匠完成)。矿车的容积可达手推车的 5 倍,可以比矮人们徒手搬运快得多,但缺点是需要费心设计一套复杂的轨道网络,并需要安排一个复杂的路线规划阶段,此外还存在使您的矮人被满载着铅矿石的矿车创翻的可能。轨道既可以从石头中挖出来,也可以人为铺设;后者容许您在地表构建路线,但由于对建筑材料的需求而更加麻烦。

与手推车类似,矿车被视为一种物品,并存放在家具储物堆中。尽管其容量是手推车的 5 倍,但矿车的大小却只比手推车大了 33%(矿车的大小为 4000),并且在采用相同的材料制作时与手推车具有相同的基础价值(最终价值可能因物品品质而有所调整)。小偷乃至淘气的动物都可以偷走矿车,哪怕矿车此时还在轨道上运动。论坛贴子 但是,移动速度足够快或载人的矿车则无法被偷走。

虽然矿车大多数的应用场景都是在要塞模式,但在冒险模式下玩家同样可以乘坐矿车。冒险玩家还可以捡起并重新布置矿车。

基本使用

矿车可以用来快速的运送矮人、流体或大量的物品。但在您建成一辆可以派上用场的矿车之前,还必须先达成几个先决条件。首先,您必须得有一辆矿车,它可以在木匠工坊锻造间中制作出来。要想让矿车移动,您还得用 d - TUi v.pngvUi vt.pngt 命令雕刻、或用 b - C - TUi b.pngbUi bn.pngnUi bnk.pngk 命令建造一条轨道出来,造一条直线就可以了。最后,您得在轨道上用 b - C - SUi b.pngbUi bn.pngnUi bnK.pngK 命令建造站台,矿车随后将在此启停。

在您建好站台并将矿车指派到轨道上后,您必须创建连接不同站点的逻辑回路,并给每个站点标定发车条件。这些功能可以通过 hUi H.pngH 键实现。最基本的条件包括在什么时候启动矿车,以及矿车启动时向哪个方向移动。矿车既可以被推动(让矮人站在站台上,踹一脚推一下矿车),也可以被牵引(让矮人推着矿车往前走,一直沿着轨道前进)。推动或引导矿车都需要启用运输劳动,对应的小项被称作“推/拉载具”,默认情况下是开启的。

如果想要调控允许运输的物品种类,您可以添加条件项,指定:(1)装载和卸载哪种类型的物品;(2)储物堆的链接,以定义从哪个储物堆装载物品,或者将物品卸载到哪个储物堆当中。

容量与重量

单个矿车装载各类物品容量示例
物品 容量
石材 5
原木 10
砖块/条锭 83
矿车叠罗汉 12
预备的餐点 500
尖刺圆球 500
钉头锤 625
短矛 1250
布料 2500

矿车的体积容量为 500000,是手推车的 5 倍。

矿车的重量(受装载物品影响)不会对人工推出或由卷筒启动后的初始速度产生影响 BUG #6296。不过,矿车的重量——换言之,矿车装载的物品重量——确实会影响到其是否能够触发压力板,具体来说与压力板自身的设置相关。

不同矿车的重量
矿车类型(材料 空载 满载(物品)
橡木矿车 28Γ 378Γ(10 根橡木原木)
铁矿车 314Γ 1698Γ(83 个大理石砖块)
铜矿车 357Γ 1682Γ(10 块黑曜石石料)
铂矿车 856Γ 10482Γ(83 根金条锭)

矿车的重量是其原材料密度的数值除以 25,单位为 Urist(Γ)。由于压力板所设置的触发重量值通常以 50Γ 为间隔,因此空载重量低于且接近 50Γ(或其若干整数倍)的矿车最适合用压力板来判断是否装载了物品。以下列出了最适合用压力板进行空载检测的矿车类型:

材料 空载矿车重量 触发检测所需的物品重量 触发检测所需的香蕉烧烤数量
紫影树 48 2 4
琥珀金 596 4 7
镍银 346 4 7
黄铜 342 8 14
(只在神器中出现) 391 9 15
精白锡 291 9 15
劣白锡 291 9 15
291 9 15
廉白锡 291 9 15

创建轨道

矿车轨道由连续的轨道、斜坡轨道方格所构成。对于轨道方格和斜坡轨道方格而言,它们总是存在某个确定的方向或方向序列;这些方向将会规定经过该方格的矿车会从哪个方向离开。举例来说,一块“北/东向轨道” Track NE 方格只会允许经过此地的矿车向该方格的北方或者东方移动。因此,如果您想让您的矿车沿着某一条直线轨道向东行进,再沿着同一条轨道向西返回,那么您就必须选择“东/西向轨道” Track EW 来构建这条轨道,这样才能使得矿车沿其向东出发、向西原路返回。在常规的环路或直线轨道场景当中,各块轨道必须以正确的方向首尾相连,才能使路线正常运转;不过有些设计方案例外,其中矿车可以通过坠落或其他斜坡来“跳”过轨道。如果在您的东西向轨道中安放了一块只允许向东的轨道,就会导致使用这条轨道的矿车线路在矿车试图从错误方向通过该方格时立刻停摆。矿车轨道可以通过两种方式建造:雕刻,或者构筑。对于一条矿车轨道而言,不必硬性要求其中的各块轨道统一采用雕刻或构筑方式建造,因为这两种建造方法可以根据对应轨道段的需求来灵活选择。使用这两种方法建造的轨道存在一些细微的差别,具体解释详见下文。

简单轨道

雕刻

通过 d - T 命令Ui v.pngvUi vt.pngt 按钮,可以指定在一条 1 格宽的天然岩层上进行雕刻,从而产生一条双向的轨道。拐角十字路口三岔路口也很容易建成,只要再指定雕刻另一条轨道,并让它与现有的轨道或刚刚指定的新轨道在对应方格上重叠即可。如果想要移除雕刻出来的轨道,您可以对相应的岩体执行打磨操作,由此将产生一片磨光的地面(如果有需要的话,还可以重新在上面雕刻轨道);或者,您也可以在轨道上面建造楼板,随后对应位置上的轨道将被移除。矮人们也可以直接雕刻出拐角形轨道,方法是先分别指定两条交汇轨道的雕刻任务,再通过 d - x 命令取消掉拐角以外不需要的轨道部分即可。轨道可以在天然楼板、粗糙楼板(通过采矿生成)、磨光楼板(通过打磨生成)乃至雕刻楼板(通过雕刻生成)的方格上雕刻出来,从而提供了一种去除低品质的或不需要的雕刻楼板方格的简便方法。在轨道雕刻出来之后,一定要记得仔细检查每一个方格上的轨道方向,以确保在这方面您(或者游戏的轨道雕刻机制)没有出现错误。

建造

轨道也可以通过常规的构筑形式建造出来,具体的指令为b - C - T。这一方法会消耗更多的资源,因为像这样建造每一节轨道都要花费一块石材/金属条锭/砖块;同时,它也需要耗费更多的时间才能完成,因为您不能一次性指定建造超过 10 格长的轨道。同时,您还必须分别指定拐角、十字路口、三岔路口和斜坡的建造。不过,如果您想要在地表或土壤层之上建造轨道的话,您恐怕只能使用这一手段才能实现(不考虑创造黑曜石的话)。移除构筑轨道的方法与移除其他各种构筑的方法相同;只需当心一点,在移除自然生成的斜坡上所建造的轨道时,将会连着原有的斜坡一同移除,只留下一个平整的楼板。

斜坡

雕刻

在自然生成的斜坡上雕刻轨道的操作,会令人感到有些费解。

要想在斜坡上(仅指自然生成的,人造的不在此列)雕刻出一节双向轨道,您必须从斜坡开始、沿轨道延伸方向往前一格处指定这节轨道的建造。沿斜坡方格向上(向更高处)一侧的方格当中,必须要有一块自然生成的或人造的墙体与之相邻,否则游戏将假定您是要在与斜坡同一水平面处雕刻轨道;由此,将会导致在门之类的物体下方凿出轨道来。

如果您不小心进行了这样的操作,您可以通过将斜坡磨光、并在与之相邻的一侧建造墙体来撤销之前的影响,随后重新在斜坡上以正确方式指定轨道的雕刻。(不过,这堵新筑的墙必须永久保留;若把其拆除,将会导致轨道的连接关系中断。)

建造

通过 b - C - T 键指另,您可以从建造轨道菜单中选取 Track/Ramp 选项,从而同时建造出轨道与斜坡来。在建造轨道斜坡时,轨道的方向选择必须与同其相连的其他轨道保持一致。举例来说,一节从西向东、包含斜坡的轨道将由如下流程构成:从西侧开始,建造若干节 Track (EW)(东西向轨道)、一节 Track/Ramp (EW)(东西向轨道/斜坡),并在斜坡后方安放一堵墙体,该墙体上方则继续布置东西向轨道。以错误方式布置的斜坡,将会导致矿车忽略对应位置上斜坡的存在(也就是说不能通过斜坡提升高度),转而与支撑斜坡的墙体相撞。不过,在斜坡缺少支撑墙体的时候,相应界面中并不会显示矿车“无法使用”。


斜坡实例

一个简单的斜坡会长这个样子("o" 为墙体):

  z+0    z+1
 ░░░░   ░░░░
 ═▲o    ░▼═
 ░░░░   ░░░░

在斜坡上雕刻出拐角轨道,既不符合直觉,又会异常复杂。由于雕刻轨道时总是需要指定两个方格以直线连接,因此您就必须要分别进行两次指定才能完成一段铁轨的建造:首先,需要从斜坡方格出发、沿“向下”的方向连接到下一层的方格上;随后,再从斜坡出发,沿“向上”的方向连接到上一层的墙体。如果您想要将斜坡上轨道的方向由向东改为向北的话:

  z+0     z+1  
 ░░░░░   ░░░░░ 
 ░░░░░   ══╗░░ 
 ══▲░░   ░░▼░░ 
 ░░░░░   ░░░░░ 

您需要将 z+0 层的斜坡与西侧和北侧的方格分别通过两次 carve track 指令连接起来:第一次是选中斜坡方格和其西侧的楼板方格,第二次是选中斜坡方格和其北侧的墙体方格。随后将会有雕刻师前来在斜坡上雕刻出 NW track(西/北向拐角轨道),这样就可以让矿车以正确的方式经由这里的拐角向上或向下移动。这样的拐角轨道完全可以供牵引式矿车使用,但要想让推动式或乘载式矿车在这样的路线上通行则存在问题:在斜坡上铺设拐角是非常反直觉的,这将会导致矿车从这里下行时速度减缓,而从这里上行时则会发生对角向移动

矿车开向斜坡或从斜坡出发(又或者在“朝着不同方向”的斜坡之间移动),会产生一些不可忽略的速度变化,甚至会导致矿车开始以与进/出速度值无关的固定速度通过方格,因为游戏会采用不同的方式处理进出斜坡的变化,而不是“跳过”该方格。这一现象主要会对复杂的轨道/斜坡组合结构产生影响(例如简单的 2x2 螺旋式斜坡),而它与反弹现象的组合将会导致整个系统无法按照设计者预期的方式运转。论坛贴子

运输路线

运输路线是一系列方向所构成的列表,它表述了矿车应在什么样的条件下、采取什么方式来移动。要想让轨道系统正常运作,就必须要正确的配置相应的运输路线。可以通过 h 键的运输菜单定义路线、站台、出发条件和储物堆链接。

路线

路线(route)定义了矿车沿轨道行进的具体路径,以及在什么条件下使矿车开始移动或结束移动。路线由若干站(台)组成。站台是指轨道当中的某一位置,矿车行进到此将会停止。对于像闭环路线这样的情况而言,只需少到 1 个站台就可以使之运转,这样唯一的站台将同时用于矿车的起点和终点;或者,路线也可以由许多个站台构成,它们可能被用来在抵达终点/回到起点之前进行装载物资、等待人工放回吊桥等各项任务。值得注意的是:您只需要在您希望矿车真正停下来、等待执行某项任务的位置放上站台就可以了。您不必通过放置大量的站台来引导矿车经过指定位置;您只需要在矿车需要停下来的地方放置站台。

新路线可以通过 h 键“运输”菜单创建。按 x 键将会移除现有的路线(没有确认环节),并且可按 n 键给线路起名。为了让线路正常运转,必须要通过 v 键指派车辆到线路上(可在选中路线或站台的情况下进行指派)。如果将满载的矿车指派到某条线路上,而且矿车内装的很重的话,可能会导致运输工作十分缓慢。

站台

站台是组成运输路线的若干个分立的停车点。每个站台都由其所处的方格位置及一组条件所构成,后者描述了矿车在停留于站台方格的情况下,应于何时、何地、以何种方式离开这里。站台可以在 h 键“运输”菜单当中创建,具体来说需要将光标放置在所需方格上,然后按下 s 键,在此过程中可以看到高亮显示的、已经由您所创建的路线(或其中的已有站台)。矿车会从其所属路线上第一个创建的站台出发,然后沿着下一个站台的方向行进;在每个站台处,矿车会在相应条件满足的情况下被牵引、推动或乘坐着前往下一个站台。在许多基础的矿车应用场景当中,矿车会在其出发的同一站台处停止,虽然并不总是这样。值得注意的是,运输站台的指定是强制性的,哪怕在那个方格上并没有轨道。如果您的路线因为某种原因绕过了某个站台,那么矮人就会把矿车从地上拖回到这个被跳过的站台上去,这其中也包括矿车在被推出/被乘坐出发后未在某一站台停车的情况。

在站台放置完成之后,将会提供一组默认的条件,以确定矿车在停在该站台时应于何时离开。无论站台被放置于哪种轨道上,每个站台都会提供一样的默认条件(比如“牵引矿车朝北行进”)。由于这个原因,新放置的站台可能会用黄色感叹号(!)标记出来,这是因为其方向无效。需要注意的是,当您放置了多个站台之后,将会在屏幕上显示出站台之间的路径。不过,这不一定是矿车在实际运行时所走的路径。例如,如果一条路线由两个站台组成,这两个站台分别位于一条有许多拐弯和转向的轨道的两端,那么在屏幕上将会用直线直接连接这两个站台,以显示出矿车将以什么顺序来经过这些站台。这些路线可能与实际的轨道反复交错,但只要实际的轨道是有效的,那么矿车就可以从一个站台开到下一个站台,哪怕是要拐弯、转向或升高、降低。路线站台只是构成路线的若干个步骤,请您不要把它和轨道站台混淆(见下文)。

储物堆连接

在定义运输站台时,通过将光标放在储物堆上,并按下 S 键,您就可以创建储物堆连接。要想重新定义一项连接,您可以先选择连接,将光标移动到一个不同的储物堆上,然后再按下 p 键。连接的作用在于:矿车会优先从其所连接的各个储物堆——而不是从其他地方——来获取要装载的物品。

请注意,当储物堆被连接到运输站台时,要当心储物箱的使用。如果运输站台的“期望物品”列表中包含储物箱,那么就有可能产生问题。举例来说,如果一个矿车被设置为只接受花岗岩砖块,并且离开条件设置为“装满 100% 的花岗岩砖块”时向北出发;那么,如果这部分花岗岩砖块中有一些被存放在储物箱中,矿车就都不会离开,哪怕储物箱也被包含在“期望物品”当中。截止 v0.40.24 版本,已经发现了两种解决方案。

  1. 首先,可以在被连接到站台的储物堆中禁止储物箱的使用。
  2. 另外,也不是不能让储物箱与矿车并存,办法是:可以在站台的高级条件菜单(按下 C 键打开)中,将矿车从该站台出发的条件从仅使用“期望物品” desired items 改为可使用“任意物品” any items。这种情况下,矿车所装载的物品仍然可以通过指定储物堆中允许存放的物品来进行控制。
出发条件

出发条件涵盖了使矿车在路线当中离开站点的各类条件。每个条件包括如下组成部分:

  1. 出发模式(牵引 Guide、乘坐 Ride 或推动 Push)。
  2. 初始出发方向(东西南北 EWNS)。请注意,这里定义的只有初始移动方向。即使轨道在后面会发生方向的转变,但只要初始条件符合轨道的要求,矿车出发之后就能够正常的按轨道方向行进。
  3. 定时器,在其完成计时周期之前出发条件将无法满足。
  4. 对于矿车上装载物品数量的条件。

出发条件可通过 n 键创建。新创建的出发条件通常是这样的:guide north immediately when empty of desired items(未装载需求物品时,立即向北牵引出发)。您可以按 c 键在几组基本的预设条件之间切换。按 C 键则可以打开“高级”模式,这样就可以对出发条件进行更加精确的控制:

  • 通过 fF 键,您可以在 0% 到 100% 之间以 25% 的步长微调物品装载量条件;
  • 通过 m 键,您可以将物品装载量条件设置为“最大”或“最小”;
  • 通过 l 键,您可以控制矿车是接受所有类型的物品,还是只接受一类特定的物品。

此外,在两种模式下,都可以通过 p 键切换出发模式(牵引/乘坐/推动),按 d 键切换出发方向,以及按 tT 键调整定时器设置。

要想让矿车只装载特定一类物品,可以:

  1. 将站台设置为只装载“期望”物品。在选中对应站台条件的情况下,按 Enter 键打开选择界面,并切换期望物品的类型。
  2. 或者,您也可以直接将站台连接到一个储物堆当中,并让矿车在满载所连接的储物堆中物品后出发,而不需要去关心装载物品的类型(将物品类型交由储物堆本身来控制)。

轨道站台

轨道站台 Track Stop——请不要和路线上的“站台”弄混——是一种可选的、单方格的构筑,它主要有两种用途。首先,它可以用来让矿车通过轨道站台时消耗其动量,以减缓矿车的速度,或直接让其停下来。在需要把矿车从一长串斜坡推下来到其目的地时,可能会需要用到它。其次,轨道站台可以让矿车在通过时自动将其装载的物品倾倒出来。轨道站台是通过 b - C - S 键来建造的,并且必须建造在已有的轨道之上。如果轨道站台已经设置为在矿车通过时自动倾倒物品,那么矿车在通过站台时就会按照轨道站台上标注的方向将其所装载的物品倾倒出来。根据轨道站台的摩擦度设置,矿车可以在倾倒物品后停下来,也可以继续沿当前路线前往下一个目的地。

轨道站台的建造并非必须;实际上,它们主要被用在自动的铁路系统当中。然而,即使是在最基本的铁路系统中,也仍然可以用轨道站台来倾倒物品:这样可以节省一些时间,要不然矮人们就得自己上去把物品搬出来;节省的时间可以用来让矿车去往更需要的地方。倾倒物品的操作在牵引矿车的情况下也可以发生。请注意,不要在装载物品的地方设置轨道站台来倾倒物品,否则矿车就永远无法再装载物品了。在这种情况下,一旦物品被装入矿车,它就会立即倾倒出来。

与直觉相悖的是,虽然轨道站台是在构筑菜单中选中的,但它却被视作是建筑,因而必须通过 q - x 键来移除。

分步教程

让我们来造一条简单的矿车线路吧。这条线路将用来把石材砖块从一个输入储物堆移动至输出储物堆。我们先从创建储物堆开始:

指定储物堆。
指定储物堆。

输入储物堆在左侧,而右侧则是输出储物堆。我们要把砖块从左边运输到右边。在两个储物堆中都禁用储物箱,并将输入储物堆设置为仅从链接接收物品。然后再设置储物堆从石匠工坊获取砖块,那里是它们生产出来的地方。

之后,开始雕刻轨道:

指定轨道雕刻任务。
指定轨道雕刻任务。

请注意,标定区域的尾部形状比较特殊;它是自动生成的,您不需要手工调整任何内容。现在,请等待您的雕刻师前来、在岩石表面雕刻出轨道。(在您等待完成的过程中,您的搬运工们可能也会前来将输入储物堆给补充填满。)

除此以外,在您等待的过程中,还应在锻造间中制作一辆铁矿车。

雕刻出来的轨道。
雕刻出来的轨道。

雕刻完成的轨道如上图所示(轨道将显示为静态图像,而不再闪烁)。现在,请您在输出储物堆的旁边指定一个轨道站台(在“构筑” Constructions 类别中):

指定轨道站台。
选择倾倒方向。
指定轨道站台。
选择倾倒方向。

您必须在安放轨道站台以前先确定倾倒的方向,建好之后无法再更改(与的方向设置类似);d 键 3 次即可实现。这可以通过点击方向按钮来实现。期望的结果应该是:将砖块倾倒到站台右侧的输出储物堆当中,所以应该将倾倒方向设置为东向(向右)。随后,等候机械师前来建造轨道站台。

轨道站台建造完成。
轨道站台建造完成。

现在我们需要定义实际的路线这可以通过 h 键运输菜单来实现。按 r 键来开始定义路线。然后,将光标移动到轨道的输入侧,然后按 s 将其定义为第一站。这可以通过 H 键运输菜单来实现。点击 Add New Route 按钮来定义一条新的路线。点击 Add a stop,然后选中输入储物堆旁边的那一块轨道,作为线路的第一站(停靠点)。

线路定义,正在进行中。
线路定义,正在进行中。
线路定义,正在进行中。
线路定义,正在进行中。

再次移动光标,将其移动到输出侧,然后再按一次 s 键将其定义为第二站。再点击一次 Add a stop,然后点击邻近输出储物堆的那个站台,从而定义第二站。

第二站的定义。
线路定义,共两站。
站台还没有定义。

There are several user interface features to note at this point. The stops have been positioned, but they haven't been defined yet, so there is a warning ! symbol by each of them. In the lower right corner, we see what the ! means. Also, note that the second stop is labeled in white, while the other two lines are grey. The white text is a selection indicator, and can be moved up and down by pressing +/-.

Next we need to define what our stops do. We want the minecart to be filled with blocks at the first stop, then travel to the second stop where it will dump its cargo, and then return. Press - to move the selection up to stop 1, and Enter to open it up. By default, the stop has three conditions:

Default stop definition.

We don't want any of these, so press x three times to delete them. This leaves us with a blank stop. Now we can add the conditions we actually want. Press n to begin adding the first condition, then d twice to change the direction from north to east. Then press c to change the condition from empty to full. This will instruct the minecart to be guided east when full of desired items.

To set the desired items, we create a stockpile link. Press s, then move the cursor to the input stockpile, then press p to select that stockpile. Now press Enter; this opens up a selection screen that resembles the stockpile customization screen. Move down to Blocks, enable them, then (if you wish) restrict it to stone blocks.

When you've done all that, stop 1 should look like this:

Stop 1, defined.

Stop 2 is much simpler. All we need to do is have the minecart return to the input stop. So, make a condition and change the direction:

Stop 2, defined.

Finally, we just have to assign our minecart. Go back to the route definition screen, and press v. Select the minecart, and press Enter.

Now we've got everything set up:

Route, fully defined.

The V is red because the minecart hasn't been moved onto the track yet. Some dwarf will have to haul it from the forge to the first stop, by hand; this will take a while, especially if the forge is far away.

第二站的定义。
线路定义,共两站。

这个时候,线路就已经定位完成了,但其还没有完成定义。请点击线路设置中的矿车按钮(而非站台按钮),然后为线路指派一辆矿车。

对于第一站,点击其矿车图标,可以选择在此将哪些种类的物品装入矿车。默认情况下不会将任何东西放入矿车来运输。由于我们已经将输入储物堆设置为仅从工坊中接收物品(从而里面就只有砖块),因此您既可以选择接受砖块,也可以选择接受“所有物品”。

再点击第一站的储物堆图标,选择“接收”图标(中间的按钮),并选择输入输入储物堆。

选择储物堆。

点击第一站的条件 Conditions 按钮(<>=≠),并检查默认的发车条件。对于第一站,大多数设置都是合理的,不过您必须将所有条件下矿车的方向按钮更改为正确的方向(向右),以便矿车在满足发车条件时能够正常启动。

设置方向。

再点击第二站的条件按钮。这里需要将其发车(返回)条件改为“立即开始”。清除最底下的两个条件,将方向改为返回第一站的方向(向左),最后点击 >= 按钮以使它变成 <=。这样,就可以让矿车立即从站点返回,而不用等到装满再发车——这当然是对的,因为矿车在这一站本来就什么也不会装!

修正第二站的条件。

如果路线出现了任何问题,您将会在路线界面中看见一个红色的 !。请注意,这个标记在矿车安放就位之前也会一直存在。如果您的路线已经正确配置,那么就应该有矮人把物品搬运到矿车当中,而路线界面当中的百分比也会开始变化。

有问题的线路。
正常情况下装满了物品的矿车。

在矿车就位后,矮人们就应该会在第一站把输入储物堆的砖块往矿车里装了,而储物堆则将相应地由您的石匠在工坊中辛勤劳作生产出来的新砖块所填满。在矿车装满之后,砖块就会被矿车运输并倾倒在右侧的那个 1x1 储物堆当中。全自动量子储物堆

问题排查

由于系统异常复杂,除开一部分最为小心和经验丰富的矿车使用者,其他人都会遇到问题。大多数路线相关的问题,都可以在 h 键的运输菜单中进行诊断和修复。

轨道断开

问题:! Set dir/connect track 信息出现在一个或多个站台的右侧。

可能的原因:

  • 游戏无法为需要引导的矿车找到不需要搬运矿车就能通行的路径。游戏在检查运输路线的有效性时,会假设矿车是通过引导方式来行进的。因此,当路径穿过不可通行的地形、需要矮人搬运矿车或者不完全可供引导时,都会出现这个警告。
    • 如果您的矿车路径依赖于一些高级技巧,诸如故意让矿车坠入坑当中,或者忽略地板的类型;那么即使您的路径完全按照您最初的意愿设计,也仍然会触发这条黄色的警告。如果您的路线能够像您希望的那样正常运转,那么您就可以安全地忽略这个警告。
  • 在站台的一个或若干个条件中,存在着无效的出发方向。使用 Enter 键进入站台编辑模式,然后按 d 键,直到站台指向一个有效的出发方向。
  • 轨道站台建在了没有轨道的方格上。轨道站台必须建在已经存在轨道的方格上,才能正常使用。
  • 轨道不连续。如果路线提示器直接在您的第一站与最后一站之间连了线,那么这可能就是问题所在。请确保目的地之间通过轨道进行双向连接,并且中间不要有隐藏很深的空隙。
  • 斜坡的使用极其容易出错,这一点可谓“臭名昭著”。建议您检查每一个坡道,确保没有意料之外的单向坡道被留在路线当中。
    • 为了在(自然)斜坡上雕刻出双向轨道,您必须沿着轨道行进的方向将斜坡和其前方的一个方格同时标记为轨道。
    • 在斜坡轨道的反方向(斜坡的“后方”或“背面”)必须有一块固体墙,否则它们将无法正常工作,而且也不会被标记为“不可用”。这堵墙可以是自然形成的,也可以是人工建造的。
  • 期望物品的设置和实际物品不匹配。

站台无法接收物品

问题:在某一站台的右侧,总是会出现 0% V 的状态信息。

可能的原因:

  • 没有给站台设置“从储物堆接收物品”。按 Enter 键编辑站台设置,并确保您最终可以看到类似 Take from Stockpile #1 这样的信息。
  • 接收物品的条件和储物堆内所存放的物品类型不匹配。
  • 轨道站台被设置为“倾倒”。被设置为倾倒类型的轨道站台是不能装载物品的。您要么得把站台的设置改成基于时间周期出发,要么就把这个轨道站台拆掉、重新建一个不进行倾倒的站台。(除此以外,您也可以借助 DFHack,按 q 键将站台的 Dump on arrival(到达后倾倒)设置为 No,这样就不用重建站台了。)
  • 矿车本身被设计为在此处倾倒(比如在大规模倾倒当中)。

矿车无法移动

问题: 矮人们如愿以偿地装满了矿车,但是矿车却不会在装满后开始移动。

可能的原因:

  • 矿车中有些物品并未罗列于该站台的期望物品列表中。使用 kz 键检查矿车内的物品,确保矿车内的物品都是期望的物品。
  • 矿车中包含了一些装在储物箱里的期望物品。如果有些所需物品是通过储物箱装上了矿车,似乎没法让矿车意识到自己已经装满所需物品了,哪怕把储物箱本身设为期望物品也是如此。这个问题无法通过在站台的期望物品列表中添加储物箱来解决。为解决这一问题,要么就在输入的储物堆里禁止放置储物箱,要么就使用高级条件菜单(C 键)将出发条件设置为仅依据总的装载量——而非期望物品的装载量——所占百分比。

矿车无法装载

问题: 矮人们不断地尝试装载矿车,但是却没有任何物品被装载进去。

可能的原因:

  • 用来装载的轨道站台是倾倒类型的。由此,每次当矮人们要把物品放进停在这种站台的矿车里时,物品都会立马被倾倒出来,导致永远重复却毫无用处的矿车装载工作西西弗斯。倾倒类型的轨道站台不应该用来装载物品。

人力矿车

问题: 矮人总是把矿车拾起来、人工搬运到目的地去。

请参阅:诡异现象

危险

矿车的使用当中充满了危险乐趣。虽然每建造一节轨道都会自动将对应区域的交通等级设置为“低”,但矮人们仍然会在轨道上行走,而一般的生物则干脆忽略这些交通优先级的影响。如果一位不幸的矮人或生物未能躲开矿车,就有可能因此而受伤。在大多数情况下,通过 hUi H.pngH 键将矿车的移动方式由推动/乘坐改为牵引,或者把家畜安置在牧场、并阻止其他生物接近轨道,都能够有效的降低此类风险。请注意,拆除轨道后游戏不会自动将对应方格的交通优先级恢复成常规等级,因此您可能得在事后人工调整这些区域的交通等级。另一个注意事项是:用作轨道的桥不会自动改变交通优先级(因为它们本来就是普通的桥而已),所以若您不够当心谨慎,就可能导致矮人们在寻路时,从这些通常相当危险的矿车出入口处穿过要塞城墙。

目前,唯一一种完全有效的办法,是直接让轨道所在的方格无法到达。有好几种办法来创建一条只允许矿车通行、不允许生物横穿的轨道:

  1. 最简单的办法,可能是在轨道上建造雕像
  2. 在轨道路线中挖出一些 1x1 的洞/坑,以较快速度运动的矿车能够从上面跃过去。
  3. 在路线上加一些垂直降落的结构。
  4. 配置一些由矿车才能触发的门,控制通行流量。
  5. 用流体填一些小水洼出来(4/7 的水或 2/7 的岩浆)。
  6. 拴住一些敌对生物俯瞰轨道,吓怕敢于前来的矮人和其他生物。

为安全起见,轨道的两侧都必须封闭起来,以使得轨道中间较为危险的部分完全与外界隔绝(不过仍有必要通过一扇上锁的门来保持一条维护所用的通道)。

危险并不总是只来自于那些到处乱窜的看客。粗心的路线设计,可能会导致矿车冲出轨道,甚至与其他矿车相撞。若发生了这种意外,矿车上的物品会散落一地;结果,为了把这些东西拾回来所耗费的运输劳动,可能比矿车本身要节省的劳动要更多。更美妙糟糕的是,从矿车上飞出来的物品——特别是武器——可能会伤及路过的矮人和其他生物。正如伟大的 Toady One 所说的那样:“Accidental grapeshotting of the dining room should be possible now.”(餐厅里不慎打出的“葡萄弹”已经实现了。

当然,使用矿车时存在的种种危险,意味着它在那些富有想象力的玩家手中也可以被作为武器使用

高级用法与自动化

这篇文章需要翻译。你可以帮助矮人要塞中文维基来 翻译它

Minecart-specific effects are implemented via track stops, rollers and pressure plates with "track" condition set. Since all three are considered buildings, they can't be built on the same square (however convenient track stop + pressure plate would be) nor a simple ramp, and are removed by q x.

深入理解轨道站台

Track stops are constructions that allow further automation of minecart systems via adjustable features such as braking by friction and automatic dumping of contents. They can be built from logs, bars and blocks through b C S; friction amount, dumping toggle and dumping direction must be set before construction, and these settings can be neither changed nor seen thereafter; however, track stops can be linked to pressure plates or levers to toggle friction and dumping On or Off (trigger state is inverted: switch On = track stop Off). In thoughts screen, dwarves will admire track stops as traps.

If a stockpile is placed on the tile that a track stop is set to dump to, it can act as a quantum stockpile and any items dumped from a minecart that match the storage settings of the stockpile will remain there and accumulate. Normally trackstops are built on top of existing track to operate on moving minecarts, but they can also be used without tracks to create automatic quantum stockpiles (see also step-by-step tutorial). It is not always desirable to collect ALL of certain items into one quantum stockpile, such as when distributing a material to multiple separate industries. You can link your quantum stockpile to various other stockpiles, ensuring that your dwarves will keep them supplied as necessary. Because quantum stockpiles never fill up like regular stockpiles, it may be a good idea to add a switch to turn them off.

Items dumped from a minecart at a track stop (or dumped by any other means) into open space fall through z-levels until they land on a solid surface. Items falling onto a designated stockpile will automatically be considered part of that stockpile, even if the stockpile is set to disallow those items (they will, however, be automatically moved to a more appropriate stockpile, if available). Items falling on top of a minecart will not fall "inside" the minecart. Use with caution; dwarves have fragile skulls.BUG #5945

自动化推进系统

Roller

主条目:Roller

A roller is a powered machine component for the automated propulsion of minecarts. They are built over the top of existing tracks with bMr, requiring a mechanic, (length/4)+1 mechanisms and a rope. Rollers may also be placed directly on ramps to help pull carts up Z levels. Rollers are very useful to maintain a cart's momentum along long routes, to get them to climb Z-levels without dwarfpower involved, and to get them to reach speeds unattainable by guiding dwarves. These devices are variable-length (1-10), variable-direction and variable-speed (see below), all traits that can be set at construction time; a roller uses two units of power per tile it is long.

Single-tile rollers transfer power in all four cardinal directions, while other rollers generally only transfer power perpendicular to their activity direction. Longer rollers can also transfer power along their activity direction if built in the correct order, although this can be hard to accomplish and is easily broken. Rollers cannot be powered from above.

Rollers have great acceleration and capped speed. Carts going faster than the roller are unaffected. If a cart moves across an active roller in the direction the roller works and moves slower than the roller's specified speed, the cart will be set to the roller's speed. A cart going against a roller's movement direction will be sent back the way it came (once again at the roller's speed), unless it was moving extremely fast: speed increment of 100000 allows to reverse carts from the full "highest" (50000) speed roller to full "highest" speed back, but ramps can accelerate a cart beyond this. 论坛贴子 A cart crossing over a roller perpendicular to its current movement direction will gain the roller's amount of speed in the perpendicular direction without directly changing its forward motion. Without an adjacent wall to constrict its movement, this will typically send a cart off the rails on a diagonal path, completely unable to follow any tracks until it collides with a wall or is otherwise brought to rest. However, if the roller is placed over a track turn and pushes from the direction of that turn's track, the turn affects carts after the roller, so they will be forced into the turn rather than derailed in a diagonal direction. 论坛贴子

\
tracks: full:
  ║       ║
 ═╗═     ═╢═
  ║       ║ 

╢ : roller pushing from W to E

If the roller is powered, carts from all directions (unless too fast) exit S, because speed imparted by the roller forces carts toward E and then into the turn. If not powered, carts from W and N exit S, carts from E and S exit W. Carts above derail speed will ignore the turn, of course.

\
 ║     ║ 
═╗═   ═╟═
 ║     ║

╟ : Roller pushing from E to W

Carts from the E or W: exit W. Carts from N: derailed diagonally, exit SW. Carts from S: derailed diagonally, exit NW.

Rollers affects carts on a track - if placed on a floor or ramp without any tracks, they are ignored. Depowered rollers are also ignored, friction is determined by the tiles underneath.

Because of their one-way nature, rollers are unsuitable for most two-way minecart tracks (unless you set gears toggling roller A->B off while toggling A<-B rollers on). However, a minecart set to be guided is not affected by rollers at all论坛贴子 — this allows a one-way track to be used in both directions. In addition, unpowered rollers do not affect minecarts.

Care must be taken in glaciers and other extremely cold biomes, since rollers (and the machinery used to power them) will not operate when constructed on natural ice floors.


Impulse ramps

Carts can be given momentum without rollers or changing z-level by exploiting a design oversight in a phenomenon called "impulse ramps". A track ramp which has at least one wall/fortification and exactly one other connection will always accelerate a cart towards the other connection, no matter where the cart enters the tile from. This means carts can be accelerated even if the cart doesn't actually change z-level at all; ramps don't actually impart any downward velocity even when making cart descend. If a track ramp faces three directions such as ╩, then two of those directions need to be facing walls for the cart to be accelerated towards the remaining direction.

Example of straight impulse acceleration:

\
 ▒▒▒▒▒▒▒▒▒▒     ▒▒▒▒▒▒▒▒▒▒ 
═▲▲▲▲▲▲▲▲▲▲═   ═╚╚╚╚╚╚╚╚╚╚═ 
▒   : Wall
  ═ : Normal track 
▲/╚ : N/E Track/Ramp

If a cart enters from the left, it will speed up on every track/ramp and exit to the right going very very fast—more than one tile every step. If it enters from the right, then it will bounce back impulsed by the ramp if it's going slow enough.

As another oddity, carts coming from ramps will in some cases "teleport" through most of the next tile. This is called the "checkpoint effect", and is explained in detail in the Physics section, below. This negates the deceleration of the next tile if it is a ramp "angled" in a different direction. You can just make an upward spiral alternating impulse ramps and regular upward ramps. It takes no power, is quick and cheap to build, requiring only channeling and track carving, and the cart goes up fast, but not so fast that it launches its contents.

Examples of impulse elevators:

\
 z +0    z +1    z +2    z +3
 ░░░░░   ░░░░░   ░░░░░   ░░░░░
 ░╔░░░   ░▼╚╗░   ░░▼▼░   ░░░░░
 ░╝░░░   ░▼░░░   ░░░╔░   ░░░▼░
 ░▼▼░░   ░░░░░   ░░░╝░   ░╚╗▼░
 ░░░░░   ░░░░░   ░░░░░   ░░░░░

 
 z +0   z +1   z +2   z +3   z +4   z +5   z +6   z +7   z +8   z +9
 ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░ 
 ░▼░░   ░░╗░   ░╔▼░   ░▼░░   ░░░░   ░╔╝░   ░▼▼░   ░░░░   ░░╗░   ░╔▼░ 
 ░╔╝░   ░▼▼░   ░░░░   ░╚░░   ░▼╝░   ░░▼░   ░╚░░   ░▼╝░   ░░▼░   ░░░░ 
 ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░   ░░░░ 
 
░ : Wall
╔,╚,╗,╝ : Track/Ramp
▼ : Down Ramp (empty space)

Note that these impulse elevators, due to the checkpoint effect and upward curved ramp effect, will not actually result in carts traveling straight up the ramp. They will lose speed, bounce off a ramp, then be accelerated back into the spiral after a 9-turn delay on both tiles on the floor where they are stopped. This is because the checkpoint effect allows carts to travel up the ramps in a single turn, but also prevents the impulse ramps from adding acceleration unless the cart is slowed to staying on the ramp for more than one turn. Initial acceleration will carry the cart up a variable number of floors before this effect occurs, but this bouncing back and forth will occur every 5 z-levels after the first time the cart stops. When the cart is traveling upwards, it will pass every tile at a rate of one tile per turn regardless of its actual speed, due to the checkpoint effect. In tracks with only a single cart, this is negligible, but when multiple carts are on the same track (such as when you place multiple carts on a magma cart lift) this can cause collisions which derail carts, or cause other unexpected or undesired behaviors.

The following impulse ramp (while larger) should alleviate these problems by using a straight ramp to go upwards, preceded by an impulse ramp to exploit the checkpoint effect and negate up ramp costs. Corners still decelerate carts, so the cart will tend towards a velocity of 72k, which is derail speed. Derail speed breaks (see Controlling Speed, below) may be necessary at the top.

\
z +0     z +1     z +2     z +3
 ░░░░░░   ░░░░░░   ░░░░░░   ░░░░░░
 ░░░░░░   ░╔╔═░░   ░░▼▼╗░   ░░░░░░
 ░║░░░░   ░▼░░░░   ░░░░╗░   ░░░░▼░
 ░╚░░░░   ░▼░░░░   ░░░░║░   ░░░░▼░
 ░╚▼▼░░   ░░░░░░   ░░░░░░   ░░═╝╝░
 ░░░░░░   ░░░░░░   ░░░░░░   ░░░░░░

░ : Wall
║,═,╔,╚,╗,╝ : Track/Ramp
▼ : Down Ramp (empty space)

Also, if you want to have a cart following a below-derail speed, the following track works well:

\
z +0    z +1    z +2    z +3
 ░░░░░   ░░░░░   ░░░░░   ░░░░░
 ░░░░░   ░══░░   ░▼▼║░   ░░░▼░
 ░║░░░   ░▼░░░   ░░░║░   ░░░▼░
 ░║▼▼░   ░▼░░░   ░░░░░   ░░══░
 ░░░░░   ░░░░░   ░░░░░   ░░░░░

░ : Wall
║,═ : Track/Ramp
▼ : Down Ramp (empty space)

In this elevator, the cart collides with the walls in the corners, but then realigns on the ramp, picks up speed, checkpoints through the next ramp, and slams into the next wall. It is slower (10 ticks per floor) but produces reliable speeds, and will exit the impulse elevator at little more than push speeds.


A sort of opposite effect to impulse ramps also exists: ramps lacking the proper "up" and "down" connections are treated as flat track, even if they actually go up or down z-levels. This allows building "anti-impulse" slopes consisting entirely of ramps only connected up, which a minecart can travel up forty levels and more, needing no more than a single push.

交通控制

开关

As tracks are constructions or tile features, doors and other furniture can be built on them. A door or floodgate can be turned on or off by a lever, effectively controlling the flow of automated minecarts. This may be dangerous fun, however.

\
       ->
 A ════┤≡════ B
┤ : roller pushing to East
≡ : door

The roller pushes the cart east, but until the "departure condition" is fulfilled, the door remains closed and blocks the path.

Bridges can also act as tracks, but only if they're lowered or not retracted. This property can enable levers to turn tracks on and off. However, care should be taken to ensure that such bridges are never operated while a cart is on top of them, as the cart will be flung off the track. It's worth noting that it's often faster, and cheaper, to construct large bridges than long sections of constructed track.

A powered track switch can be constructed by building an "inverted" corner as illustrated below.

\
      B             B
      ║     ->      ║
      ║             ║
  ════╚═══      ════├════
 A        C    A         C
├ : roller pushing to West.

If the cart is pushed East from the stop at 'A' while the roller is activated, it will arrive at 'B'. If the roller is not running, it will arrive at 'C'. The switch works by the roller first reversing the incoming cart's movement and the cart then following the track corner.

This switch is very reliable, reacts instantly to on/off signals, and carts of any speed can be switched by this design, although very fast carts will require rollers that are several tiles long, up to three. The requirement for power can be inconvenient or impractical. Non-powered solutions may use controlled derailment, or a connecting bridge.

\
    B ╥
      ║
      ║
 ╞════╝ ════╡
 A     D    C

Here the track between A and C is not continuous. The only continuous track is A->B, with a corner (not a T section). Fast moving carts will tend to derail at D and rejoin the track to C. Placing a door at D will prevent the derailment, so the cart continues to B. The door is operated by mechanisms elsewhere (typically, a lever, but some fun can be had with pressure plates).

Since it depends on derailing, this switch requires a very fast cart, faster than what can be achieved with rollers alone. To gain sufficient speed, a cart must be accelerated further, usually by descending several levels or through impulse ramps. The high speed makes the cart much more dangerous and harder to control.

If carts are moving too slowly to derail at the corner, a retractable bridge may be used as a connector between A and C.

\
      B╥
       ║
       ║
 A╞════bbb════╡C

The bridge must overlap the corner. Bridges behave like a track crossing, allowing carts to pass in a straight line. When retracted, the corner reappears, so the carts will continue to B. Bridges take 100 steps to react to a signal, necessitating rather long "lead times" when switching tracks via bridge.

As mentioned above, special care must be taken to make sure the bridge doesn't change state while the cart is passing over it. Retracting bridges will throw the cart, causing it to stop dead. Raising bridges can even crush the cart.

速度控制

Minecarts can reach extremely high speeds, especially when descending multiple Z-levels. A minecart will derail at a track corner if its speed exceeds 0.5 t/st (tiles per step), unless the route in the direction of travel is blocked:

Will derail at > 0.5 t/st:

\
 in ══╗ -> derailing
      ║
     out

Will not derail at > 0.5 t/st:

\
 in ══╗O
      ║
     out

O : wall/column.

This behavior can be used to build a "speed limiter", that will ensure that when a minecart exits it is traveling below derail speed, as illustrated in these three examples:

\
      ░░░░     ░░░░░        ░░░░░
 in  ═╔═╗░     ░╔S╗░        ░╔S╗░
 out ═╬═╝░ out ═╗═╝░    out ═╗═╝░
     ░╚S╝░     ░╚═╝═ in     ░╚S╝░
     ░░░░░     ░░░░          ║░░░
                              in
░ : wall
S : Track Stop (High Friction or lower)

If the minecart is traveling below derailment speed, it will not be affected; if above, will be slowed down and checked again. Granted, you could do the same just with track turns, but it may take a lot of turns and time.

Since all the derailings, bounces and ramps can impart a sideway component of speed small enough to start visible drift many tiles away (say, in the middle of a bridge), track turns have one more use: forcing the carts to move strictly along the grid directions. Carts passing a turn below derailing speed convert one component of velocity into another, thus eliminating the drift.

装载流体

Water and magma can also be loaded into minecarts by submerging them to a depth of at least 6/7 while standing still or moving at speeds of at most 10000. Loading fluids onto minecarts can be difficult because the added friction provided by fluids can stop a cart in a submerged tile. Curiously, filling a minecart with magma does not injure a dwarf riding it. A minecart will hold enough fluid to increase the depth of a single tile by 2. This amount is listed as 833 units, which weigh 459Γ (water) or 999Γ (magma). An iron or steel cart filled with magma weighs 1313Γ, while an adamantine cart filled with magma weighs 1007Γ. Since you need a minecart above the liquid's level, possible arrangements may include pressure-activated sluices, rollers (with magma-safe chains for magma), pouring from above to "submerge" it briefly on the same level and drain excess away (dig deeper and leave a vaporizer, though if you could have power for rollers, may as well use a pump) and exploits with ramps (not necessarily impulse ramps, "same height" passing dip does it). The liquids can be dumped by a constructed track stop.

诡异现象

This little quirk concerns dwarf-managed minecarts. If a track which was previously open becomes blocked (ex. flipping a switch connected to a floodgate you've built on the track to raise it) and the conditions for departure are met, instead of refusing to ride/guide the minecart or ride/guide it until it reaches the obstacle, the dwarf will pick up the minecart off the tracks and haul it to its scheduled destination on foot. If the distance is long enough and the weight of the cart heavy enough (due to being filled with heavy items such as stones), the dwarf may drop the cart because of fatigue/hunger/thirst before reaching the destination. This will cancel that vehicle setting job and make another dwarf come by and attempt to haul the cart to the nearest appropriate stockpile where another dwarf will pick up the cart and attempt to haul it to its initial stop. If the stockpile is far enough from initial stop, this second dwarf who is attempting to place the minecart on its tracks may also drop the minecart out of fatigue/hunger/thirst creating a loop that will go on until a dwarf with enough endurance manages to place the minecart where it belongs.

In fact, it seems dwarves are more than happy to attempt to carry a minecart from one stop to another even if just waiting until the track is open again would be the more sane option.

Dwarves will also carry a minecart to its next stop if the direction specified is incorrect (or invalid). This can often occur when using the default departure settings and forgetting to set the direction of each condition.

Dwarves can admire buildings while riding mine carts. Dwarves will not fall asleep during a ride (at least not from being drowsy). If riding on a continuous powered track loop, the dwarf will die of dehydration/starvation as they can not jump off to get sustenance.论坛贴子 Dwarves riding in submerged minecarts will gain experience in swimming.论坛贴子

Tracks block wagon access to trade depots, unless they're on a ramp. Bridges can also be used, as they function as tracks but do not block wagons.

物理学

Minecart physics depend greatly on the departure mode set in the route stop conditions.

When set to "Push" or "Ride", minecarts will move according to the regular laws of momentum, gaining speed when going downhill, losing it slowly due to friction when on a flat plane, and more quickly when going uphill. In these modes, minecarts will move in a straight line until they either are brought to a stop by friction or an obstacle, or until they encounter a turn. A minecart will roll straight past "blocked" ends of T-junctions or track ends, they have no power to restrict a cart's movement. The cart's behavior is largely independent of the weight of its contents (including fluids and dwarves): heavily loaded carts gain more momentum when accelerating, but this only plays a role in collisions: a heavy cart gains just as much speed and is as easy to stop as a light one. In either case, dwarves can not push nor ride an unpowered cart up a ramp, bouncing back the direction it came. At best, this is a waste of time; at worst, it will give your cart-pushing dwarf a fun surprise. To solve this, the player can either use Rollers (see below) or set the cart to be Guided.

The difference between "Push" and "Ride" is whether the dwarf will go along with the cart or not. Push: the dwarf will give the cart an initial push, not enough to go up a ramp, but enough to go some way along flat track, and the dwarf will remain at the first stop, ready for a new job. Ride: the dwarf will give the cart the same initial push and then hop aboard the cart riding with it to the next stop. Guide: minecarts seem to ignore all laws of physics. That is:

  • Ignore the weight of any and all items inside. Therefore:
    • Move at the speed of the dwarf that is guiding them. It is thus recommended to pick the most agile of your dwarves for cart-guiding tasks.
  • Ignore working rollers.
  • Will not collide with other guided carts even when a full frontal collision would be expected.
  • Will go up ramps like nobody's business.

This is therefore the recommended method of transport for simple non-powered rail systems, despite it diverting a dwarf from other, potentially more important tasks.

Some samples with behavior:

\
 A <-> B    A <-> C               A <-> B
    B          B                     B 
    ║          ║                     ║ 
 A══╝       A══╩══C               A══╬╗
            You can only go A->B     ╚╝
  Works     when the cart          Works     
            is in Guide mode.       

In the second example above, a cart "pushed" from B will go over the junction and roll off into the unknown south.

幕后数学推演

According to early research by expwnent论坛贴子:

The minecart has 3 variables for velocity. Velocity can be thought of as tiles per 100000 ticks, so a velocity of one hundred thousand means a cart travels one tile per tick. By going down a large number of ramps, a maximum velocity of 270,000 can be reached, which presents the limit for most practical applications. Short bursts of (much) higher speeds are possible through carefully planned collisions of high-speed carts.论坛贴子 (See Perfectly Elastic Collisions.)

Every tick the cart adjusts sub-tile position units by the amount of their velocity, as well as adjusts velocity depending on current tile (speed is reduced by the "friction" of the tile, or accelerated if going "down" a ramp). On flat (non-ramp) tiles, the cart will move to the next tile when the sub-tile position goes 50000 away from the centre of the tile, denoted by the no-fraction integer value - tile 15 e.g. has its centre at the exact value 15 and its borders at co-ordinates 14.5 and 15.5.

Since most deceleration and acceleration is applied per step, with the notable exception of corners, a cart going at twice the speed of another one can travel about four times the distance before coming to a stop when going in a straight line, but only twice the distance along a winding track with very many corners.

A push will teleport a cart to the middle of the next tile in one tick with 19990 speed (10 speed is lost due to track friction), while a roller will directly give a cart the roller's set speed (minus friction) and the cart starts accumulating distance from its standing position. When a cart leaves a ramp it will emerge after one tick at the very end of the next regular tile.

Friction of tiles:

Tile Friction Comment
Tracks 10
Ground/Floor 200
Unusable ramp 10
Upwards ramp 4910 (10+4900)
Downwards ramp -4890 (10-4900)
Roller ±100000 (but capped by the set speed)
Corner track 10 Speed reduced by 1000 upon leaving the corner tile
Track stop (highest) 50000
Track stop (high) 10000
Track stop (medium) 500
Track stop (low) 50
Track stop (lowest) 10
Water 1-6 Additional (WaterLevel - 1) * 100 See Skipping
Magma 1-6 Additional (WaterLevel - 1) * 500
Empty space 0

Water of depth 7/7 provides a friction of about 10000 per step. Maximum-depth magma causes at least as much friction, possibly more. This higher friction may not apply to very slow-moving carts.

Impulse sources:

Feature Speed
Push 20000
Roller lowest 10000
Roller low 20000
Roller medium 30000
Roller high 40000
Roller Highest 50000

Note, again, that nearly all of these values are applied per tick, rather than per tile. The exceptions are curves, which is 1k deceleration per direction change at the end of the tile, and rollers, which set the speed every tick. This makes rollers particularly useful in high-deceleration situations, such as underwater, but require that nearly every tile in such high-deceleration situations have a roller.

A cart heading up a ramp can experience deceleration on multiple ticks, (and stays on the tile more ticks the slower it is going, resulting in greater deceleration,) and as such, a cart leaving a "Highest Speed" roller with 50k velocity will not be able to climb 10 consecutive straight ramps, since they are not "5k deceleration each". In fact, the first ramp not on a roller will be -15k velocity, and, depending slightly upon other factors of "remainder" x position, the second may completely cancel forward momentum, and send it rolling back down, where it will bounce off the roller repeatedly. Using rollers to power carts up ramps reliably requires rollers every other un-rollered ramp. Fortunately, rollers can be built upon ramps, themselves, which allows for rollers to only need to be built every other floor. (Exploiting the checkpoint effect can allow one to bypass this requirement.)

There are two important speed values which affect carts' behaviour:

"Derailing" can happen when a cart moves at speeds in excess of 50000 - carts will ignore track corners unless forced to obey them by walls or other obstacles blocking the straight path.

The "shotgun" effect takes place when a collision changes a cart's movement speed by more than 55000: loaded carts subject to such a change eject their contents, which then keep on moving in a ballistic trajectory, in the direction and at the speed the cart had before the collision (with a small random vector added). This effect entirely rides on the amount of speed change - a speeding cart crashing into a wall can be subject to it just as well as a standing cart accelerated by a speedy cart smacking into it. It can even happen when two relatively slow-moving carts (down to speeds below 20000 in extreme cases) collide head-on.

亚格子方位与速度

Carts store six values that are unique to them. Three sub-tile position values, and three velocity values. (X, Y, and Z.)

Note that the Z position and velocity only matter when a cart is in flight. (See Falling and Cart Jumps.)

Each non-ramp tile is functionally composed of 100,000 individual minimal-length positions within the tile in both dimensions. When a cart has velocity, it is added or subtracted from the current position every tick, and then a friction force is applied to the cart.

In essence, every sub-tile position unit is a decimal value of a tile, 0.00001 tiles, in a game that largely prefers integer values.

The exact cart coordinates shown e.g. by a DFHack script must be rounded arithmetically (up or down to the nearest integer) to find the current tile: a cart in the centre of a tile will be at sub-tile zero in all directions, and it will cross into the next tile when subtile value is more than 50 000 higher or lower than the full number.

When carts move beyond the borders of a tile, they physically move a tile on the map, and start at the far end of the sub-tile position the next tile. (I.E., traveling West, a cart that starts a tick 15,000 X away from the border and has an X velocity of -20,000 will move -5000 X past the adjacent border of the next tile in direction -X. It will also lose 10 velocity in that tick due to friction with the track if it is on a track, or 100 velocity if it is on regular ground, or no velocity if it is airborne.)

Ramp tiles are longer, approximately 141,420论坛贴子 in the direction where it "slants downward", (to approximate a 45 degree slope, it is square root of two times longer,) with a centre-to-border distance of 70,710. Because of this, a cart with no velocity dropped from a hatch will land at the center of a tile, 70,710 away from the tile's borders in both directions, and will start rolling in the ramp's "downward" direction, picking up the ramp's acceleration (4890 per tick in the direction of the ramp's "downward" direction) every single tick, then moving that sub-tile amount every tick. (This results in a cart that takes 5 ticks of acceleration to leave its ramp - 6 ticks overall - and to leave the ramp with about 23k velocity, slightly more than a push.) When it enters another ramp facing the same direction downwards, a cart will start at the -70710 or +70710 position, and have twice as far to travel. This means that if a cart enters a ramp from the side, it will gain twice the momentum of simply starting at the midpoint of a ramp.

Note that passing from one direction of ramp to another or to flat terrain causes unintuitive behavior, "teleporting" to the end of another tile in what is called the "checkpoint effect".

Note, however, that all sub-tile positions are carried over from tile-to-tile. This separate tracking of velocity and position between X and Y can lead to problems with diagonal motion:

\
z0  z-1
▒║▒ ▒▒▒
═▼═ ▒╬▒
▒ ▒ ▒║▒
▒   : Wall
═, ║ : Track 
╬  : Track and Ramp

If a cart is passing West-to-East over this setup, the valid ramp to the South will apply "Southward" acceleration to the cart (-Y velocity) as it passes through the ramp tile. Assuming it only spends two ticks in that tile, it will have gained a lasting -5k Y velocity, which will still apply motion Southward. If the cart continues travelling over straight track for another ten steps, it will have accumulated enough Southward motion to try to move a tile South, even if all tracks are facing East-West.

A single tile spent on the ramp will not grant lasting southward motion, because the acceleration will be neutralised through the checkpoint effect when the cart leaves the ramp again, but the cart will be displaced about 5k sub-tiles southward, which can cause it to gain more or less speed than an undisplaced cart when meeting another south- or north-accelerating ramp.

Non-curving tracks do not correct this motion.

They don't "tip back over" without adjustments in the track. Any value of sideways motion on tracks larger than 990 will lead to a derailment. (Lower values will be nullified by friction before they are enough to lead to derailment, but there is currently no way to apply such a small amount of velocity.)

If the tile to the South is a wall at that point, it will be considered a collision with a wall that halts all motion. If the tile is open, the cart will simply leave the track and travel over the terrain beside it. In almost any circumstance, this is undesirable behavior.

The only way to appropriately deal with this is to either cancel out this behavior with an equal amount of acceleration in the opposite direction, or to take a curve.

Note, again, that sub-track position is saved in both directions, so when a cart approaches a curve, it will already have a shorter or longer distance past the curve when it makes the turn.

Curves are applied at the end of a tile. If a cart is moving East, and approaches a North-West track corner at 30k velocity, and friction is eliminated for the purposes of a cleaner demonstration, then when it enters the tile on the western (X coordinate) border of the tile, but in a central North-South (Y) orientation (sub-tile -50k X and 0 Y due to arithmetic rounding), it will then move 30k East (+X) the next tick, and be at -20k X sub-tile position, and 0 Y sub-tile position. Next tick, it is at +10k X sub-tile position, and 0k Y sub-tile position. Two more ticks would take it to +70k X, but that's past the tile border, so it stops at 50k, turns (and thus loses 1k velocity, but translates the rest from X-velocity to Y-velocity) and travels another 20k. It is now at 0k X sub-tile position, and -20k Y sub-tile position (i.e. it's re-set from the end to the middle of the tile with respect to the X co-ordinate). Next tick, it travels at 29k velocity North, and so moves to 0k X sub-tile position, and +9k Y sub-tile position. Then in two more turns, it leaves to the North.

In the case of diagonal motion due to having velocities in X and Y at the same time, it is critical which tile the cart actually tries to enter next. Only if the path into that tile is blocked by the corner branches will the cart take the corner and rewrite its velocity, otherwise it leaves the corner tile without changes to its motion. If the cart is redirected by the corner, all sideways velocity is lost, as forwards velocity overwrites sideways velocity in a curve. If, in that example in the paragraph above, the cart entered at -50k X sub-tile position with 30k X velocity, and 40k Y sub-tile position and -1k Y velocity, it would take that "curve" (or rather, redirection of velocity) on the fourth turn, while it is at 37k Y sub-tile position to start with, and then move to -53k Y sub-tile position at the end of that tick. It would then move to -26k Y sub-tile position in the following turn, and take 3 turns to clear the tile.

But, most importantly, it would be centered in the X sub-tile position, and all sideways velocity is safely removed.

There are two common ways to gain sideways velocity: Rollers facing perpendicular to the cart's travel path (which, as covered above, are almost always a bad idea, as it is easier to push against the travel direction of a cart into a curve, which redirects all velocity in the new direction,) and corner ramps, and require a curved track to compensate for sideways velocity within a few tiles.

轨道方向无关性

Carts that are traveling independently, (that is, not guided,) only care that tracks are on the tile, not which direction the tracks actually move. Tracks respect only curves (with two exits) and ramps.

This means, for example, that the following tracks, when a (non-guided) cart travels from West-to-East, are functionally identical in effect:

\
A════════════B    A╬║╚╔╣╩╦╠╥╨╞╡B

This is because so far as the cart is concerned, only valid ramps and curves with two exits where there is no exit in the path they are traveling matters.

Hence, if a minecart encounters the end of the track or a T junction with no "exit" in its movement direction, it will simply leave the track and continue on its course in a straight line until it encounters an obstacle, slows to a stop, or encounters another track even if the tile at which it joins the new track instantly sends it around a corner.

In fact, in a track designed for pushes or rides, a "║", a "╦", a "╬", and a "╥" are only different in appearance, and are ignored by an unguided cart, which will continue in its current direction, regardless of the track. For any purpose but guided tracks, only curves and ramps matter at all.

Tracks like T-junctions, however, are respected by dwarves guiding carts, who will lift and carry carts if they cannot find a valid track to their destination, and can choose to follow any orthogonal direction at a four-way junction in much the same way as they normally pathfind. What this functionally means is that T and four-way junctions only guide dwarves hauling a cart, not carts, themselves.

Carts only check for curves when they are halfway through a tile. When they get there, they look to see if their path has no exit. (That is, if it is traveling East, it checks if there is an East exit.) If there is, it ignores all other track directions, and keeps traveling. If there is not, it checks to see if there are only two exits to the track, and if one of those directions was the direction it "came from". (That is, if traveling West from the East, it checks if there is a valid exit to the West, and if not, if there is an East exit and EITHER a North or South exit.) If there is not, it ignores the track anyway, and keeps on traveling as though it were still on track.

If there is a curve the cart will respect, it checks for derailment. Carts derail if their speed is higher than 50k. Carts at this critical speed will then check for blockages of their forward path. If there is an obstacle to their path, which may be a wall or even furniture or buildings like a door, they will not derail and respect the curve, anyway. Derailing carts do not "jump" unless they hit completely untracked tile or an invalid ramp, but simply ignore the layout of the tracks entirely. With invalid ramps, this means not respecting the ramp, and likely results in collision with a wall, zeroing of all velocity, and a cart that requires manual retrieval.

If the cart is traveling at a speed that will not derail, or is forced to turn by a supporting wall, it will subtract 1000 from the "forwards" velocity of the cart, and redirect all forward velocity to the direction of the curve. This change in the direction of velocity overwrites any "diagonal" velocity, which can prevent diagonal velocity derailments, but any perpendicular velocity is not preserved, and is instead discarded.

有效/无效斜坡

Ramps are functionally defined for cart purposes as being a tile which exerts an acceleration force upon its "downward slope", and which allows connection to tracks a z-level above or below. This downward slope requires a cart to have at least one track branch touching a wall tile and one and exactly one carved exit to the tile that is the "bottom" of the ramp. Ramps accelerate carts in this "downward" direction (possibly leading to diagonal movement), and the deceleration of an "uphill" ramp is actually just the acceleration being applied against the direction of a cart's movement.

This is where players can find an exploit in the behavior of ramps - if there are two "downhill" exits to a ramp (such as a "T junction" on a ramp where only one exit faces a wall), then the ramp provides no acceleration or deceleration, allowing carts to travel up ramps without any loss of momentum except for the standard "flat track" deceleration, because as far as the cart is concerned, the track is flat. (A T junction is also not a curve, so the track is considered flat and straight no matter what direction the cart is traveling.)

Similar effects can be achieved when there are no "downhill" exits to a ramp. This may be the case if you have, for example, an East-West track with a one-tile channel with a ramp in it. The cart will travel through the "dip" with no change in velocity. It can also be the case if you abuse the Track Direction Irrelevance, and set only exits up the ramp, and none leading down the ramp. For example, if a cart is traveling from West to East up a slope, only carving East exits on each tile of ramp will make the cart travel up the ramp, and then recognize the tile it is on as being a "flat" tile, thus ignoring any deceleration from traveling uphill.

Note that this effect only reliably occurs at below-derail speeds as the cart will treat the ramp as an invitation for a ramp jump otherwise. (This almost always results in a collision with a wall that will stop forward progress.)

坠落

When falling, a minecart appears to cause no damage upon collision, possibly to allow cart "stacking" across Z-levels.模板:Cite devlog A dwarf riding in a minecart that is dropped multiple z-levels suffers normal fall damage. Minecarts can fall through up/down stairs.

While airborne, carts do not feel the effects of friction in any horizontal direction, and will continue until they strike an obstacle. Carts that land on tracks instantly re-rail themselves regardless of track directionality.

Falling carts accelerate similarly to the way that a ramp will accelerate a cart in a special z-only velocity that only applies to airborne carts. (Actually, since a tile is notionally 1.5 times as high as it is wide/long, acceleration due to gravity in freefall appears slightly slower than ramp acceleration, since it has to move the cart (or any other object) a greater distance.) Ramp acceleration, while it logically should be partially z-directional, is only recorded as x- or y-directional, and there is no translation of z-directional velocity upon landing. Landing carts zero out their vertical velocity upon landing, even when landing on ramps, although carts that had horizontal momentum while falling preserve it.

This means a cart falling onto a track ramp is accelerated as if starting from the middle of the ramp - i.e. to the same speed, no matter how many Z-levels it was dropped, vertical velocity is negated. 论坛贴子 As a consequence, the fall damage to passengers is also negated.

Carts falling onto a floor can, however, cause damage to creatures one tile below the floor. This can be used in an exploit called a "thumper", where carts are caused to repeatedly fall on a floor above an entrance to the fort, inflicting significant damage (as though it were a collision) on those below the cart.

矿车飞跃

Carts that cross off of "up" ramps relative to their current direction of travel, which do not have a ceiling above them, are traveling above derail speed, and do not have valid ramp track before them can translate a portion of their horizontal velocity into vertical velocity, causing a cart to be projected into the air until vertical velocity is negated and overcome by the gravitational acceleration. Because downwards acceleration is applied per-tick, this creates a reasonable facsimile of the parabolic motion of an actual object rolled up a ramp and launched with significant speed.

\
z0             z0 hiding ramps  z+1 A          z+1 B (hidden ramp)
▒▒▒▒▒▒▒▒▒▒▒▒   ▒▒▒▒▒▒▒▒▒▒▒▒     ▒▒▒▒▒▒▒▒▒▒▒▒     ▒▒▒▒▒▒▒▒▒▒▒▒
═▲▲▲▲▲══▲▒▲═   ═╚╚╚╚╚═══▒══      ▼▼▼▼▼  ▼═▼       ▼▼▼▼▼  ▼╚▼ 
▒   : Wall
═ : track 
▲  : Ramp

In this diagram, if there is no ceiling above it, the track in z+1 A will launch its carts airborne when they travel across the ramp. z+1 B (with a ramp on the tile on the hill) will not launch the cart. The cart would also not be launched with any valid ramp, even if it does not travel in an appropriate direction, such as North/South (which the cart will ignore, as it is not a curve, anyway, although it may produce acceleration that may cause diagonal movement.)

Carts that are traveling at derail velocity will also start "jumping" from the track if it hits an un-tracked tile, flying over and ignoring any tracks until it is ready to land. Carts that land upon tracked tiles re-rail themselves, and clever designers use this feature to jump over curved track sections in one direction or another. (Retracting bridges over untracked tiles can cause jumps or not cause jumps depending upon the status of the bridge.) Minecart speed must be carefully regulated to ensure reliability of jump length.

Hitting untracked tiles at around 70k velocity creates a vertical component to acceleration that allows for jumps of around 6 (horizontal) tiles that do not actually leave the z-level the cart is on, but which do apply z-direction velocity on the cart, as per falling.

Carts that approach a downward slope at a high enough velocity will also make a jump, (or rather, ignore the ramp and fly forwards) but will not do so if the Checkpoint Effect is exploited through an impulse ramp before the actual downhill as the impulse ramp "tricks" the cart into thinking it has already started going downhill.

跨越

If a minecart is moving fast enough, it can skip over water or magma, making splashes of mist (or magma mist) as it attempts to move on them horizontally. This horizontal movement is independent of the minecart and its content's weight.

Skipping causes significant friction on the cart, and even a cart going at max speed from ramps can only make about 50 tiles without requiring re-acceleration. (Carts that decelerate enough that they do not trigger the skipping effect will, of course, sink.)

拐角斜坡脱轨

Corners on upward ramps can cause diagonal movement, forcing a derail even if the cart has a wall next to it, which will force a stop when it touches a wall that forces dwarves to manually reset the cart.

This is caused by the fact that a cart, after turning the bend in the track and entering e.g. a flat tile, will be subject to the checkpoint effect which applies 5k acceleration opposed to the last amount of ramp acceleration it received. Since the cart has just passed a corner, this compensatory speed adjustment now goes to the "outside" of the corner and creates enough lateral velocity to carry the cart off the track after eleven steps. (Down corner ramps do not have this problem, as the downward direction is in line with the past-corner movement direction and the checkpoint effect works on the only remaining movement vector.)

There are two fixes to this problem. One is to simply not put corners on up ramps. The other is to "cancel" the lateral speed after a cart has passed the ramp, either by sending the cart through another corner or by putting a high-friction track stop on the exit tile. In the latter case, the cart will lose 10000 speed in the desired direction, but the same speed loss will apply to the undesired lateral speed, nullifying it.

检查点效应

The checkpoint effect, explained in depth by Larix, is an odd and highly exploitable feature of ramps where minecarts "teleport" through the next tile of track, ignoring nearly all minecart physics (except that they stop at all walls or other obstacles and only respect curves with no backing wall and invalid ramps if they are below derail speed) and passing through that tile in just a single tick, and to the very end of the next tile.

This effect occurs when a cart leaves a downward ramp for any other direction of tile. (This includes ramps which accelerate in different directions, even a ramp which goes from accelerating East to accelerating North due to a bend in a chain of standard down ramps in a curve.) This allows, for example, two valid straight ramps directly next to one another with a cart dropped onto one or the other with no momentum to have the cart pick up acceleration going "down" the ramp as normal, but then flying up through the "up" ramp it travels into with no loss of momentum, as though it had come from an impulse ramp. If the two ramps had at least one space of distance between them, and then a cart were dropped in, the cart would instead "rock" back and forth between the two ramps.

This seems to be because ramps have a slightly longer length than regular tiles - 141,420, rather than 100,000 distance. When this "snaps back" after a ramp, it seems to project the cart suddenly further along the track, making it jump a tile ahead even when otherwise moving at relatively low speeds.

This bug is the cause of a wide array of unexpected behavior among people who do not take this bug into account. It causes derailments or failure to climb up seemingly valid impulse elevators. In general, it makes a system that behaves extremely counter-intuitively, and operates any time a cart encounters a valid ramp. At the same time, when its effect is accounted for, it is highly exploitable: It causes "perpetual motion devices" using no power when two opposing ramps are placed next to one another, since the "uphill" effect of the opposing ramp is ignored, preventing deceleration.

Another useful thing to note about this exploit is that carts traveling at no less than 71,000 or so speed (enough to travel half a ramp tile in a single tick) can travel through every tile in just one tick at no change in velocity as long as the tiles alternate between impulse ramp or actual down ramp and any other tile type. The cart checkpoints through the non-down-ramp tiles, and can pass through the (impulse) down ramp tiles in a single tick, before they can actually start gaining momentum.

\
 ▒▒▒▒▒▒▒▒▒▒    ▒▒▒▒▒▒▒▒▒▒ 
═▲═▲═▲═▲═▲═   ═╚═╚═╚═╚═╚═ 
▒   : Wall
  ═ : Normal track 
▲/╚ : N/E Track/Ramp

If the cart enters from the West at less than 72,000 speed, some of those ramps will cause Eastward acceleration.

This means that an impulse ramp not contiguous to other impulse ramps has a top speed of around 75k:

\
▒▒▒▒▒ ▒▒▒▒▒
▒╔═╗▒ ▒╔═╗▒
▒╚▲╝▒ ▒╚╗╝▒
▒▒▒▒▒ ▒▒▒▒▒

This setup makes a cart that travels clockwise at a speed that fluctuates around 75k velocity. If the cart has more than 72k velocity, it fails to accelerate in the ramp, as it leaves the ramp in a single turn due to checkpointing to the halfway point. After that, the curves sap 1k velocity, and every tick saps 10 velocity.

Two contiguous impulse ramps with a same-facing "downwards slope", however, do not suffer the checkpoint effect in the second tile, giving functionally triple the space to accelerate. This means it will add velocity (at the standard rate of 4.9k per tick) up to a maximum speed of 216k.

\
▒▒▒▒▒▒ ▒▒▒▒▒▒
▒╔══╗▒ ▒╔══╗▒
▒╚▲▲╝▒ ▒╚╗╗╝▒
▒▒▒▒▒▒ ▒▒▒▒▒▒

This example results in a cart moving three times as fast as the previous cart.

Three successive ramps results in the highest attainable speeds.

In practical terms, this means that only consecutive ramps should be used for high acceleration, but singleton ramps can be used to have speeds that are somewhat regulated.

叠罗汉

If a minecart lands on top of another minecart, they may form a stack, with the upper cart on the z-level above the lower. Subsequent carts do not form a stack, but rather quantum stockpile in the same space. This behaviour is useful for megaprojects and trap design with minecarts as the weaponry. Moderation should still be exercised: carts take longer to fall into a "stacking" tile already occupied by other carts and will spend that time "hanging" in the air above the stack. This can lead to following carts striking them, which can cause all kinds of malfunctions. The extra time is two game steps for every cart already in the stack, which doesn't hurt stacks of ten carts very much but makes stacks of 100+ rather impractical.

These minecarts on the upper level generally need to be struck with another minecart to move out, or have their support removed. The latter option is safest done by shooting it away with another minecart, manual removal of a stack-supporting cart typically causes the next cart from the stack to fall on top of the hauler.

完全弹性碰撞

Minecart collisions are perfectly elastic, meaning that not only do minecarts not take damage, but that two carts that are rolling which have frontal collisions of near-similar speed, and where one cart is no more than twice the mass of the other cart, will result in a billiard-ball-like effect of the lighter cart bouncing off the heavier cart with a proportional speed increase dependent upon the relative momentum behind the heavier cart.

Using this trick with carts already at the 270,000 maximum speed from ramps can result in "supersonic" carts traveling at speeds in the millions (travelling a dozen tiles per tick), but where they are suddenly subject to 10,000 units of "terminal velocity" friction per tick. Thread with SCIENCE here.

While hypothetically capable of launching a minecart into orbit when used in conjunction with a ramp, no cargo can be contained in the launched cart, as the collisions will force ejections of the cargo. Your "unwilling volunteer" goblin space pioneers will simply become paste underneath the wheels of an extreme high-speed cart.

非标准用途

Minecarts include some interesting characteristics that have motivated uses beyond hauling. They can be useful for creating fully-automated quantum stockpiles, garbage disposals, water reactors, and portable drains. Storing perishable goods (meat, meals, etc.) inside a minecart appears to guard against rot and vermin. Minecarts can be used as weapons, or as (hopefully non-fatal) triggers to restart stalled healthcare. They can also be used to time/control game events, either using a basic repeater or much more advanced minecart logic. Minecarts trigger pressure plates, which means a trap can be designed to trigger when a thief attempts to steal a minecart. A pressure plate can be used as automatic and more precise custom "launch when full enough" system - as long as weight of your minecarts stays the same. You cannot build a hatch or roller on the same tile, so launch by bumping with another cart. 论坛贴子 Dwarves riding minecarts can attack enemies within reach (which goes back to dev log). This applies to shooting, and they actually can hit targets while riding by.论坛贴子 Whether a minecart protects the rider and how it interacts with dodging is not known yet. Minecart riders can also train swimming and detect ambushers.

冒险模式

In addition to being used for hauling, minecarts can also be ridden in adventure mode. (Adapted from forum thread 论坛贴子)

  1. If the minecart is in your inventory, drop it. If it is already on the ground, proceed to step 2.
  2. Press u when you are 1 tile away from the minecart (or standing on the same tile as the minecart).
  3. You will be presented with the following options:
Minecart adventure mode menu.png
  • If you Push the minecart, it will move a few tiles in the direction you chose. Physics comes into play here, so it will gain/lose speed depending on the usual factors.
  • If you Ride the minecart, you will hop into the minecart, even if you were a tile away, and it will move in the chosen direction with you in it. It will gain/lose speed depending on the usual factors. Whilst the minecart is in motion, you should press . to skip your turn; if you attempt to move whilst the minecart is still in motion, the laws of physics come into play, and you will take damage. However, it is currently possible to jump out of a moving minecart safely.BUG #10104 Alternatively, you can push the minecart whilst it's still in motion (although it's unclear how one can bend physics so as to push a moving minecart whilst inside the minecart). If you push it in the same direction you are already travelling in, you will greatly increase the minecart's velocity. You can also push it in different directions, and this will cause it to gradually change direction-the amount of pushes this requires depends on the minecart's velocity. Once the minecart has stopped moving, you may move out of it safely, or you may want to give it another push. Note that if you push a minecart right after having ridden it (still on the same tile as the minecart), it will act as though you chose to ride it.
  • When the minecart is on a track, options appear to Guide it in directions that the tracks lead. This moves the cart 1 tile in the direction it is guided. Guiding the cart is the only way to move a minecart from a maximum friction track stop (other than taking it into inventory.)

Minecarts in adventure mode are not restricted by a lack of tracks. However, they are hindered by natural ramps. Attempting to go up a slope will lead up the cart slamming into the wall. The good news is you'll make it over the ramp. The bad news is you likely won't stick the landing.

Note that while carts are a powerful weapon if heavy and fast enough, they have their limits, and a collision can sharply reduce the speed of a cart depending on what you hit, potentially enough to eject the rider. Trying to run over a human will send them flying, while trying to ram a dragon will not end well.

If you want to test this out without creating an adventurer, the object testing arena allows you to spawn minecarts (k-c-n)

锻造与熔化

  • 锻造一辆金属矿车需要花费 2 根金属条锭,或者 6 块精金薄片。
  • 熔炼一辆非精金的金属所制成的矿车,会返还 1.8 根 条锭,效率为 90%
  • 熔炼一辆精金质成的矿车,会返还 1.8 块 薄片,效率为 30%

另请参见

漏洞

  • 如果一位矮人手中抱着婴儿,那么在她登上“乘坐”方式运行的矿车时会把孩子抛在一边。
  • 矮人们对于交通安全毫无概念,会为了取回物品而横穿矿车路线,从而产生致命的后果。在一些更为智能的应用场景当中,由此带来更加麻烦的问题,因为在这些场景中都依赖于矮人更加频繁地乘坐矿车,而矮人们却有着在乘坐矿车后直接把衣服扔在轨道上的坏习惯。您可以在乘车路线的终点处添加一扇自动运转的活动盖板,用来避免意外事故的发生。
  • 矮人们无法将矿车引导通过一扇并未上锁的门,除非有另一个矮人过来把门打开。BUG #6056
  • 如果有一个生物和一辆矿车同时向对方的方向移动,并且他们在同一时间刻移动到对方所在的方格,那么它们之间就不会发生碰撞。
  • 在乘坐矿车结束时,矮人有时候会把矿车给搬运到储物堆里去,然后会有另一个矮人把矿车再带回路线上。
  • 坠落在楼板上的矿车会伤及位于楼板下方一层方格上的生物。BUG #6068
  • 如果一辆高速移动的矿车撞到了墙体上,那么它所装载的物品可能会穿墙飞出,甚至可能会卡在墙体里面。BUG #5996
  • 若矿车是被推动出发,或由卷筒驱动,那么它的初始速度将不受其重量的影响。BUG #6296
  • 移除有车辆停放其中的站点,可能会导致游戏崩溃。BUG #5980
  • 从运动中的矿车跳出不会受伤。BUG #10104
  • 跳进静止的矿车可能会导致重伤。BUG #10229