From 665a31fc8506e6b04a99d727a1b76ddd767933a4 Mon Sep 17 00:00:00 2001 From: Robert Chapton Date: Mon, 19 Aug 2019 14:49:21 -0700 Subject: [PATCH] Players moving to a blacklisted world will have scoreboards removed --- Changelog.txt | 3 +++ .../com/gmail/nossr50/listeners/PlayerListener.java | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index 2eb5ae658..9547a5df7 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,6 @@ +Version 2.1.102 + Scoreboards will now be removed from players who teleport to a blacklisted world + Version 2.1.101 Fixed an exploit where chorus plants could be used to gain automatic XP Added blast furnace, cartography table, grindstone, lectern, loom, scaffolding, smoker, stonecutter, and sweet berry bush to the list of internal blocks that don't trigger tool readying diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 43cb0753c..bd1c3ddfa 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -27,6 +27,7 @@ import com.gmail.nossr50.skills.salvage.SalvageManager; import com.gmail.nossr50.skills.taming.TamingManager; import com.gmail.nossr50.util.*; import com.gmail.nossr50.util.player.UserManager; +import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.util.sounds.SoundManager; @@ -69,8 +70,16 @@ public class PlayerListener implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { /* WORLD BLACKLIST CHECK */ - if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld())) + if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld())) { + //Remove scoreboards + ScoreboardManager.teardownPlayer(event.getPlayer()); return; + } else if(WorldBlacklist.isWorldBlacklisted(event.getFrom().getWorld())) { + //This only fires if they are traveling to a non-blacklisted world from a blacklisted world + + //Setup scoreboards + ScoreboardManager.setupPlayer(event.getPlayer()); + } Player player = event.getPlayer();