diff --git a/src/main/java/com/denizenscript/denizen2sponge/tags/handlers/ServerTagBase.java b/src/main/java/com/denizenscript/denizen2sponge/tags/handlers/ServerTagBase.java index 36b8d72..50e53f4 100644 --- a/src/main/java/com/denizenscript/denizen2sponge/tags/handlers/ServerTagBase.java +++ b/src/main/java/com/denizenscript/denizen2sponge/tags/handlers/ServerTagBase.java @@ -314,13 +314,18 @@ public String getName() { // --> handlers.put("match_player", (dat, obj) -> { String matchInput = CoreUtilities.toLowerCase( dat.getNextModifier().toString()); - UUID uuid = CoreUtilities.tryGetUUID(matchInput); - if (uuid != null) { - Optional opt = Sponge.getServer().getPlayer(uuid); - if (!opt.isPresent()) { - return NullTag.NULL; + try { + UUID uuid = CoreUtilities.tryGetUUID(matchInput); + if (uuid != null) { + Optional opt = Sponge.getServer().getPlayer(uuid); + if (!opt.isPresent()) { + return NullTag.NULL; + } + return new PlayerTag(opt.get()); } - return new PlayerTag(opt.get()); + } + catch (Exception e) { + // Ignore. } Collection players = Sponge.getServer().getOnlinePlayers(); for (Player player : players) { diff --git a/src/main/java/com/denizenscript/denizen2sponge/tags/objects/EntityTag.java b/src/main/java/com/denizenscript/denizen2sponge/tags/objects/EntityTag.java index 643bdc2..f9a5319 100644 --- a/src/main/java/com/denizenscript/denizen2sponge/tags/objects/EntityTag.java +++ b/src/main/java/com/denizenscript/denizen2sponge/tags/objects/EntityTag.java @@ -1019,19 +1019,25 @@ else if (ent instanceof Ageable) { } public static EntityTag getFor(Action error, String text) { - UUID uuid = CoreUtilities.tryGetUUID(text); - if (uuid == null) { - error.run("Invalid EntityTag UUID input (input is not a valid UUID)!"); + try { + UUID uuid = CoreUtilities.tryGetUUID(text); + if (uuid == null) { + error.run("Invalid EntityTag UUID input (input is not a valid UUID)!"); + return null; + } + for (World world : Sponge.getServer().getWorlds()) { + Optional e = world.getEntity(uuid); + if (e.isPresent()) { + return new EntityTag(e.get()); + } + } + error.run("Invalid EntityTag UUID input (that UUID cannot be matched to a real entity)!"); return null; } - for (World world : Sponge.getServer().getWorlds()) { - Optional e = world.getEntity(uuid); - if (e.isPresent()) { - return new EntityTag(e.get()); - } + catch (Exception e) { + error.run("Invalid EntityTag UUID input (input is not a valid UUID)!"); + return null; } - error.run("Invalid EntityTag UUID input (that UUID cannot be matched to a real entity)!"); - return null; } public static EntityTag getFor(Action error, AbstractTagObject ato) { diff --git a/src/main/java/com/denizenscript/denizen2sponge/tags/objects/PlayerTag.java b/src/main/java/com/denizenscript/denizen2sponge/tags/objects/PlayerTag.java index 079e98f..77ad0b3 100644 --- a/src/main/java/com/denizenscript/denizen2sponge/tags/objects/PlayerTag.java +++ b/src/main/java/com/denizenscript/denizen2sponge/tags/objects/PlayerTag.java @@ -411,14 +411,19 @@ else if (map.getInternal().containsKey("item")) { } public static PlayerTag getFor(Action error, String text) { - UUID uuid = CoreUtilities.tryGetUUID(text); - if (uuid != null) { - Optional oplayer = Sponge.getServer().getPlayer(uuid); - if (!oplayer.isPresent()) { - error.run("Invalid PlayerTag UUID input!"); - return null; + try { + UUID uuid = CoreUtilities.tryGetUUID(text); + if (uuid != null) { + Optional oplayer = Sponge.getServer().getPlayer(uuid); + if (!oplayer.isPresent()) { + error.run("Invalid PlayerTag UUID input!"); + return null; + } + return new PlayerTag(oplayer.get()); } - return new PlayerTag(oplayer.get()); + } + catch (Exception e) { + // Ignore. } Optional oplayer = Sponge.getServer().getPlayer(text); if (!oplayer.isPresent()) {