TrainCarts allows you to perform actions on trains or single cars using signs.
Structure and Behaviour
A sign is always structured the same way. The first line contains either *cart* or *train* depending on if you want to target each cart separately or the train as a whole. It is worth to note, that not every sign allows targeting of a single cart.
Signs can either be powered by or activate Redstone themself.
Some signs may require you to power them using Redstone. Some common examples are stations or spawners. In order to power them will you just need to put a power source next to the sign. A power source can be Redstone dust (Doesn't require to point into the sign), levers, buttons, etc.
If you want to have the sign to be always active without the usage of Redstone can you either add an exclamation mark (!) or a plus (+) in front of train or cart, becoming [!train] and [!cart] respectively. Note that both will alter how the sign may output a Redstone signal itself. For the exclamation mark will the input and output be inverted and for plus will it be constantly active while ignoring any outside Redstone input.
In addition, may a sign also power Redstone, by having a lever attached to the block they are attached to themself. When a specific action is performed (i.e. a Trains stops on top of a station sign) will the lever be activated, allowing the Redstone or Redstone Component to get powered. As mentioned above, would using an exclamation mark before train or cart invert the Redstone state it would give. An active state would not give out any Redstone signal while an inactive will.
You may further change what cart/train is targeted, by adding a colon (:) after either cart or train, followed by one or multiple direction(s). For example, [train:lr] on a switcher sign would activate a lever when a train enters from either the left or right direction and doesn't for the remaining ones.
Depending on the sign can you add further customisation to target specific carts/trains or to perform certain things based on conditions. Please check the sign's specific page to check if it allows such further customisation.
A few sign systems support remote control: the ability to control trains by name. You then use the [train <name>] format, or the shorter alias [t <name>]. Remotely controlled signs only respond to redstone changes, thus where you place them is not important. So far the property, destination, destroy, eject and setblock sign systems support remote control.
Remote control can also affect multiple trains. Just like the tag system, remote control uses *-signs to identify the trains to affect. For example, the following remote control sign will set the destination to home for all intercity trains:
the setblock sign works too!
You can use this to recall all your trains easily. If you use tags to navigate trains, you can also add a tag saying that the train should return. Remote control signs only respond to redstone changes.
Each sign targets a certain track piece above. Signs attached to walls take the block they are attached to and look up until they find a piece of track. That track is then used for that sign. Sign posts look up until they find a piece of track. There may not be blocks without signs between the bottom sign and the tracks.
You can make a pillar of blocks below a single track piece and attach signs to it, to make a bundle of actions on a single track piece. Trains look down when they enter a new track piece to check for signs, so make sure you put the output signs above the signs that use this output for correct results.
A noticeable exception would be add-ons for the TrainCart plugin, which may change the (relative) position a sign would need to be placed on in order to work for the track. For example, would the TC Hang Rail add-on require you to add the signs above the Hang rail track to work, while the TCC (TrainCarts Coasters) add-on uses the block of a node for the sign, which can be moved to any other block.
For most signs the sign direction influences what happens:
- The train has to face the text on the sign to make the sign respond
- Signs with the same alignment as the tracks (faces to or away from the tracks) always respond
- The train is spawned in the direction the sign faces
- Animator - play an animation configured in the train's attachments
- Announce - sends a message to players in the cart and/or train above
- Blocker - blocks trains coming from a certain direction
- Block Changer - change the block types displayed in a minecart
- Crafter - crafts items inside the storage minecarts of a train using a nearby workbench
- Destination - marks a destination for the path finding and sets the next destination for the train
- Destroyer - destroy trains
- Detector - detect trains on a set region of rails
- Effect - plays a particle or sound effect at the minecart, train or sign
- Ejector - eject trains (let passengers exit)
- Elevator - teleports trains including passengers up and down to another elevator
- Enter - lets nearby players and/or mobs enter the train
- Flip - Lets you flip a cart 180 degrees
- Launcher - launch or brake trains to start moving at a desired speed
- Mutex - acts as a cuboid barrier in which only a single train is ever allowed to be
- Property - set properties on the train such as tags, destinations and owners
- Skip - skips execution of signs up ahead based on statements
- Sound - plays a named sound effect
- Spawner - spawn an entire train, cart types can be set
- Station - stop and launch trains
- Switcher - switch levers and rails based on properties on the train
- Teleporter - teleport trains including passengers (requires MyWorlds)
- Transfer - transfer items between trains and chests/furnaces/dispensers
- Trigger - display train information and a countdown of the arrival time of trains on signs (requires SignLink)
- Ticket - let passengers pay for a ride (requires Vault)
- Waiter - waits the train until the track is clear of other trains
Add 'chunks' to signs to replace 'keepchunksloaded'.
Each sign has a separate build permission. Below the permission nodes for the above sign types: