TC Destinations

TrainCarts-Addon which allows you to manage destinations in a more advanced way.

393

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)

ADS