9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2026-01-04 15:41:40 +00:00
Files
Leaf/leaf-server/paper-patches/features/0007-KeYi-Player-Skull-API.patch
Dreeam d06fb16da3 Updated Upstream (Paper/Gale/Purpur)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@30fdfb1a [ci/skip] Fix docs for DamageResistant (#11992)
PaperMC/Paper@6b7650d8 Only add goat horn once (#12001)
PaperMC/Paper@30046e04 Fix a rare crash with a concurrent modification of scaled health attributes (#12002)
PaperMC/Paper@88bbead1 Flush regionfiles on save configuration option
PaperMC/Paper@336ea9df Check for empty when sending equipment changes (#12008)
PaperMC/Paper@939bb782 Add RayTraceConfigurationBuilder (#11907)
PaperMC/Paper@81bb82f5 Fix wrong piston world border check (#12007)
PaperMC/Paper@ce95b5d6 Use proper default for setting null display background color (#12010)
PaperMC/Paper@2477f1f6 [ci/skip] fix and improvements for docs in ConsumeEffect component (#11998)
PaperMC/Paper@fb5b173c Add PlayerClientLoadedWorldEvent (#11940)
PaperMC/Paper@3af5e771 Add Player#give (#11995)
PaperMC/Paper@7e21cb81 fix PlayerChangedMainHandEvent javadoc (#12020)
PaperMC/Paper@5a34bf04 Correctly retrun true for empty input shapes in EntityGetter#isUnobstructed
PaperMC/Paper@a392d475 Make Watchdog thread extend TickThread

Gale Changes:
Dreeam-qwq/Gale@f9080a7e Updated Upstream (Paper)
Dreeam-qwq/Gale@ff0596c1 [ci/skip] Fix upstream commit sh on mac
Dreeam-qwq/Gale@24970274 [ci/skip] Hermanez - Wutaf
Dreeam-qwq/Gale@85eabf60 [ci/skip] cleanup
Dreeam-qwq/Gale@7d9faf00 [ci/skip] cleanup & drop xor-shift random
Dreeam-qwq/Gale@7af04981 [ci/skip] cleanup
Dreeam-qwq/Gale@4d5d39df [ci/skip] Remove useless params standardize in upstream commit generator
Dreeam-qwq/Gale@964f16ff Updated Upstream (Paper)
Dreeam-qwq/Gale@0566a223 [ci/skip] cleanup
Dreeam-qwq/Gale@5e3f6740 [ci/skip] cleanup work finished
Dreeam-qwq/Gale@98a66cfb Updated Upstream (Paper)
Dreeam-qwq/Gale@f7736578 [ci/skip] Update upstreamCommit.sh
Dreeam-qwq/Gale@1c46c816 Updated Upstream (Paper)
Dreeam-qwq/Gale@2b0a4c09 [ci/skip] Skip tests during auto update validate phase

Purpur Changes:
PurpurMC/Purpur@4a0a86b9 Updated Upstream (Paper)
PurpurMC/Purpur@7399988c Fix hover in /plugins
PurpurMC/Purpur@5e5857dc [ci/skip] modify ci skip references in paper upstream commits
PurpurMC/Purpur@5583a3f1 Updated Upstream (Paper)
2025-01-27 20:08:18 -05:00

45 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: nostalgic853 <yuu8583@proton.me>
Date: Sun, 20 Nov 2022 00:20:00 +0800
Subject: [PATCH] KeYi: Player Skull API
Original license: MIT
Original project: https://github.com/KeYiMC/KeYi
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d84d716629d93e264bc40c565e9fedd1ce38722c..b78782a90bd9dcc43e9b98781f95a619b00d88cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3681,4 +3681,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
}
// Purpur end - Death screen API
+
+ // Leaf start - KeYi - Player Skull API
+ @Override
+ public ItemStack getSkull() {
+ ItemStack skull = new ItemStack(Material.PLAYER_HEAD, 1);
+ org.bukkit.inventory.meta.SkullMeta meta = (org.bukkit.inventory.meta.SkullMeta) skull.getItemMeta();
+
+ meta.setOwningPlayer(this);
+ skull.setItemMeta(meta);
+
+ return skull;
+ }
+
+ @Override
+ @Deprecated(forRemoval = true)
+ public CompletableFuture<ItemStack> getSkullAsynchronously() {
+ org.apache.logging.log4j.LogManager.getLogger("Leaf")
+ .warn("You should not use this method: Player#getSkullAsynchronously(), cause low performance, " +
+ "and will be removed in the future.");
+ java.util.concurrent.ExecutorService executorService = java.util.concurrent.Executors.newCachedThreadPool();
+
+ CompletableFuture<ItemStack> future = (CompletableFuture<ItemStack>) executorService.submit(this::getSkull);
+ executorService.shutdown();
+
+ return future;
+ }
+ // Leaf end - KeYi - Player Skull API
}