From 4bd825f6c416b701be79eb85888a617b8b3a2913 Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Wed, 7 Jul 2021 18:39:38 -0700 Subject: [PATCH] Fix 1.17.1 build --- .../dynmap/fabric_1_17_1/FabricServer.java | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricServer.java b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricServer.java index 020a20c0..695074ee 100644 --- a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricServer.java +++ b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricServer.java @@ -62,7 +62,7 @@ public class FabricServer extends DynmapServerInterface { this.biomeRegistry = server.getRegistryManager().get(Registry.BIOME_KEY); } - private GameProfile getProfileByName(String player) { + private Optional getProfileByName(String player) { UserCache cache = server.getUserCache(); return cache.findByName(player); } @@ -191,8 +191,14 @@ public class FabricServer extends DynmapServerInterface { @Override public boolean isPlayerBanned(String pid) { - BannedPlayerList bl = server.getPlayerManager().getUserBanList(); - return bl.contains(getProfileByName(pid)); + PlayerManager scm = server.getPlayerManager(); + BannedPlayerList bl = scm.getUserBanList(); + try { + return bl.contains(getProfileByName(pid).get()); + } catch (NoSuchElementException e) { + /* If this profile doesn't exist, default to "banned" for good measure. */ + return true; + } } @Override @@ -349,11 +355,7 @@ public class FabricServer extends DynmapServerInterface { @Override public Set checkPlayerPermissions(String player, Set perms) { - PlayerManager scm = server.getPlayerManager(); - if (scm == null) return Collections.emptySet(); - BannedPlayerList bl = scm.getUserBanList(); - if (bl == null) return Collections.emptySet(); - if (bl.contains(getProfileByName(player))) { + if (isPlayerBanned(player)) { return Collections.emptySet(); } Set rslt = plugin.hasOfflinePermissions(player, perms); @@ -368,11 +370,7 @@ public class FabricServer extends DynmapServerInterface { @Override public boolean checkPlayerPermission(String player, String perm) { - PlayerManager scm = server.getPlayerManager(); - if (scm == null) return false; - BannedPlayerList bl = scm.getUserBanList(); - if (bl == null) return false; - if (bl.contains(getProfileByName(player))) { + if (isPlayerBanned(player)) { return false; } return plugin.hasOfflinePermission(player, perm);