geforkt von Mirrors/Paper
52718dba10
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: aef9b6d2 PR-800: Add support for NoteBlock sounds in Skulls CraftBukkit Changes: ae8f5fc02 PR-1125: Add support for NoteBlock sounds in Skulls 0a1c89e4b SPIGOT-7212: Allow negative firework power 909a246af SPIGOT-7211: generateTree() with Consumer or Predicate is broken c810c3ed8 Increase outdated build delay
91 Zeilen
3.6 KiB
Diff
91 Zeilen
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Fri, 19 Jan 2018 00:29:28 -0500
|
|
Subject: [PATCH] Add setPlayerProfile API for Skulls
|
|
|
|
This allows you to create already filled textures on Skulls to avoid texture lookups
|
|
which commonly cause rate limit issues with Mojang API
|
|
|
|
diff --git a/src/main/java/org/bukkit/block/Skull.java b/src/main/java/org/bukkit/block/Skull.java
|
|
index 8d4093a413ca14a1c4c24a2a1b74c1d574943ffa..c7502a3913cf14e66559c21489d6f2205f3eb06a 100644
|
|
--- a/src/main/java/org/bukkit/block/Skull.java
|
|
+++ b/src/main/java/org/bukkit/block/Skull.java
|
|
@@ -63,6 +63,20 @@ public interface Skull extends TileState {
|
|
*/
|
|
public void setOwningPlayer(@NotNull OfflinePlayer player);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Sets this skull to use the supplied Player Profile, which can include textures already prefilled.
|
|
+ * @param profile The profile to set this Skull to use, may not be null
|
|
+ */
|
|
+ void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile);
|
|
+
|
|
+ /**
|
|
+ * If the skull has an owner, per {@link #hasOwner()}, return the owners {@link com.destroystokyo.paper.profile.PlayerProfile}
|
|
+ * @return The profile of the owner, if set
|
|
+ */
|
|
+ @Nullable com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile();
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Gets the profile of the player who owns the skull. This player profile
|
|
* may appear as the texture depending on skull type.
|
|
@@ -70,6 +84,7 @@ public interface Skull extends TileState {
|
|
* @return the profile of the owning player
|
|
*/
|
|
@Nullable
|
|
+ @Deprecated // Paper
|
|
PlayerProfile getOwnerProfile();
|
|
|
|
/**
|
|
@@ -84,6 +99,7 @@ public interface Skull extends TileState {
|
|
* @throws IllegalArgumentException if the profile does not contain the
|
|
* necessary information
|
|
*/
|
|
+ @Deprecated // Paper
|
|
void setOwnerProfile(@Nullable PlayerProfile profile);
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
|
|
index 5a18a66a0b7877ec0c1859f78cce659db4b8541a..862640b4611458dfbcd3be797eacd120fc8d1f9f 100644
|
|
--- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
|
|
+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
|
|
@@ -38,6 +38,20 @@ public interface SkullMeta extends ItemMeta {
|
|
@Deprecated
|
|
boolean setOwner(@Nullable String owner);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Sets this skull to use the supplied Player Profile, which can include textures already prefilled.
|
|
+ * @param profile The profile to set this Skull to use, or null to clear owner
|
|
+ */
|
|
+ void setPlayerProfile(@Nullable com.destroystokyo.paper.profile.PlayerProfile profile);
|
|
+
|
|
+ /**
|
|
+ * If the skull has an owner, per {@link #hasOwner()}, return the owners {@link com.destroystokyo.paper.profile.PlayerProfile}
|
|
+ * @return The profile of the owner, if set
|
|
+ */
|
|
+ @Nullable com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile();
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Gets the owner of the skull.
|
|
*
|
|
@@ -64,6 +78,7 @@ public interface SkullMeta extends ItemMeta {
|
|
* @return the profile of the owning player
|
|
*/
|
|
@Nullable
|
|
+ @Deprecated // Paper
|
|
PlayerProfile getOwnerProfile();
|
|
|
|
/**
|
|
@@ -78,6 +93,7 @@ public interface SkullMeta extends ItemMeta {
|
|
* @throws IllegalArgumentException if the profile does not contain the
|
|
* necessary information
|
|
*/
|
|
+ @Deprecated // Paper
|
|
void setOwnerProfile(@Nullable PlayerProfile profile);
|
|
|
|
/**
|