aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
index a8cd30d8..aeedd5d1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
@@ -31,6 +31,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class CapeManager {
@@ -242,6 +244,8 @@ public class CapeManager {
}
}
+ private static final ExecutorService capeTicker = Executors.newCachedThreadPool();
+
@SubscribeEvent
public void onTick(TickEvent.ClientTickEvent event) {
if (event.phase != TickEvent.Phase.END) return;
@@ -274,7 +278,9 @@ public class CapeManager {
continue;
}
capeMap.get(playerUUID).getLeft().setCapeTexture(capeName);
- capeMap.get(playerUUID).getLeft().onTick(event, player);
+ capeTicker.submit(() -> {
+ capeMap.get(playerUUID).getLeft().onTick(event, player);
+ });
} else {
toRemove.add(playerUUID);
}
@@ -284,7 +290,9 @@ public class CapeManager {
if(hasLocalCape) {
localCape.getLeft().setCapeTexture(localCape.getValue());
- localCape.getLeft().onTick(event, Minecraft.getMinecraft().thePlayer);
+ capeTicker.submit(() -> {
+ localCape.getLeft().onTick(event, Minecraft.getMinecraft().thePlayer);
+ });
}
for(String playerName : toRemove) {
capeMap.remove(playerName);