From 5c446a97ae815e6cc2a112d2c24ea5cf81943fb0 Mon Sep 17 00:00:00 2001 From: Wojciech Stryjewski Date: Tue, 9 Oct 2012 16:12:24 -0500 Subject: [PATCH] Add API to allow plugins to request players switch to a texture pack. Adds BUKKIT-2579 The setTexturePack method causes the player's client to download and switch to a texture pack specified by a URL. Note: Players can disable server textures on their client, in which case this API would not affect them. --- src/main/java/org/bukkit/entity/Player.java | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index 73a9ea4e..d287d78a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -569,4 +569,27 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline * @return The current allowed speed, from -1 to 1 */ public float getWalkSpeed(); + + /** + * Request that the player's client download and switch texture packs. + *

+ * The player's client will download the new texture pack asynchronously in the background, and + * will automatically switch to it once the download is complete. If the client has downloaded + * and cached the same texture pack in the past, it will perform a quick timestamp check over + * the network to determine if the texture pack has changed and needs to be downloaded again. + * When this request is sent for the very first time from a given server, the client will first + * display a confirmation GUI to the player before proceeding with the download. + *

+ * Notes: + *

+ * + * @param url The URL from which the client will download the texture pack. The string must contain + * only US-ASCII characters and should be encoded as per RFC 1738. + * @throws IllegalArgumentException Thrown if the URL is null. + * @throws IllegalArgumentException Thrown if the URL is too long. + */ + public void setTexturePack(String url); }