Teleportation2
Complete teleportation plugin with whitelists, blacklists, effects and more.
Features
- Customizable teleportation rules
- Cooldown and delay management:
- Combat and raid modes
- Whitelist and blacklist features
- MySQL and JSON database support
- Visual effects and sounds
- VIP features
Credits
- soer and BrokenGears for help in testing and ideas
Commands
- /tpa <player> - Sends a teleportation request to another player
- /tpa a - Accepts the teleportation request
- /tpa c - Cancels the teleportation request
- /tpa d - Denies the teleportation request
- /tpa whitelist <player> - Adds player to the whitelist
- /tpa whitelist remove <player> - Removes player from the whitelist
- /tpa whitelist list - Lists all players on the whitelist
- /tpa blacklist <player> - Adds player to the blacklist
- /tpa blacklist remove <player> - Removes player from the blacklist
- /tpa blacklist list - Lists all players on the blacklist
Configuration
<?xml version="1.0" encoding="utf-8"?>
<Teleportation2Configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MessageColor>#BDBDBD</MessageColor>
<MessageIconUrl>https://i.imgur.com/UOKFZ5k.png</MessageIconUrl>
<Debug>false</Debug>
<Database>
<Provider>json</Provider>
<MySQLConnectionString>SERVER=localhost;DATABASE=unturned;UID=root;PASSWORD=123456</MySQLConnectionString>
<BlacklistTableName>TPABlacklists</BlacklistTableName>
<WhitelistTableName>TPAWhitelists</WhitelistTableName>
</Database>
<GeneralRules>
<UseUnsafeTeleport>false</UseUnsafeTeleport>
<BlockFromUnderground>false</BlockFromUnderground>
<BlockToUnderground>false</BlockToUnderground>
<BlockFromVehicles>false</BlockFromVehicles>
<BlockToVehicles>false</BlockToVehicles>
<BlockFromDeadzone>false</BlockFromDeadzone>
<BlockToDeadzone>false</BlockToDeadzone>
<CancelOnSenderMove>true</CancelOnSenderMove>
<CancelOnTargetMove>false</CancelOnTargetMove>
<MaxMoveDistance>3</MaxMoveDistance>
<RequestExpiryTime>30</RequestExpiryTime>
</GeneralRules>
<Cooldown Enabled="true">
<DefaultCooldown>60</DefaultCooldown>
<ResetOnDeath>false</ResetOnDeath>
<ResetWhenCanceled>true</ResetWhenCanceled>
<EnabledForAdmins>false</EnabledForAdmins>
<VIPCooldowns>
<VIPCooldown Permission="teleportation2.vip" Cooldown="30" />
<VIPCooldown Permission="teleportation2.mvp" Cooldown="20" />
</VIPCooldowns>
</Cooldown>
<Delay Enabled="true">
<DefaultDelay>10</DefaultDelay>
<CountdownSenderInChat>true</CountdownSenderInChat>
<CountdownTargetInChat>false</CountdownTargetInChat>
<AdminHasZeroDelay>true</AdminHasZeroDelay>
<VIPDelays>
<VIPDelay Permission="teleportation2.vip" Delay="5" />
<VIPDelay Permission="teleportation2.mvp" Delay="3" />
</VIPDelays>
</Delay>
<CombatMode Enabled="true">
<Duration>20</Duration>
<NotifyWhenStarted>true</NotifyWhenStarted>
<NotifyWhenExpired>true</NotifyWhenExpired>
<ResetOnDeath>true</ResetOnDeath>
<BlockTPAEscape>true</BlockTPAEscape>
<BlockTPASupport>false</BlockTPASupport>
<BypassAdmin>true</BypassAdmin>
<BlockedCommands>
<BlockedCommand>home</BlockedCommand>
<BlockedCommand>vault</BlockedCommand>
</BlockedCommands>
</CombatMode>
<RaidMode Enabled="true">
<Duration>30</Duration>
<NotifyWhenStarted>true</NotifyWhenStarted>
<NotifyWhenExpired>true</NotifyWhenExpired>
<ResetOnDeath>true</ResetOnDeath>
<BlockTPAEscape>true</BlockTPAEscape>
<BlockTPASupport>false</BlockTPASupport>
<BypassAdmin>true</BypassAdmin>
<BlockedCommands>
<BlockedCommand>home</BlockedCommand>
<BlockedCommand>vault</BlockedCommand>
</BlockedCommands>
</RaidMode>
<Whitelist Enabled="true">
<WhitelistGroupMembers>true</WhitelistGroupMembers>
<WhitelistAdmins>false</WhitelistAdmins>
</Whitelist>
<Blacklist Enabled="true" />
<Effects>
<TeleportFromEffectId>147</TeleportFromEffectId>
<TeleportToEffectId>147</TeleportToEffectId>
<ReceivedTPAEffectId>61</ReceivedTPAEffectId>
<AcceptedTPAEffectId>61</AcceptedTPAEffectId>
<CanceledTPAEffectId>61</CanceledTPAEffectId>
<DeniedTPAEffectId>61</DeniedTPAEffectId>
</Effects>
</Teleportation2Configuration>
Configuration Options
Debug
- This option helps me debug the problems with the plugin. Should be disabled.
Database
Provider
- mysql or json
General Rules
UseUnsafeTeleport
- Set whether to use Unturned unsafe teleport method which doesn't prevent glitches. Keep it disabled.
BlockFromUnderground
and BlockFromUnderground
- Set whether player should be able to teleport from or to below level of the ground
CancelOnTargetMove
- When enabled the ongoing teleportation will be canceled if player moves beyond the MaxMoveDistance
RequestExpiryTime
- The time for a pending TPA request to expire
Cooldown
ResetWhenCanceled
- When teleportation request is canceled the cooldown will reset
Delay
CountdownSenderInChat
and CountdownTargetInChat
- When enabled the delay will be countdown in chat every second
CombatMode & RaidMode
BlockTPAEscape
- When enabled player won't be able to teleport to another player while they are in combat/raid mode
BlockTPASupport
- When enabled player won't be able to teleport to another player in combat/raid mode
Effects
TeleportFromEffectId
- The teleportation effect player to everyone on the server in position where player was teleported from
TeleportToEffectId
- The teleportation effect player to everyone on the server in position where player is teleported to
ReceivedTPAEffectId
- Notification effect played only to the target when they receiver TPA request from the sender
AcceptedTPAEffectId
- Notification effect played only to the sender when their TPA request is accepted
CanceledTPAEffectId
- Notification effect played only to the sender when their TPA request is canceled
DeniedTPAEffectId
- Notification effect played only to the sender when their TPA request is denied
Translations
<?xml version="1.0" encoding="utf-8"?>
<Translations xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Translation Id="CombatModeStarted" Value="Combat mode started" />
<Translation Id="RaidModeStarted" Value="Raid mode started" />
<Translation Id="CombatModeExpired" Value="Combat mode expired" />
<Translation Id="RaidModeExpired" Value="Raid mode expired" />
<Translation Id="TPARequestSent" Value="You sent a TPA request to {0}!" />
<Translation Id="TPARequestReceived" Value="You received a TPA request from {0}!" />
<Translation Id="TPARequestExpired" Value="Your TPA request to {0} expired!" />
<Translation Id="TimeSecondsFormat" Value="{0} seconds" />
<Translation Id="TimeSecondFormat" Value="{0} second" />
<Translation Id="TPACooldown" Value="You have to wait {0} to send a TPA request again." />
<Translation Id="TPABlockYourself" Value="You can't send a TPA request to yourself." />
<Translation Id="TPABlockFromVehicle" Value="You can't send a request while you are in a vehicle!" />
<Translation Id="TPABlockFromUnderground" Value="You can't send a request while you are in the underground!" />
<Translation Id="TPABlockFromDeadzone" Value="You can't send a request while you are in the deadzone!" />
<Translation Id="TPASendBlockCombatEscape" Value="You can't send a request while you are in the combat mode!" />
<Translation Id="TPASendBlockCombatSupport" Value="You can't send a request to {0} because they are in the combat mode!" />
<Translation Id="TPASendBlockRaidEscape" Value="You can't send a request while you are in the raid mode!" />
<Translation Id="TPASendBlockRaidSupport" Value="You can't send a request to {0} because they are in the raid mode!" />
<Translation Id="TPASendBlockTargetNoPermission" Value="You cant't send a request to {0} because they have no permission to accept it." />
<Translation Id="TPAAcceptBlockCombatEscape" Value="You can't accept the request, becase {0} is in the combat mode!" />
<Translation Id="TPAAcceptBlockCombatSupport" Value="You can't accept the request while you are in the combat mode!" />
<Translation Id="TPAAcceptBlockRaidEscape" Value="You can't accept the request, because {0} is in the raid mode!" />
<Translation Id="TPAAcceptBlockRaidSupport" Value="You can't accept the request while you are in the raid mode!" />
<Translation Id="TPAAcceptBlockDead" Value="You can't accept a TPA request from {0} because they are dead!" />
<Translation Id="TPABlockBlacklist" Value="You can't send a request to {0}, because they blacklisted you!" />
<Translation Id="TPADelaySender" Value="You will be teleported to {0} in {1}!" />
<Translation Id="TPADelayTarget" Value="{0} will teleport to you in {1}!" />
<Translation Id="TPABlockTeleporting" Value="You can't send a TPA request while you are in process of teleporting!" />
<Translation Id="TPABlockDead" Value="You can't send a TPA request to {0} because they are dead!" />
<Translation Id="TPAAlreadySent" Value="You have already sent a TPA request to {0}" />
<Translation Id="TPABlockFromVehicleSender" Value="Your TPA request to {0} was canceled, because you're in a vehicle!" />
<Translation Id="TPABlockFromVehicleTarget" Value="{0} TPA request to you was canceled, because he's in a vehicle!" />
<Translation Id="TPABlockToVehicleSender" Value="Your TPA request to {0} was canceled, because they are in a vehicle!" />
<Translation Id="TPABlockToVehicleTarget" Value="{0} TPA request to you was canceled, because you're in a vehicle!" />
<Translation Id="TPABlockFromUndergroundSender" Value="Your TPA request to {0} was canceled, because are are in an underground!" />
<Translation Id="TPABlockFromUndergroundTarget" Value="{0} TPA request to you was canceled, because they in an underground!" />
<Translation Id="TPABlockToUndergroundSender" Value="Your TPA request to {0} was canceled, because they are in an underground!" />
<Translation Id="TPABlockToUndergroundTarget" Value="{0} TPA request to you was canceled, because you're in an underground!" />
<Translation Id="TPABlockFromDeadzoneSender" Value="Your TPA request to {0} was canceled, because are are in a deadzone!" />
<Translation Id="TPABlockFromDeadzoneTarget" Value="{0} TPA request to you was canceled, because they in a deadzone!" />
<Translation Id="TPABlockToDeadzoneSender" Value="Your TPA request to {0} was canceled, because they are in a deadzone!" />
<Translation Id="TPABlockToDeadzoneTarget" Value="{0} TPA request to you was canceled, because you're in a deadzone!" />
<Translation Id="TPANoPendingRequests" Value="You don't have any pending TPA requests." />
<Translation Id="TPARequestNotFound" Value="You don't have any pending TPA request from {0}." />
<Translation Id="PlayerNotFound" Value="Player {0} could not be found" />
<Translation Id="TPASuccessSender" Value="You were teleported to {0}!" />
<Translation Id="TPASuccessTarget" Value="{0} was teleported to you!" />
<Translation Id="TPAFailSender" Value="You could not be teleported to {0}!" />
<Translation Id="TPAFailTarget" Value="{0} could not be teleported to you!" />
<Translation Id="TPASenderMovedSender" Value="Your TPA to {0} was canceled, because you moved." />
<Translation Id="TPASenderMovedTarget" Value="{0} TPA to you was canceled, because they moved." />
<Translation Id="TPATargetMovedSender" Value="Your TPA to {0} was canceled, because they moved." />
<Translation Id="TPATargetMovedTarget" Value="{0} TPA to you was canceled, because you moved." />
<Translation Id="TPACombatEscapeCanceledSender" Value="Your TPA to {0} was canceled, because you started a combat." />
<Translation Id="TPACombatEscapeCanceledTarget" Value="{0} TPA to you was canceled, because they started a combat." />
<Translation Id="TPACombatSupportCanceledSender" Value="Your TPA to {0} was canceled, because they started a combat." />
<Translation Id="TPACombatSupportCanceledTarget" Value="{0} TPA to you was canceled, because you started a combat." />
<Translation Id="TPARaidEscapeCanceledSender" Value="Your TPA to {0} was canceled, because you started a raid." />
<Translation Id="TPARaidEscapeCanceledTarget" Value="{0} TPA to you was canceled, because they started a raid." />
<Translation Id="TPARaidSupportCanceledSender" Value="Your TPA to {0} was canceled, because they started a raid." />
<Translation Id="TPASenderDeathCanceledSender" Value="Your TPA to {0} was canceled, because you died." />
<Translation Id="TPASenderDeathCanceledTarget" Value="{0} TPA to you was canceled, because they died." />
<Translation Id="TPATargetDeathCanceledSender" Value="Your TPA to {0} was canceled, because they died." />
<Translation Id="TPATargetDeathCanceledTarget" Value="{0} TPA to you was canceled, because you died." />
<Translation Id="TPATargetExitCanceledSender" Value="Your TPA to {0} was canceled, because they exited the server" />
<Translation Id="TPASenderExitCanceledTarget" Value="{0} TPA to you was canceled, because they exited the server" />
<Translation Id="TPAPendingRequests" Value="The following are pending TPA requests to you:" />
<Translation Id="TPAPendingRequestsItem" Value="{0}. {1}" />
<Translation Id="TPACancelNoRequests" Value="You haven't got any TPA requests." />
<Translation Id="TPACancelRequestNotFound" Value="You haven't got any TPA request to {0}." />
<Translation Id="TPARequestCanceledSender" Value="You canceled your TPA request to {0}!" />
<Translation Id="TPARequestCanceledTarget" Value="{0} canceled their TPA request to you!" />
<Translation Id="TPADenyNoRequests" Value="You haven't received any TPA requests." />
<Translation Id="TPADenyRequestNotFound" Value="You haven't received any TPA request from {0}." />
<Translation Id="TPARequestDeniedSender" Value="{0} denied your TPA request!" />
<Translation Id="TPARequestDeniedTarget" Value="You denied {0} TPA request!" />
<Translation Id="TPABlacklistAddInvalid" Value="You must provide a player name to add them to your blacklist!" />
<Translation Id="TPABlacklistAddYourself" Value="You can't add yourself to the blacklist." />
<Translation Id="TPABlacklistAddAlready" Value="{0} is already in your blacklist." />
<Translation Id="TPABlacklistAddSuccess" Value="Successfully added {0} to your TPA blacklist!" />
<Translation Id="TPABlacklistRemoveInvalid" Value="You must provide a player name to remove them from your blacklist!" />
<Translation Id="TPABlacklistRemoveNotFound" Value="{0} was not found in your blacklist." />
<Translation Id="TPABlacklistRemoveSuccess" Value="Successfully removed {0} from your TPA blacklist!" />
<Translation Id="TPABlacklistListEmpty" Value="You don't have any player in your blacklist." />
<Translation Id="TPABlacklistListHeader" Value="Your TPA blacklist ({0}):" />
<Translation Id="TPABlacklistListItem" Value="{0}. {1}" />
<Translation Id="TPABlacklistListNextPage" Value="Page [{0}/{1}]. Use /tpa blacklist list {2} to view the next page" />
<Translation Id="TPABlacklistListPrevPage" Value="Page [{0}/{1}]. Use /tpa blacklist list {2} to view the previous page" />
<Translation Id="TPABlacklistHelpHeader" Value="TPA Blacklist command help" />
<Translation Id="TPABlacklistHelpItem1" Value="/tpa blacklist [[player]] - Add the player to your blacklist" />
<Translation Id="TPABlacklistHelpItem2" Value="/tpa blacklist remove [[player]] - Remove the player from your blacklist" />
<Translation Id="TPABlacklistHelpItem3" Value="/tpa blacklist list - View the list of players in your blacklist" />
<Translation Id="TPAWhitelistAddInvalid" Value="You must provide a player name to add them to your whitelist!" />
<Translation Id="TPAWhitelistAddYourself" Value="You can't add yourself to the whitelist." />
<Translation Id="TPAWhitelistAddAlready" Value="{0} is already in your whitelist." />
<Translation Id="TPAWhitelistAddSuccess" Value="Successfully added {0} to your TPA whitelist!" />
<Translation Id="TPAWhitelistRemoveInvalid" Value="You must provide a player name to remove them from your whitelist!" />
<Translation Id="TPAWhitelistRemoveNotFound" Value="{0} was not found in your whitelist." />
<Translation Id="TPAWhitelistRemoveSuccess" Value="Successfully removed {0} from your TPA whitelist!" />
<Translation Id="TPAWhitelistListEmpty" Value="You don't have any player in your whitelist." />
<Translation Id="TPAWhitelistListHeader" Value="Your TPA whitelist ({0}):" />
<Translation Id="TPAWhitelistListItem" Value="{0}. {1}" />
<Translation Id="TPAWhitelistListNextPage" Value="Page [{0}/{1}]. Use /tpa whitelist list {2} to view the next page" />
<Translation Id="TPAWhitelistListPrevPage" Value="Page [{0}/{1}]. Use /tpa whitelist list {2} to view the previous page" />
<Translation Id="TPAWhitelistHelpHeader" Value="TPA Whitelist command help" />
<Translation Id="TPAWhitelistHelpItem1" Value="/tpa whitelist [[player]] - Add the player to your whitelist" />
<Translation Id="TPAWhitelistHelpItem2" Value="/tpa whitelist remove [[player]] - Remove the player from your whitelist" />
<Translation Id="TPAWhitelistHelpItem3" Value="/tpa whitelist list - View the list of players in your whitelist" />
<Translation Id="TPAHelpHeader" Value="TPA command help" />
<Translation Id="TPAHelpItem1" Value="/tpa [[player]] - Send TPA request to the the player" />
<Translation Id="TPAHelpItem2" Value="/tpa accept [player] - Accept the TPA request from the player" />
<Translation Id="TPAHelpItem3" Value="/tpa cancel [player] - Cancel your TPA request to player" />
<Translation Id="TPAHelpItem4" Value="/tpa deny [player] - Deny the TPA request you received from the player" />
<Translation Id="NotConsoleCommand" Value="This command cannot be called from the console" />
<Translation Id="TPAWhitelistDisabled" Value="The TPA whitelist is disabled on this server" />
<Translation Id="TPABlacklistDisabled" Value="The TPA blacklist is disabled on this server" />
<Translation Id="TPAVehicleNoSpaceCanceledSender" Value="Your TPA to {0} was canceled, because there is no space in vehicle" />
<Translation Id="TPAVehicleNoSpaceCanceledTarget" Value="{0} TPA to you was canceled, because there is no space in vehicle" />
<Translation Id="CombatModeCommandBlocked" Value="Command {0} is blocked during a combat mode" />
<Translation Id="RaidModeCommandBlocked" Value="Command {0} is blocked during a raid mode" />
</Translations>