TeleportSuite
TeleportSuite
Notice! I am currently very busy with both work and school. Please refrain from feature requests and only post bug reports, as I am unable to do extra work at this time.
TeleportSuite is a simple teleportation plugin which allows players to request teleports to each other with the commands /tpa and /tpahere, and accept or reject those requests with /tpaccept or /tpreject. It offers the admin type commands /tp and /tphere to teleport immediately, without a request (assuming the user is toggled to receive requests), and /tpo and /tpohere to override any user settings and teleport immediately.
By krinsdeath
Useful Stuff
- Source Code - Jenkins 1.1. Use of the plugin builds from Jenkins is unofficial, unsupported and unapproved by BukkitDev Staff!
- Default 'config.yml' file
- Default 'english.yml' localization file
- Full Command List
Features
- Very easy and very powerful commands, reminiscent of all of your favorites.
- Accept and reject all requests easily with /tpaccept -all or /tpreject -all. Use /tptoggle to immediately reject all requests.
- New! /tpm and /tpmhere for moderators: send a request from one player to another, without giving your players access to /tpa or /tpahere.
- /tpcoords will display your current location and your currently faced direction.
- Superperms support to give users any number of commands, to your taste
- Fully customizable messages for every command, including the ability to remove them altogether.
- Additional localizations are possible. Simply copy your english.yml into another file, save it as whatever.yml, and then add the language to the available list in TeleportSuite. If your system is UTF-8 capable, you can even use foreign language characters by specifying -Dfile.encoding=UTF-8 in your command line. If you've written a language file and want it included in TeleportSuite, email me or private message me.
Permissions
- Permission Node - Description. (default value)
-
teleport.* - Balloon permission to activate all others. (no default)
- teleport.tpa - Allows this user to use /tpa, to request a teleport to a user, unless their toggle status is true. (true)
- teleport.tpahere - Allows this user to use /tpahere, to request that a user teleport to them, unless their toggle status is true. (true)
- teleport.tp - Allows this user to use /tp, to telepor to a user immediately, unless their toggle status is set to true. (op)
- teleport.tphere - Allows this user to use /tphere, to teleport a user without confirmation, unless their toggle status is set to true. (op)
- teleport.tpm - Allows a user to request a /tpa on behalf of another player. (op) (bypasses teleport.tpa permission)
- teleport.tpmhere - Allows a user to request a /tpahere on behalf of another player. (op) (bypasses teleport.tpahere permission)
- teleport.tpo - Allows this user to use /tpo, to teleport to a user immediately. (false)
- teleport.tpohere - Allows this user to use /tpohere, to teleport a user to their location immediately. (false)
- teleport.location - Allows this user to use /tploc to teleport to a location. (op)
-
teleport.world - Allows this user to teleport to a world's spawn point. (op)
- teleport.world.* - Allows this user to teleport into all worlds. (true)
- teleport.world.worldname - Allows this user to teleport into the world specified.
- teleport.back - Allows this user to use /tpback or /back, to teleport to their last known location. (true)
- teleport.coords - Allows this user to display their current location with /tpcoords or /coords. (true)
- teleport.accept, teleport.reject, teleport.toggle - Allows this user to accept, reject, or toggle whether or not they want to be notified of requests when they receive them (if a user toggles their status, they will automatically reject any requests they receive). (true)
- teleport.requests - Allows this user to display their open requests, or any requests they've made, with /tprequests (true)
- teleport.cancel - Allows this user to cancel their active request (if they have one), with /tpcancel (true)
- teleport.silent - Allows the user to toggle their stealth setting with /silent; silences any /tpo or /tpohere command used by the sender
- teleport.language - Allows a user to choose a language from the available languages list with /tplang.
Convenience Permissions
-
teleport.users
- teleport.tpa, teleport.tpahere, teleport.accept, teleport.reject, teleport.toggle, teleport.requests, teleport.cancel, teleport.world, teleport.world.*, teleport.back, teleport.coords
-
teleport.mods
- teleport.users, teleport.tp, teleport.tphere, teleport.tp.other, teleport.location, teleport.vanilla
-
teleport.admins
- teleport.mods, teleport.tpo, teleport.tpohere, teleport.silent, teleport.rewind
Are you using Citizens?
Getting this alot more often with the latest beta bukkit build and your latest build on Jenkins. Any easy fix for this?
btw - there is no more error than this, I know there is usually more error text below the Caused By: but in this case, this is it, nothing else.
This error has nothing to do with TeleportSuite. The problem is Citizens doing some really stupid stuff with reflection and NPCs. I can't fix this.
Error when used with citizens2. You get one of these for every NPC that you have spawned. If there is an NPC with the same name you cannot tp, or tpa to the actual user.
Just a heads up.
2012-11-26 20:53:32 [SEVERE] Could not pass event PlayerTeleportEvent to TeleportSuite v2.2-b108
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(CraftPlayer.java:364)
at org.bukkit.craftbukkit.entity.CraftEntity.teleport(CraftEntity.java:175)
at net.citizensnpcs.npc.entity.CitizensHumanNPC.createHandle(CitizensHumanNPC.java:34)
at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:181)
at net.citizensnpcs.npc.CitizensNPC.load(CitizensNPC.java:125)
at net.citizensnpcs.NPCDataStore.loadInto(NPCDataStore.java:44)
at net.citizensnpcs.Citizens$1.run(Citizens.java:244)
at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:529)
at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
Caused by: java.lang.NullPointerException A player with the name 'Steve' returned a null Player reference.
at net.krinsoft.teleportsuite.TeleportPlayer.<init>(TeleportPlayer.java:51)
at net.krinsoft.teleportsuite.TeleportManager.register(TeleportManager.java:35)
at net.krinsoft.teleportsuite.TeleportManager.getPlayer(TeleportManager.java:55)
at net.krinsoft.teleportsuite.listeners.PlayerListener.playerTeleport(PlayerListener.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
... 17 more
You can comment out the tp command in the plugin.yml to remove the TeleportSuite version of the command.
Otherwise, you'd have to compile a custom version of the plugin. You can get source for that here: https://github.com/krinsdeath/TeleportSuite
Hi, is there any way to either disable Teleportsuite intercept of craftbukkits /tp command OR have Teleportsuite work the same way doing /tp <player1> <x> <y> <z> ? It would be incredibly helpful with commandblocks, ready made maps etc. If it isn't possible now consider it a feature request. Been using this plugin all year and it has been excellent. Thanks!
hmmm it started to work again, I didn't change anything or relog, weird hey? anyways I still got the error a few times. Hope it's of some use to you
ok so with bukkit 1.4.4 and your latest build from Jenkins I am getting this error
@krinsdeath:
I think, that i have found the problem, what you are looking for. Telportsuite won't work with Citizens 2.
Builds:
Citizens 2: http://ci.citizensnpcs.com/job/Citizens2/ Build #562
Teleportsuite: http://ci.griefcraft.com/job/TeleportSuite/ Build #155 Bukkit Build #2457
Could you fix it please?
And sorry for my "bad" English. I'm from Germany.
@krinsdeath
Krin,
Your latest Dev build fixed my problem. Thank you dude
ziga808: I'm unable to replicate any technical problems with the plugin and Bukkit 1.4.2. It should be working fine.
Mortalsinn: I don't know what the problem could be. That error literally CANNOT be happening unless another plugin is reflectively nulling the "TeleportPlayer.name" field. In that case I can't fix it, no matter what I do.
@krinsdeath
Hey Krin,
I tried going down to permissions 1.9.3, didn't work. I tried removing FirstJoinPlus, didn't work. Any other ideas?
Please update to 1.4.2
You have a considerable number of plugins. I am unable to duplicate the issue with just TeleportSuite 2.2-b154 and Bukkit's beta.
Could you temporarily remove FirstJoinPlus and try without it?
@krinsdeath
ok no prob. check out http://www.world8-4.ca/downloads
its long with several reboots. I was in the middle of updating things to 1.4.2
I have a feeling its due to me going from 1.9.3 to 1.9.4 with PermissionsEX - It's late now but when I get up tomorrow I will try changing back to see if it works. When my server was 1.3 I had permissionsEX 1.9.3 and everything worked just fine.
I'm going to need to see the entire server.log from startup to where the error occurs. I'm not entirely sure how, but you're issuing a command before TeleportSuite has created a TeleportPlayer object for you (which shouldn't be possible), which is causing it to pass a null name to the getPlayer() method. This should not be happening.
sorry I am not sure where your tracker is? anyways here is a pastebin of the entire error when someone tries to TP. I am using as I said below Bukkit build 2446.
http://pastebin.com/Eu3Fb5Wq
My plugins are....
http://pastebin.com/UnBv9rAJ
All the plugins that had a 1.4.2 update are updated
Hello Mortalsinn,
Can you please create a ticket in my tracker and attach a stack trace that can indicate where the problem is? Without it I can only guess at the problem (and it could be a conflict with other plugins, and not specifically TeleportSuite), so it would be immensely helpful.
Additionally (in the ticket), can you provide your config.yml and whether or not you are using economy features (and, if so, which economy plugin)?
did 1.4.2 (the Beta build) break this plugin for anyone else? I also updated to PermissionsEX 1.9.4
@krinsdeath
Ok thank you for the reply, before I create a ticket which "important and relevant" part of the error did I miss? I pasted the full error so I am confused as to what more you would require other than my bukkit version which is the latest RB from Friday.