Excursion
Excursion — A teleport plugin for Bukkit
Excursion is a teleport plugin for Bukkit which remembers each player's previous location in each world.
Please post bugs and/or feature requests as dev.bukkit.org tickets.
Features
-
When leaving a world (via the
/visit
command), the player's location within that world is saved. When the player revisits that world, they are teleported to their saved location. -
Worlds can be blacklisted/excluded from this behavior, forcing players to always teleport to the world's spawn point.
-
Worlds can be grouped! When a player leaves a grouped world, in addition to the player's location, the player's world is also saved. When the player revisits that group, they are teleported to the exact world and location they left from.
To make things clearer, suppose there are 3 worlds: WorldA, WorldB, and WorldC. WorldA and WorldB are put in a group with WorldA as the "primary world." When a player visits this group for the first time (by using
/visit
on either WorldA or WorldB), the player will teleport to WorldA's spawn point.Let's now say the player is in WorldB and visits WorldC. When the player returns to the group, they will teleport back to their saved location in WorldB.
NOTE: Due to the nature of grouping, some other method must be used to allow players to move between worlds of a group — for example, nether gates and portals.
-
Worlds (and groups) can have aliases.
-
A delay may be configured per world (or group). When a player leaves that world with the
/visit
command, they will be forced to wait the configured number of seconds before actually being teleported away. With a delay enabled, you may optionally configure that the teleport be cancelled if the player attacks, receives damage, or moves a significant amount.
Installation & Configuration
Simply drop Excursion.jar in your Bukkit server's plugins
directory. Start up your server. This will create an Excursion
directory and default config.yml
within the plugins
directory. See that file for configuration details.
Commands & Permissions
The basic command is:
/visit <world>
Where <world>
is the name of a world or a group.
/excursion reload
Re-reads config.yml.
Permission nodes are:
excursion.visit
- Allows use of the/visit
command.excursion.visit.now
- Allows the use of the-n
(or--now
) option with the/visit
command. This bypasses any delay configured into the current world.excursion.visit.other
- Allows specifying a player with the/visit
command, e.g./visit creative ZerothAngel
. This may be useful for scripts or other situations where commands are executed automatically.excursion.access.<world>
- Allows visiting<world>
. You must use the exact name of the world directory in your server directory!excursion.access.*
- Allows visiting all worlds.excursion.reload
- Allows use of the/excursion reload
command
Operators have all permissions by default.
License & Source
Excursion is released under the Apache License, Version 2.0.
Sources may be found on GitHub:
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
- Excursion (Requires ToHPluginUtils.jar)
- Excursion-standlone (includes ToHPluginUtils, like the version distributed on dev.bukkit.org)
To Do
- Automated or manual cleanup of stale saved locations.
- Perhaps simple import/export to allow for easier database schema upgrades.
@ZerothAngel
Thanks. That was the last thing this plugin needed to be perfect. Great job!
@Co0sh
Thanks for the suggestion! has a new per-world option,
move-cancel
that will do just that.I will probably aim for a release this weekend.
Could you add an option to cancel teleport warm-up by moving? This way players won't be able to run away from danger even if they won't receive damage.
@rsmKaelub
I added a switch to /visit and also made it optionally accept a player. The switch (
-n
for "NOW!") and specifying a player can only be used by those with the following permissions:excursion.visit.now
excursion.visit.other
Both permissions are given to OPs by default. So
/visit -n <world> <player>
would teleport that player immediately.It's available now as a Also I realize it's been a while since the last release, and there have been a number of little changes since then, so I'll be submitting it to DBO later today. (Probably be approved in a day or two.)
Thanks for the feature request!
@ZerothAngel
YES! A permission for it would be a must, however, if it's OP only then it would work fine for my case. Command blocks run commands from the console, but a player can be select as @p = nearest player, therefore, having a command like: /visit <world> <player> would be optimal (OR "/visitx <world> <player>" for no wait time).
I use command helper to customize this for my purposes. I use an ifelse with world check, and we use essentials to "sudo" commands to users IE. /sudo <player> <command>. In combination of these, we have pressure plates that can tele you to and from worlds (or they can use commands if they wish). If we had 1 command that would make them wait 120 seconds and another command to bypass the time, we could make them run a command as OP but still be from their player.
Let me know if you'd like any more info.
@rsmKaelub
There's no way to do that now, but it is a good feature request. I'm guessing the use of the override command or switch would be protected by a permission? Would this be ok?
I haven't played around with command blocks yet, do they execute commands as the console or as the user? (If it's the user, then that might be a problem...)
Also, I guess you might need a command to do a third party teleport, since /visit is for the current user.
I'll see what I can do.
It would be awesome if there was an additional command that would override the "wait time". In my setup, I have people waiting 120 seconds to travel from pvp to creative, but creative to pvp has no wait time. I would like to setup a command block in the pvp spawn (which is protected) that would teleport a player to creative with 0 wait time.
Anyway to do this now? If not, this would be nice to have.
@MarkehMe
Only if you use the /visit command (which this plugin provides) to teleport to world2 and then back to world1.
Does this do it automatically for example if I was in world1
and I teleported to world2.
/mv tp world2
then teleported back.
/mv tp world1
Would I be in the same spot as before?
Thanks for the update!
@ZerothAngel:
Thanks for accepting my suggestion. The teleport cancel sounds great and would truly prevent anyone from teleporting out of a battle. Still have to deal with people logging off, but I think there are some plugins to deal with that.
I've been told and have confirmed that CB1330 has backward compatibility with the old configuration, so I'd recommend upgrading to that from CB1240.
@teegee543
Thanks for the suggestion! That's something I'll find useful in my hardcore survival worlds as well. The feature will be in the 1.0.1 release.
1.0.1 will absolutely require CB1317+ though, since I had already reworked Excursion to use the new Bukkit config API before adding the feature. Just a heads up, as it may or may not be a problem. (I'm personally still running CB1240...)
Cancelling the delayed teleport if the player gives or receives damage might be another nice option... I'll consider that for the future.
Thanks for the plugin! Works perfectly so far!
Would it be possible to add in a delay before you're teleported? I'm using this to allow players access to a Vech's challenge map and don't want people using this command as an escape mechanism.