From 2291667661a11fedae0bc306315fcf10e1aeea18 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 29 Jun 2021 17:39:17 +0100 Subject: [PATCH] [ci skip] patch-ception --- ...kull-lookups-on-main-thread-MC-22743.patch | 59 ------------------- 1 file changed, 59 deletions(-) diff --git a/patches/server/0723-Don-t-complete-skull-lookups-on-main-thread-MC-22743.patch b/patches/server/0723-Don-t-complete-skull-lookups-on-main-thread-MC-22743.patch index 1bb39c92ef..a946ea1c78 100644 --- a/patches/server/0723-Don-t-complete-skull-lookups-on-main-thread-MC-22743.patch +++ b/patches/server/0723-Don-t-complete-skull-lookups-on-main-thread-MC-22743.patch @@ -4,65 +4,6 @@ Date: Tue, 29 Jun 2021 17:17:34 +0100 Subject: [PATCH] Don't complete skull lookups on main thread (MC-227435) -diff --git a/0001-Don-t-complete-skull-lookups-on-main-thread.patch b/0001-Don-t-complete-skull-lookups-on-main-thread.patch -new file mode 100644 -index 0000000000000000000000000000000000000000..602ee10b4328ef0c9e0301445a1dae3486a57e0a ---- /dev/null -+++ b/0001-Don-t-complete-skull-lookups-on-main-thread.patch -@@ -0,0 +1,53 @@ -+From 66c09880e3b6a2b3029af424641827a5bd6e4e36 Mon Sep 17 00:00:00 2001 -+From: Shane Freeder -+Date: Tue, 29 Jun 2021 17:17:34 +0100 -+Subject: [PATCH] Don't complete skull lookups on main thread -+ -+--- -+ .../level/block/entity/SkullBlockEntity.java | 17 ++++++++++++++--- -+ 1 file changed, 14 insertions(+), 3 deletions(-) -+ -+diff --git a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java -+index 172413fc0..59ce41527 100644 -+--- a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java -++++ b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java -+@@ -8,6 +8,8 @@ import com.mojang.authlib.properties.Property; -+ import java.util.UUID; -+ import java.util.function.Consumer; -+ import javax.annotation.Nullable; -++ -++import net.minecraft.Util; -+ import net.minecraft.core.BlockPos; -+ import net.minecraft.nbt.CompoundTag; -+ import net.minecraft.nbt.ListTag; -+@@ -145,15 +147,24 @@ public class SkullBlockEntity extends BlockEntity { -+ -+ public static void updateGameprofile(@Nullable GameProfile owner, Consumer callback) { -+ if (owner != null && !StringUtil.isNullOrEmpty(owner.getName()) && (!owner.isComplete() || !owner.getProperties().containsKey("textures")) && SkullBlockEntity.profileCache != null && SkullBlockEntity.sessionService != null) { -+- SkullBlockEntity.profileCache.getAsync(owner.getName(), (gameprofile1) -> { -++ // Paper start -++ SkullBlockEntity.profileCache.getAsync(owner.getName(), (gameprofile) -> { -++ Runnable runnable = () -> { -++ GameProfile gameprofile1 = gameprofile; -+ Property property = (Property) Iterables.getFirst(gameprofile1.getProperties().get("textures"), (Object) null); -+ -+ if (property == null) { -+ gameprofile1 = SkullBlockEntity.sessionService.fillProfileProperties(gameprofile1, true); -+ } -+ -+- SkullBlockEntity.profileCache.add(gameprofile1); -+- callback.accept(gameprofile1); -++ GameProfile finalGameprofile = gameprofile1; -++ net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> { -++ SkullBlockEntity.profileCache.add(finalGameprofile); -++ callback.accept(finalGameprofile); -++ }); -++ }; -++ Util.backgroundExecutor().execute(runnable); -++ // paper end -+ }); -+ } else { -+ callback.accept(owner); -+-- -+2.32.0 -+ diff --git a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java index 172413fc0f303d5e15bc2bc55c09ce4faf5298a0..705d5ebb3d7b40745b318617ea39a7ea785b9504 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java