summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNate Mortensen <nate.richard.mortensen@gmail.com>2013-12-17 19:23:26 -0700
committerNate Mortensen <nate.richard.mortensen@gmail.com>2013-12-17 20:17:38 -0700
commit8da512628263584ab75b4fb932781a2f242d08a5 (patch)
tree63b59d2e2339f28062fb3cb0bf4cb4207e60d389 /src
parent091fb2ea9e687a193a0a31f199fc8363cd9546ba (diff)
downloadcraftbukkit-8da512628263584ab75b4fb932781a2f242d08a5.tar
craftbukkit-8da512628263584ab75b4fb932781a2f242d08a5.tar.gz
craftbukkit-8da512628263584ab75b4fb932781a2f242d08a5.tar.lz
craftbukkit-8da512628263584ab75b4fb932781a2f242d08a5.tar.xz
craftbukkit-8da512628263584ab75b4fb932781a2f242d08a5.zip
Add new setResourcePack method. Fixes BUKKIT-5015
Minecraft now uses resource packs instead of texture packs, which broke the setTexturePack method, as the client no longer listens on the MC|TPack channel. This commit fixes the issue by adding in a setResourcePack method, and by deprecating setTexturePack and rewriting it to call the newly added setResourcePack. In order to simplify the method and prevent this from happening in the future, setResourcePack calls EntityPlayer.a(String) to use the same logic as minecraft when sending resource packs.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 48c5ae9c..33169e29 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -880,12 +880,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setTexturePack(String url) {
- Validate.notNull(url, "Texture pack URL cannot be null");
+ setResourcePack(url);
+ }
- byte[] message = (url + "\0" + "16").getBytes();
- Validate.isTrue(message.length <= Messenger.MAX_MESSAGE_SIZE, "Texture pack URL is too long");
+ @Override
+ public void setResourcePack(String url) {
+ Validate.notNull(url, "Resource pack URL cannot be null");
- getHandle().playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|TPack", message));
+ getHandle().a(url); // should be setResourcePack
}
public void addChannel(String channel) {