Explorar el Código

Another check for PTP exploit

t00thpick1 hace 5 años
padre
commit
421a394f68

+ 19 - 0
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.party.PartyManager;
 import com.gmail.nossr50.util.EventUtils;
 import com.gmail.nossr50.util.EventUtils;
 import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.Misc;
+import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.skills.SkillUtils;
 import com.gmail.nossr50.util.skills.SkillUtils;
 import org.bukkit.Location;
 import org.bukkit.Location;
+import org.bukkit.World;
 import org.bukkit.entity.Player;
 import org.bukkit.entity.Player;
 import org.bukkit.scheduler.BukkitRunnable;
 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);
         EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer);
     }
     }
 }
 }