This add-on for Traincarts adds invisible rollercoaster track to Traincarts. You can now have trains move or fly anywhere, roll around the rails and connect with other types of track. The custom track can be interactively edited and require no external tools or scripting knowledge.
Be aware that between Minecraft 1.17 and 1.18 the leashes have a visual glitch to them.
A fix is available here.
Use /tcc give to get yourself a coasters editor map. Hold this map item to get started.
Switch the selected mode between hidden/create/position/orientation/rails/remove using the A/D keys. To start, press D once to switch to create mode
Move the map item into your other free hand using F. You can now move around while holding the map in your other hand.
Right click on the ground or in the air to create a new node.
Right click again and a new node is created connecting to the previous
Repeat the above to make a small section of track
Left click anywhere to deselect. Left click while looking at a node to select it.
Hold shift while left-clicking to toggle select one or more nodes
Double-left-click to mass-select all nodes of the track
Select one node and double-left-click while holding shift, and it will select all nodes in-between.
Switch to position node and you can move selected nodes by holding the right mouse button.
To connect two nodes together, select them both and do create node. Alternatively, you can drag one node on top of the other in position mode.
To split two connected nodes, select the two nodes and do a remove node. It will disconnect them.
Signs can be placed where the designated rails block is for the node. Switch to rails mode in the editor to see where these blocks are. You can change the position of the rails block by right-clicking on a block while this menu is selected. This way you don't have to put signs where the track is.
Animations can be added, which act as restore points between which tracks can be animated. Select the animation to make changes to different positions/states of a node.
Tutorial in Dutch/Belgian by The BelgiumGames:
Permissions:
[ train.coasters.use ] Grants players the ability to use TC-Coasters anywhere. Main permission.
[ train.coasters.plotsquared.use ] PlotSquared integration: players with this permission can make changes to coasters inside plots they are member of
[ train.coasters.lock ] Players can lock/unlock coasters, preventing or allowing players to make changes to them
[ train.coasters.build.animator ] Players can build the tcc-animate sign
[ train.coasters.import ] Players can import (download) coaster CSV contents from Hastebin servers
[ train.coasters.export ] Players can export (upload) coaster CSV contents to Hastebin servers (default: https://paste.traincarts.net)
Commands:
/tcc give - Gives an interactive Map editor for creating, adjusting and removing coaster tracks
/tcc undo/redo - Undo or redo last changes you made
/tcc reload - Reload all coasters from disk
/tcc save - Forces a save to write all pending contents to disk
/tcc copy - Copies the selected nodes to the player's clipboard
/tcc paste - Pastes the contents of the clipboard at the player's position, aligned by block, rotated based on how the player looks
/tcc cut - Copies and deletes the selected nodes
/tcc delete - Deletes all selected nodes
/tcc lock - Locks the selected coasters so that no more changes can be made to it, unless unlocked. Requires permission.
/tcc unlock - Unlocks the selected coasters so that they can be modified again by players. Requires permission.
/tcc export - Exports all selected nodes as a coaster CSV file, and uploads it to a Hastebin server ( https://paste.traincarts.net by default)
/tcc export nl2 - Exports in NoLimits2 CSV format instead
/tcc import - Imports the coaster by downloading from a Hastebin server. Supports TCC CSV format and NoLimits2 CSV format)
/tcc export (nl2) [filename] - Exports the coaster to file, saved to the plugins/TCCoasters/export directory.
/tcc import [filename] - Imports the coaster from file. Place the .csv file to import in the plugins/TCCoasters/import directory. It is possible to import from the export directory as well.
Advanced commands:
/tcc posx [value] - Sets the x-coordinate of all selected nodes
/tcc posy [value] - Sets the y-coordinate of all selected nodes
/tcc posz [value] - Sets the z-coordinate of all selected nodes
/tcc posx add [value] - Adds a value to the x-coordinate of all selected nodes (moves it). Works for posy/posz too.
/tcc posx align [value] - Sets the x-coordinate of all selected nodes relative to the current position block
/tcc posx average - Sets the x-coordinate of all selected nodes to the average value of all selected nodes. Works for posy/posz too.
/tcc orientation [x] [y] [z] - Sets the orientation (up-direction) of all selected nodes
/tcc orientation (up/down/north/etc.) - Sets the orientation (up-direction) of all selected nodes to a given face
/tcc rail [x] [y] [z] - Sets the rail block of all selected nodes to the coordinates specified
/tcc rail (up/down/north/etc.) - Moves the rail block by one block
/tcc railx (add/average) ([value]) - Similar to posx/y/z, but for the rail block position of all selected nodes
/tcc rail reset - Resets the rail block to the default position (where the node is located)
/tcc animation select [name] - Selects an animation, so that all future changes to nodes that have this animation will be saved under this name
/tcc animation play [name] [time] - Plays an animation by name for all selected nodes, with a time duration in seconds
/tcc animation add [name] - Creates a new animation with the given name for all selected nodes, overwriting previous ones
/tcc animation remove [name] - Removes an animation from all selected nodes
/tcc animation clear - Removes all animations in all selected nodes
Misc: Coasters are saved as .csv files in the plugin configuration folder. These can be read or written by scripting languages if so desired. There is bare-metal builtin support for importing No-Limits coasters .csv file formats.
Track Objects: As of version 1.16.1-v1 it is possible to place track objects on the wires connecting the nodes. These objects are also visible when the editor map is in 'Disabled (invisible)' mode. You can place armorstand-held items or floating blocks to the wires.
Switch to the Track Objects menu in the editor
Navigate down to the big button showing a block/item
You can press left/right to change the type of track object
You can press spacebar to change the type of block/item displayed
Now you can right-click on wires to place down the configured object
Left click them to select/deselect, similar behavior as track nodes is supported
Right-click drag to move the object
While dragging, left-click once to duplicate the track object
Select two or more track objects, drag them, then left-click once to make a duplicating 'train' of objects
You can use the delete button or /tcc delete to remove selected objects
The object position relative to the wire can be configured by entering the position button
Width changes how the track object is oriented on curved track. Use this to place objects end-to-end
Object may be quite laggy, custom track models are recommended
FAQ:
It does not work!
Make sure to install the latest versions of Traincarts and BKCommonLib. Links are at the top of this page.
Why are the tracks invisible? I want to show cool custom 3d models of rollercoaster track where the tracks are!
As of 1.16.1 you can add track objects to the track, where you can configure your own custom item/block models!
How do I hide the ugly signs?
Use the rail tab of the editor to change what the rails block of a node is. You can then hide the signs you want to place somewhere unseen.
Supports 1.8?
Sort of. The plugin will function, but there are some visual glitches because of Minecraft client limitations. When editing rails blocks, you will notice these blocks falling due to gravity, for example. Functionally though, everything will work fine!
Supports NoLimits2?
Yes, you can place NoLimits2 CSV format files in the world directory of TC-Coasters, and they will be recognized. You can also use the import/export commands to convert.