13
0
geforkt von Mirrors/Paper

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.
Dieser Commit ist enthalten in:
Nate Mortensen 2013-12-17 19:23:26 -07:00
Ursprung 091fb2ea9e
Commit 8da5126282

Datei anzeigen

@ -880,12 +880,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public void setTexturePack(String url) { public void setTexturePack(String url) {
Validate.notNull(url, "Texture pack URL cannot be null"); setResourcePack(url);
}
byte[] message = (url + "\0" + "16").getBytes(); @Override
Validate.isTrue(message.length <= Messenger.MAX_MESSAGE_SIZE, "Texture pack URL is too long"); 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) { public void addChannel(String channel) {