From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Wed, 5 Aug 2020 14:25:50 -0500 Subject: [PATCH] Add GameProfileLookupEvent diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java index 040fd0c3fc4bc3a04fe5dff919a41fe9b474708e..21d92c3e8e2e953bfc85c1ba3ed54ca0dae751fb 100644 --- a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -187,13 +187,24 @@ public class CraftPlayerProfile implements PlayerProfile { boolean isCompleteFromCache = this.completeFromCache(true, onlineMode); if (onlineMode && (!isCompleteFromCache || textures && !hasTextures())) { - GameProfile result = server.getMinecraftSessionService().fillProfileProperties(profile, true); - if (result != null) { - copyProfileProperties(result, this.profile, true); - } - if (this.profile.isComplete()) { - server.getUserCache().saveProfile(this.profile); + // Yatopia start + dev.tr7zw.yatopia.events.GameProfileLookupEvent event = new + dev.tr7zw.yatopia.events.GameProfileLookupEvent( + !org.bukkit.Bukkit.isPrimaryThread(), profile.getId(), profile.getName()); + org.bukkit.Bukkit.getPluginManager().callEvent(event); + GameProfile eventProfile = event.getGameProfile(); + if (eventProfile != null) { + this.profile = eventProfile; + } else { + GameProfile result = server.getMinecraftSessionService().fillProfileProperties(profile, true); + if (result != null) { + copyProfileProperties(result, this.profile, true); + } + if (this.profile.isComplete()) { + server.getUserCache().saveProfile(this.profile); + } } + // Yatopia end } return profile.isComplete() && (!onlineMode || !textures || hasTextures()); } diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySkull.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySkull.java index 4f7c014fa609a39cac651ccc6d3397d7edb77d8d..fe9238ecc0f3a4948f5867fcae4fe64c9142a98e 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySkull.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySkull.java @@ -87,7 +87,18 @@ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Pa if ( property == null ) { + // Yatopia start + dev.tr7zw.yatopia.events.GameProfileLookupEvent event = + new dev.tr7zw.yatopia.events.GameProfileLookupEvent( + !org.bukkit.Bukkit.isPrimaryThread(), profile.getId(), profile.getName()); + org.bukkit.Bukkit.getPluginManager().callEvent(event); + GameProfile eventProfile = event.getGameProfile(); + if (eventProfile != null) { + profile = eventProfile; + } else { profile = TileEntitySkull.sessionService.fillProfileProperties( profile, true ); + } + // Yatopia end } }