TC Destinations
TrainCarts-Addon which allows you to manage destinations in a more advanced way.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
TC Destinations
TC-Destinations
Requires: TrainCarts, CTCommons and a MySQL-Database
Minecraft-Version: 17 or above Minecraft-Version: 1.17.1 or above
TC-Destinations is a plugin for Minecraft servers using SpigotMC, PaperMC or forks of these projects. It serves as an add-on for the TrainCarts plugin and comes along with a bunch of features to manage destinations in a more advanced way. It is very lightweight as database queries and network connections run completely asynchronously.
This plugin was developed for the CraftTogetherMC Minecraft server, see also: TC-Portals!
A big thank you and lots of love go out to TeamBergerhealer
Also, a lot of appreciation goes to the people behind Cloud and Adventure!
Dev-Builds: See here
Features:
- Fancy paginated list of destinations (Works cross-server in a BungeeCord network) - Manage your destinations in a more advanced way - Teleport to your destinations - Set up multiple enter-messages with clickable texts using MiniMessage - Dynmap integration *(A marker is created on the map for each destination)* - Commands to get mobs on/off train(s). - All root-commands renameable - All texts can be customized
Choose your destination with `/destination`

Clickable paginated list of all your saved destinations `/destinations`


Set up multiple customized enter-messages *(enterMessages.yml)*

Commands & Permissions:
Select a Destination
| Command | Permission | Description | |:--------------------------------|:--------------------------------------|:----------------------------------------------------------------------------------| | `/destination` | craftbahn.command.destination | Shows basic information about using the command | | `/destination <name>` | craftbahn.command.destination | Sets the specified destination to the currently selected train | | `/destinations [type]` | craftbahn.command.destinations | Shows a list of all destinations | | `/destinations [type] [filter]` | craftbahn.command.destinations.filter | Shows a filtered list of all destinations Filter flags: `--server` `--player` |
Manage your destinations
| Command | Permissions | Description | |:---------------------------------------------------------|:----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------| | `/destedit info <destination> [server]` | craftbahn.command.destedit.info | Displays detailed information about the specified destination | | `/destedit tp <destination> [server]` | craftbahn.command.destedit.teleport | Teleports the player to the specified destination | | `/destedit add <destination> <type> ` | craftbahn.command.destedit.add | Adds a new destination with the specified station type | | `/destedit remove <destination> [server] ` | craftbahn.command.destedit.remove | Removes an existing destination | | `/destedit addmember <destination> <player> [server]` | craftbahn.command.destedit.addmember | Adds a secondary owner to the specified destination | | `/destedit removemember <destination> <player> [server]` | craftbahn.command.destedit.removemember | Removes a secondary owner of the specified destination | | `/destedit settype <destination> <player> [server]` | craftbahn.command.destedit.settype | Specifies the type of specified destination | | `/destedit setowner <destination> <player> [server]` | craftbahn.command.destedit.setowner | Sets the owner of a destination | | `/destedit setprivate <destination> <player> [server]` | craftbahn.command.destedit.setprivate | Specifies that this target is private. Only players with permission `craftbahn.destination.see.private` can use and see it | | `/destedit setpublic <destination> <player> [server]` | craftbahn.command.destedit.setpublic | Sets this game to be viewable by all players. (This is the default setting for newly created destinations) | | `/destedit setwarp <destination> <player> [server]` | craftbahn.command.destedit.setwarp | Sets the teleport point of this target for players | | `/destedit setlocation <destination> <player> [server]` | craftbahn.command.destedit.setlocation | Specifies the position of the destination (Mainly used to locate dynmap markers) | | `/destedit updatemarker <destination> <player> [server]` | craftbahn.command.destedit.updatemarker | Renews all markers to be displayed on the dynmap |
Additional commands
| Command | Permission | Description | |:----------------------|:---------------------------|:------------------------------------------------------------| | `/mobenter [radius]` | craftbahn.command.mobenter | Allows animals around the selected train to board the train | | `/mobeject` | craftbahn.command.mobeject | Ejects all animals from the selected train |
Pathfinding across servers (BungeeCord)
If you're using TC-Portals to create cross-server portals, with a little extra work, it is possible to reach destinations on another server.
For example, if you want to drive from server1 to a destination on server2, you need to create a destination on server1 that leads to the portal, which leads to server2. Let's name it server2 as well.
If you now run `/destination` to set a destination, for your train and the destination is on another server, TC-Destinations will create a route for the train. The route then firstly contain the destination: `server2` and then afterwards, the destination you want to reach.
Thats it!
F.A.Q
Can I use this plugin without Bungeecord?
Yes you can.
I don't want other servers' destinations to be listed. What can I do?
Just use separate databases or table-prefixes for each server
Libraries used
- CTCommons (CraftTogether's plugin library) - BKCommonLib (Extensive plugin library) - Adventure (Very neat UI-Framework for Bukkit/Bungeecord and more) - MiniMessage (Text format to represent chat components) - Cloud (Command Framework) - HikariCP (High-performance, JDBC connection pool) - MariaDB Connector/J (JDBC-Driver)