From 8a1d8e31064d86b7647c174dce58a026a160b14d Mon Sep 17 00:00:00 2001 From: fullwall Date: Fri, 12 Sep 2014 21:46:02 +0800 Subject: [PATCH] Early return instead of remove on a blockingdeque --- .../java/net/citizensnpcs/npc/entity/HumanController.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/citizensnpcs/npc/entity/HumanController.java b/src/main/java/net/citizensnpcs/npc/entity/HumanController.java index 5d79a2dc1..11f1fdc7c 100644 --- a/src/main/java/net/citizensnpcs/npc/entity/HumanController.java +++ b/src/main/java/net/citizensnpcs/npc/entity/HumanController.java @@ -152,7 +152,7 @@ public class HumanController extends AbstractEntityController { if (cached != null) { if (Messaging.isDebugging()) { Messaging - .debug("Using cached skin texture for NPC " + npc.getName() + " UUID " + npc.getUniqueId()); + .debug("Using cached skin texture for NPC " + npc.getName() + " UUID " + npc.getUniqueId()); } skinProfile = new GameProfile(UUID.fromString(realUUID), ""); skinProfile.getProperties().put("textures", cached); @@ -162,7 +162,9 @@ public class HumanController extends AbstractEntityController { ((YggdrasilMinecraftSessionService) repo).getAuthenticationService(), new GameProfile(UUID.fromString(realUUID), ""), true); } catch (Exception e) { - if (e.getMessage() != null && e.getMessage().contains("too many requests")) { + if ((e.getMessage() != null && e.getMessage().contains("too many requests")) + || (e.getCause() != null && e.getCause().getMessage() != null && e.getCause().getMessage() + .contains("too many requests"))) { SKIN_THREAD.delay(); SKIN_THREAD.addRunnable(this); } @@ -202,7 +204,7 @@ public class HumanController extends AbstractEntityController { Iterator itr = tasks.iterator(); while (itr.hasNext()) { if (((SkinFetcher) itr.next()).npc.getUniqueId().equals(((SkinFetcher) r).npc.getUniqueId())) { - itr.remove(); + return; } } tasks.offer(r);