Leashed Mob Teleporter (OtherAnimalTeleport) icon

Leashed Mob Teleporter (OtherAnimalTeleport) -----

Allow users to teleport around with leashed entities!




Introduction:
This update adds in new config features so please read the drafted notes carefully! Added support for GriefDefender to prevent players teleporting entities inside of admin claims. Optimizations have been made to reduce server impact during teleport cause checking. Please see config changes at the end of this changelog!

**IMPORTANT** If you do not wish to delete your entire config file, please see the section at the very bottom of these update draft notes to see config changes and what needs to be added to your current file.

Latest release information/download can also be found on GitHub here.

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions
+ [Addition] Added support for GriefDefender. New config option to prevent teleporting of animals into GriefDefender admin claims
+ [Addition] Added a few more logger comments for teleport events, most requiring Verbosity in config to be HIGHEST or above.
Deletions
– [Deletion] Removed 1.20 dependency as 1.21 should be backwards compliant​

Modifications

• [Modification] Bumping plugin version to 2.4.
• [Modification] Updating dependencies to latest snapshot.
• [Modification] Converted internal storage of teleport causes to HashSet to reduce server load when searching for teleport reasons to ignore.
• [Modification] Removed damage resistance for entity. In 1.21 DAMAGE_RESISTANCE was renamed to just RESISTANCE. To keep plugin backwards compatible, since we are already making the entity invulnerable on teleport, this damage resistance was removed.
• [BUG FIX] Added a check to see if WorldGuard is enabled before proceeding with region checks. Should fix NPE errors occurring if a region was specified but WorldGuard couldn't be found.
• [BUG FIX] Fixed command handler; previous versions had an issue where not using /oat would result in the command not executing. Refactored how the entire command handler works, to now treat all command aliases equally.
• [BUG FIX] Convert world group storage to strings. Previously we stored World objects in the world group lists, which led to errors rising when a world was unloaded and reloaded without OAT reloading. Using String types ensures we only care about the world name instead of the object.
• [BUG FIX] Updated the logic of the entity gatherer when a player teleports. Should help false positive messages of failed teleports/missing entities.
- We now will check if the entity is leashed or not first, and then proceed to remaining checks.
- If the entity was not leashed, we will proceed to check if it was tamed. If it was tamed, and not sitting, we will proceed.
- If neither of the above conditions were met, we will notify player.​
• [Cleanup] Optimized code, removed unnecessary comments​

Config Changes
Code (YAML):
#######################
# Prevent players from bringing animals into GriefDefender admin claims
prevent_gd_admin_claims
: false
----------, Feb 11, 2025

Introduction:
This update adds in new config features so please read the drafted notes carefully! Large optimizations have been made to reduce server impact during entity detection. New messages to distinguish which entity failed teleporting have been added. Please see config changes at the end of this changelog!

**IMPORTANT** If you do not wish to delete your entire config file, please see the section at the very bottom of these update draft notes to see config changes and what needs to be added to your current file.

Latest release information/download can also be found on GitHub here.

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions
+ [Addition] Added much more console logging w/ improved entity ID's. Can increase verbosity in config to see enhanced logging. ( d82f258) ( be43f96) ( b9e8d7a) ( 5066b40) ( 02d2d11)
+ [Addition] Adds longer delay for entity to be invulnerable after teleporting. ( d761865)
+ [Addition] Adds plugin chunk ticket to teleport location to help prevent entity disappearing/having no tracking by keeping that location loaded before TP is sent. ( c8bdad2)
+ [Addition] Added negative entity matching for allowed entity types. Entities can be denied with a [-] See usage below. ( dcab4c9)
Code (YAML):
allowed_entities : [ ANY, -PIG, -COW ]
+ [Addition] Added config option to ignore certain teleport events. See list of valid teleport causes here ( 03d8dea) ( f2fc60b)
+ [Addition] Adds new metrics chart for list of allowed / denied entities. See the respective data on bStats page. ( cc3d77d)
+ [Addition] Adds better messaging to log exactly which entity (regular, tamed, leashed) was left behind to the player. See config values at the bottom of this commit message. Any message can be set to "" to disable. ( 81a013f) ( 2be51c2) ( 6c8d940)​

Deletions

– [Deletion] Removed 1.19 dependency as 1.20 should be backwards compliant
– [Deletion] Removed ignore_unknown_causes config flag, as it is replaced by new ignore_causes setting.​

Modifications

• [Modification] Bumping plugin version to 2.3. ( 4fa9bd3)
• [Modification] Updating dependencies to latest snapshot. ( d442504)
• [Modification] Delayed update checker by a tick to prevent message from showing up before playerjoin. ( d9a837b)
• [BUG FIX] Plugin correctly exits entity loop when the entity is successfully teleported, preventing the error message from being logged when it shouldn't have been sent. ( ddd6652)
• [BUG FIX] Plugin previously used ArrayLists to track entity types that were allowed to be teleported. This has very high time complexity and would cause severe lag when many entities were processed. We changed over to HashMaps for this storage which greatly relieves the server load. ( 63de3f8) ( 27d09a2)
• [BUG FIX] Delays plugin enabling until all worlds have been loaded by the server to help reduce issues with worlds not being found. ( 1ea62d1)
• [Cleanup] Optimized code, removed unnecessary statements, fixed improper types, etc. ( 2c7d863) ( 8a875f3) ( 6ce2cda) ( 90f5edf)​

Config Changes
Code (YAML):
#######################
# Add the following to your config to ignore error causing teleport events
# Teleport causes we should ignore
ignore_causes
: [DISMOUNT, EXIT_BED, UNKNOWN ]

#######################
# Edit the messages section to contain the following
fail_teleport
: "&7An entity could not be teleported and is located near (&c%x&7, &c%y&7, &c%z&7)."
entity_left
: "&7An entity was left behind near (&c%x&7, &c%y&7, &c%z&7)."
leashed_entity_left
: "&7A leashed entity was left behind near (&c%x&7, &c%y&7, &c%z&7)."
tamed_entity_left
: "&7A tamed pet was left behind near (&c%x&7, &c%y&7, &c%z&7)."
----------, Oct 28, 2023

Introduction:
This update adds in new config features so please read the drafted notes carefully! Optimizations to the detection and teleportation of entities have been made. The plugin now distinguishes entities being left due to plugin errors (something in the code throws an error), vs the player failing a check (world group, region, permission, etc.).

**IMPORTANT** If you do not wish to delete your entire config file, please see the section at the very bottom of these update draft notes to see config changes and what needs to be added to your current file.

Latest release information/download can also be found on GitHub here.

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions
+ [Addition] Added new message to player for an entity being left behind. Distinguishes this from the message sent when an entity wasn't teleported due to an error. ( 4b440e2) ( c1c09d5)
+ [Addition] Adds a short delay of invulnerability to the entity being teleported to prevent unintended damage. ( 22fdb61)
+ [Addition] Added new flag to ignore unknown teleport causes. IMPORTANT This may help solve vehicle dismount left messages on versions < 1.19.3. In version 1.19.3 and above, a dismount event was added to teleport cause, so this can safely be ignored. Fixes #7 ( 6483295)​

Deletions

– [Deletion] Removed 1.18 dependency as 1.19 should be backwards compliant
– [Deletion] Removed player update notifications when plugin is already up-to-date. Only logged in console now on startup. Closes #9 ( 89f7c9a)
– [Deletion] Removed unused code. ( 8194f45)​

Modifications

• [Modification] Bumping plugin version to 2.2. ( 0181d5b)
• [Modification] Updating dependencies to latest snapshot. ( 0a45160) ( e1d8a34)
• [Modification] Moved player message to be handled by OATCommon methods. ( 6edaad4) ( b989c47)
• [BUG FIX] Removed player messenger for entities not teleported due to a blocked WG region. Logged in console instead now. ( c0c2c4e)
• [BUG FIX] Created new checks for entity teleportation. Fixes some logic issues that previously existed with players getting error messages when they should not have. Closes #5 ( 6dee8ec)
• [BUG FIX] Using parseInt instead of valueOf to prevent unnecessary type casting. ( 383146b)
• [Cleanup] Updated config to clean up some notes and typos. ( c82a092) ( 68adb8b)
• [Cleanup] Code cleanup for teleport listener and moving some code to common methods. ( 1553160)
• [Cleanup] Fixing some .gitignore files. ( 430cd66)
• [Cleanup] Fixing a typo in update checker. ( 2709f49)​

Config Changes
Code (YAML):
#######################
# Should we ignore unknown teleport causes? This may help solve vehicle dismount left messages on versions < 1.19.3
# In version 1.19.3 and above, a dismount event was added to teleport cause, so this can safely be ignored.
ignore_unknown_causes
: false

#######################
# Add the following section to Message handling
entity_left
: "&7An entity was left behind near (&c%x&7, &c%y&7, &c%z&7)."
----------, Feb 2, 2023

Introduction:
This update adds in a new config option (for WorldGuard support) so please read the drafted notes carefully! Other changes include optimizations to detection and teleportation.

Latest release information/download can also be found here https://github.com/CoolLord22/OtherAnimalTeleport/releases/tag/v2.1-b51


Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions:

+ [Addition] Added plugin.yml to GitHub Closes #2 682efce
+ [Addition] Added WorldGuard region support. See config changes below. Closes #1 fd91e9d ff1d06a 985f9bf
+ [Addition] Added config optimization to check if values exist before parsing them 985f9bf
+ [Addition] Added more verbose logging messages for console at the HIGHEST level to log what conditions/checks passed or failed (debug use only) 399c36d
+ [Addition] Added backwards compatibility since chunk tickets did not exist pre-1.14 e7434a0
Deletions:
– [Deletion] 1.16 dependency as 1.18 automatically is backward compliant

Modifications:
• [BUG FIX] Fixed Updater to check the major.minor build format before resorting to build number comparisons 98ec187
[BUG FIX] Fixed teleportation of entities without leads, accidentally would re-leash tamed pets regardless of prior leash status d9e09df
• [BUG FIX] Fixed null check for Tameable owner, which could be Null when the event's player was not 2ce5300
[BUG FIX] Fixed issue with plugin not finding worlds loaded by a multiworld plugin; the startup of OAT is delayed until server has fully started
• [Modification] Bumped 1.16 dependency to latest 1.16.1-R0.1-SNAPSHOT cd54764
[Modification] Added new Travis build badges 4fbc2c8 2ffb6cb
----------, Dec 5, 2021

Introduction:
This update adds in a couple new features and permissions so please read the drafted notes carefully!

Latest release information/download can also be found here https://github.com/CoolLord22/OtherAnimalTeleport/releases/tag/v2.0-b26

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions:
+ [Addition] New metrics tracker to keep track of plugin usage data. Can be disabled via bStats/config.yml
+ [Addition] Added tab completion for the /oat command (suggests [reload, help]
+ [Addition] Adding in chunk tickets to temporarily force the from/to chunks to remain loaded in while the entities are teleported
+ [Addition] Added in new permission nodes to the plugin for further teleportation restriction! Permission nodes are as follows:
  • otheranimalteleport.player.help: Gives access to the help command
  • otheranimalteleport.player.use: Gives access to teleporting animals
  • otheranimalteleport.player.teleportpets: Gives access to teleporting pets (requires otheranimalteleport.player.use)
  • otheranimalteleport.player.teleportleashed: Gives access to teleporting leashed entities (requires otheranimalteleport.player.use)
Deletions:
– [Deletion] 1.15 dependency as 1.16 automatically is backward compliant

Modifications:
• [BUG FIX] Fixed the update checker as it was incorrectly parsing the build number (trying to compare the b in addition to the numerical value)
[BUG FIX] Fixed bug that prevented leashed entities from being teleported (if using a plugin like Lasso) Do note, this does NOT make it so any entity can be attached via a lead, this makes it so if you have a plugin that allows other entities to be leaded, they will teleport with the player!
• [BUG FIX] Fixed bug that was incorrectly casting entities to Animal when we should have been casting to LivingEntity
[BUG FIX] Fixed issue with plugin not finding worlds loaded by a multiworld plugin; the startup of OAT is delayed until server has fully started
• [Modification] Bumped 1.15 dependency to 1.16.1-R0.1-SNAPSHOT adding support for new mobs​
----------, Jul 27, 2020

Introduction:
This update is a pretty large rewrite of the plugin, so please read through the documentation fully! There are new config options that require you to delete your current file!

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. IMPORTANT - Delete (or regenerate) the old config file
  5. Start the server.
  6. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  7. Report bugs you discover!
Additions:
+ New GitHub repository to keep track of all major updates
+ 1.15 dependency to support all mob types 1.15 and below
+ New config option for world groups. You can specify worldgroups using the format given in the config; in this example [world1, world2, world3] , if the player is teleporting amongst any of the 3 worlds the leashed animals will teleport. However, if they go to world4, the animals will be left behind
+ New config option for which entities to allow the teleportation of. Do note, this does NOT make it so any entity can be attached via a lead , this makes it so if you have a plugin that allows other entities to be leaded, they will teleport with the player!
+ Added message option in config to notify player where their animals were left behind if they couldn't be teleported

+ New version naming convention with Major.Minor-build#
+ Added known_EntityType.txt which is generated via your server jar to allow users to correctly identify which entities to teleport. If an unrecognized entity is targeted, an error in console is thrown.

Deletions:
1.14 dependency as 1.15 automatically is backward compliant

Modifications:
Fixed duplication of lead by first removing the lead, teleporting the animal and then re-attaching a lead 1 tick later. To the player, the timing change should not be visible
Added /oat help to the command help page
Mavenized the project and moved files around to clean up files
Removed a lot of static variable abuse, and cleaned up code​
----------, Jun 14, 2020

Introduction:
This update adds in official support for 1.14 by changing the dependency to the latest release. It is still backward-compliant until Spigot 1.10!

Installation:
  1. Stop the server.
  2. Save a copy of your current folder
  3. Delete the old jar (in /plugins folder) and copy the new jar in place of it.
  4. Start the server.
  5. Modify the config to your liking, and restart the server (or run /oat reload) to update the changes.
  6. Report bugs you discover!
Additions:
+ Update checker on server startup that directs you to Spigot updates page
+ New permission node for update notifications otheranimalteleport.admin.updates upon joining
+ 1.14 dependency to support all mob types 1.14 and below

Deletions:
1.13 dependency as 1.14 automatically is backward compliant

Modifications:
Animal dependency now uses entity-category-types; making the code independent of what animals are named/called within Mojang/Spigot's naming system
Entities are now compared via whether or not they are leashed; if not we check if they are a sittable entity (anything tameable that has an owner). If the entity is not sitting, it'll teleport!​
----------, Oct 3, 2019

This release changes how the teleportation is actually handled. Now, the method which does the teleporting accepts the variable for whether or not the entity was leashed.

If it was leashed before the teleport, we remove the leash holder, teleport it, and reattach the leash. Do note that this seems to have some visual bugs, so a relog might be necessary! The mobs seem to get stuck in mid-air for the client that does the teleporting, but appear fine for surrounding players.

If the animal was not leashed, we check if it is an entity that can sit (i.e. Parrots, Wolves, Cats, etc). If it's tamed, and the owner is the teleporting player, we teleport the entity. Since it wasn't leashed, we don't worry about the leash at all. Do note, if the sitting entity was leashed, it'll be teleported based on the method above first!
----------, Jun 19, 2019

A user reported the plugin didn't work for them on the latest 1.13.2. Not entirely sure why this issue happened, but I went ahead and built the plugin on the latest 1.13.2 release for version 1.2.

Unfortunately I've discovered that the plugin doesn't work on PaperSpigot, seeming to be an issue with the teleportation of animals, which I'll try to figure out version 1.3 :)
----------, Apr 8, 2019

This feature was requested by marlon233. In vanilla MC wolves will teleport, but ocelots and parrots don't. This plugin now fixes that! If a tameable entity (such as Parrot, Wolf, or Ocelot) is within the configured radius and is tamed by the teleporting-player, it will automatically teleport with the player as well!
----------, Dec 26, 2018

Resource Information
Author:
----------
Total Downloads: 8,229
First Release: Dec 25, 2018
Last Update: Feb 11, 2025
Category: ---------------
All-Time Rating:
15 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings