90 lines
		
	
	
	
		
			3.6 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/block/Skull.java
 | 
						|
+++ b/src/main/java/org/bukkit/block/Skull.java
 | 
						|
@@ -0,0 +0,0 @@ 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.
 | 
						|
@@ -0,0 +0,0 @@ public interface Skull extends TileState {
 | 
						|
      * @return the profile of the owning player
 | 
						|
      */
 | 
						|
     @Nullable
 | 
						|
+    @Deprecated // Paper
 | 
						|
     PlayerProfile getOwnerProfile();
 | 
						|
 
 | 
						|
     /**
 | 
						|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
 | 
						|
+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
 | 
						|
@@ -0,0 +0,0 @@ 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.
 | 
						|
      *
 | 
						|
@@ -0,0 +0,0 @@ public interface SkullMeta extends ItemMeta {
 | 
						|
      * @return the profile of the owning player
 | 
						|
      */
 | 
						|
     @Nullable
 | 
						|
+    @Deprecated // Paper
 | 
						|
     PlayerProfile getOwnerProfile();
 | 
						|
 
 | 
						|
     /**
 | 
						|
@@ -0,0 +0,0 @@ public interface SkullMeta extends ItemMeta {
 | 
						|
      * @throws IllegalArgumentException if the profile does not contain the
 | 
						|
      * necessary information
 | 
						|
      */
 | 
						|
+    @Deprecated // Paper
 | 
						|
     void setOwnerProfile(@Nullable PlayerProfile profile);
 | 
						|
 
 | 
						|
     @Override
 |