From 44f18fc1295460a3551defb51a5a7ed1c6d48ce9 Mon Sep 17 00:00:00 2001 From: OmerBenGera Date: Thu, 30 Dec 2021 09:41:15 +0200 Subject: [PATCH] Potential fix for skinsrestorer skins not working (#812) --- .../hooks/support/SkinsRestorerHook.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Hook_SkinsRestorer/src/main/java/com/bgsoftware/superiorskyblock/hooks/support/SkinsRestorerHook.java b/Hook_SkinsRestorer/src/main/java/com/bgsoftware/superiorskyblock/hooks/support/SkinsRestorerHook.java index ac318f53a..4440a8f95 100644 --- a/Hook_SkinsRestorer/src/main/java/com/bgsoftware/superiorskyblock/hooks/support/SkinsRestorerHook.java +++ b/Hook_SkinsRestorer/src/main/java/com/bgsoftware/superiorskyblock/hooks/support/SkinsRestorerHook.java @@ -7,7 +7,11 @@ import com.bgsoftware.superiorskyblock.utils.debug.PluginDebugger; import com.mojang.authlib.properties.Property; import net.skinsrestorer.api.SkinsRestorerAPI; +import net.skinsrestorer.api.bukkit.events.SkinApplyBukkitEvent; import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; import skinsrestorer.bukkit.SkinsRestorer; import skinsrestorer.shared.exception.SkinRequestException; import skinsrestorer.shared.storage.SkinStorage; @@ -27,6 +31,7 @@ public static void register(SuperiorSkyblockPlugin plugin) { skinsRestorer = new SkinsRestorerOld(); } plugin.getProviders().registerSkinsListener(SkinsRestorerHook::setSkinTexture); + plugin.getServer().getPluginManager().registerEvents(new SkinsListener(), plugin); } private static void setSkinTexture(SuperiorPlayer superiorPlayer) { @@ -76,4 +81,16 @@ public Property getSkin(SuperiorPlayer superiorPlayer) { } + private static final class SkinsListener implements Listener { + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onSkinApply(SkinApplyBukkitEvent event) { + if(event.getProperty() instanceof Property) { + SuperiorPlayer superiorPlayer = plugin.getPlayers().getSuperiorPlayer(event.getWho()); + plugin.getNMSPlayers().setSkinTexture(superiorPlayer, (Property) event.getProperty()); + } + } + + } + }