b5ce6e3dc5
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: eb4b416d PR-822: Add experimental armor trim API 33498e1d PR-831: Add a standard of annotations for Minecraft experimental things and API CraftBukkit Changes: 19de3550d SPIGOT-7315: Bed placement duplicates crops if cancelled 1eb88374e PR-1147: Add experimental armor trim API c4c0bb0e9 Show clean error for invalidly configured server.properties options 3ae90697f Fix UUID not being updated when changing world of MapView e43000601 PR-1164, MC-227255, MC-253819: Fix rotation of beehives and bells Spigot Changes: d2fdfe39 Rebuild patches
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 fab2ca9f6c7738795cfedbb6d0d2206f13e9da8a..33ae32155d12ecd58a2a6434dba229043d4e2132 100644
|
|
--- a/src/main/java/org/bukkit/block/Skull.java
|
|
+++ b/src/main/java/org/bukkit/block/Skull.java
|
|
@@ -65,6 +65,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.
|
|
@@ -72,6 +86,7 @@ public interface Skull extends TileState {
|
|
* @return the profile of the owning player
|
|
*/
|
|
@Nullable
|
|
+ @Deprecated // Paper
|
|
PlayerProfile getOwnerProfile();
|
|
|
|
/**
|
|
@@ -86,6 +101,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 461cdecc3e8f45b63f17963031b16943309909e2..1808e1315c72f983817426420eb22434c6a65024 100644
|
|
--- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
|
|
+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
|
|
@@ -40,6 +40,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.
|
|
*
|
|
@@ -66,6 +80,7 @@ public interface SkullMeta extends ItemMeta {
|
|
* @return the profile of the owning player
|
|
*/
|
|
@Nullable
|
|
+ @Deprecated // Paper
|
|
PlayerProfile getOwnerProfile();
|
|
|
|
/**
|
|
@@ -80,6 +95,7 @@ public interface SkullMeta extends ItemMeta {
|
|
* @throws IllegalArgumentException if the profile does not contain the
|
|
* necessary information
|
|
*/
|
|
+ @Deprecated // Paper
|
|
void setOwnerProfile(@Nullable PlayerProfile profile);
|
|
|
|
/**
|