From 62361b1359550c7232c78fdf490be389a4df8ac2 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Mar 2013 13:05:01 +1100 Subject: [PATCH] Texture pack resolutions - Fix issues when specifiying a server texture pack URL with resolution != 16. --- .../0044-Texture-Pack-Resolutions.patch | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 CraftBukkit-Patches/0044-Texture-Pack-Resolutions.patch diff --git a/CraftBukkit-Patches/0044-Texture-Pack-Resolutions.patch b/CraftBukkit-Patches/0044-Texture-Pack-Resolutions.patch new file mode 100644 index 0000000000..0c71a7fb8c --- /dev/null +++ b/CraftBukkit-Patches/0044-Texture-Pack-Resolutions.patch @@ -0,0 +1,74 @@ +From 20fc3a807f658834275d520751f0d5c6a8ec1e28 Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Sat, 23 Mar 2013 13:04:45 +1100 +Subject: [PATCH] Texture Pack Resolutions + +Fix issues when specifiying a server texture pack URL with resolution != 16. +--- + src/main/java/net/minecraft/server/MinecraftServer.java | 2 +- + src/main/java/org/bukkit/craftbukkit/Spigot.java | 2 ++ + src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 2 +- + src/main/resources/configurations/bukkit.yml | 1 + + 4 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index 3689a3d..9a78084 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -1075,7 +1075,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo + } + + public int S() { +- return 16; ++ return org.bukkit.craftbukkit.Spigot.textureResolution; // Spigot + } + + public abstract boolean T(); +diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java +index 9a01674..cf17b5a 100644 +--- a/src/main/java/org/bukkit/craftbukkit/Spigot.java ++++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java +@@ -24,6 +24,7 @@ public class Spigot { + public static boolean tabPing = false; + private static Metrics metrics; + public static List bungeeIPs; ++ public static int textureResolution = 16; + + public static void initialize(CraftServer server, SimpleCommandMap commandMap, YamlConfiguration configuration) { + commandMap.register("bukkit", new org.bukkit.craftbukkit.command.TicksPerSecondCommand("tps")); +@@ -62,6 +63,7 @@ public class Spigot { + + tabPing = configuration.getBoolean("settings.tab-ping", tabPing); + bungeeIPs = configuration.getStringList("settings.bungee-proxies"); ++ textureResolution = configuration.getInt("settings.texture-resolution", textureResolution); + + if (metrics == null) { + try { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +index 2e58bf0..d7a3bc7 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -834,7 +834,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + public void setTexturePack(String url) { + Validate.notNull(url, "Texture pack URL cannot be null"); + +- byte[] message = (url + "\0" + "16").getBytes(); ++ byte[] message = (url + "\0" + org.bukkit.craftbukkit.Spigot.textureResolution).getBytes(); // Spigot + Validate.isTrue(message.length <= Messenger.MAX_MESSAGE_SIZE, "Texture pack URL is too long"); + + getHandle().playerConnection.sendPacket(new Packet250CustomPayload("MC|TPack", message)); +diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml +index 64f68a2..4034c6f 100644 +--- a/src/main/resources/configurations/bukkit.yml ++++ b/src/main/resources/configurations/bukkit.yml +@@ -37,6 +37,7 @@ settings: + restart-script-location: /path/to/server/start.sh + bungee-proxies: + - 127.0.0.1 ++ texture-resolution: 16 + world-settings: + default: + growth-chunks-per-tick: 650 +-- +1.8.1-rc2 +