From 421a394f68fc714899f167dc3faf53114b8469ce Mon Sep 17 00:00:00 2001 From: t00thpick1 Date: Wed, 15 Jan 2020 13:49:11 -0800 Subject: [PATCH] Another check for PTP exploit --- .../runnables/items/TeleportationWarmup.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java index 3a72c3790..d9a62429b 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java @@ -6,8 +6,10 @@ import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; +import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.skills.SkillUtils; import org.bukkit.Location; +import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; @@ -51,6 +53,23 @@ public class TeleportationWarmup extends BukkitRunnable { } } + if (Config.getInstance().getPTPCommandWorldPermissions()) { + World targetWorld = targetPlayer.getWorld(); + World playerWorld = teleportingPlayer.getWorld(); + + if (!Permissions.partyTeleportAllWorlds(teleportingPlayer)) { + if (!Permissions.partyTeleportWorld(targetPlayer, targetWorld)) { + teleportingPlayer.sendMessage(LocaleLoader.getString("Commands.ptp.NoWorldPermissions", targetWorld.getName())); + return; + } + else if (targetWorld != playerWorld && !Permissions.partyTeleportWorld(teleportingPlayer, targetWorld)) { + teleportingPlayer.sendMessage(LocaleLoader.getString("Commands.ptp.NoWorldPermissions", targetWorld.getName())); + return; + } + } + } + + EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer); } }