mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 11:49:12 +00:00
Add metadata value to bypass last location setting on teleport (#4597)
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
This commit is contained in:
parent
6994005a5f
commit
c466c9c370
1 changed files with 10 additions and 15 deletions
|
@ -535,21 +535,16 @@ public class EssentialsPlayerListener implements Listener, FakeAccessor {
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
public void onPlayerTeleport(final PlayerTeleportEvent event) {
|
||||||
final boolean backListener = ess.getSettings().registerBackInListener();
|
final Player player = event.getPlayer();
|
||||||
final boolean teleportInvulnerability = ess.getSettings().isTeleportInvulnerability();
|
if (player.hasMetadata("NPC") || !(event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
||||||
if (backListener || teleportInvulnerability) {
|
return;
|
||||||
final Player player = event.getPlayer();
|
}
|
||||||
if (player.hasMetadata("NPC")) {
|
final User user = ess.getUser(player);
|
||||||
return;
|
if (ess.getSettings().registerBackInListener() && user.isAuthorized("essentials.back.onteleport") && !player.hasMetadata("ess_ignore_teleport")) {
|
||||||
}
|
user.setLastLocation();
|
||||||
final User user = ess.getUser(player);
|
}
|
||||||
//There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports.
|
if (ess.getSettings().isTeleportInvulnerability()) {
|
||||||
if (user.isAuthorized("essentials.back.onteleport") && backListener && (event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
user.enableInvulnerabilityAfterTeleport();
|
||||||
user.setLastLocation();
|
|
||||||
}
|
|
||||||
if (teleportInvulnerability && (event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND)) {
|
|
||||||
user.enableInvulnerabilityAfterTeleport();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue