From e5353b82a7974693ebdb16e08e9d702d1b7abd87 Mon Sep 17 00:00:00 2001 From: t00thpick1 Date: Tue, 3 Dec 2013 13:27:12 -0500 Subject: Correctly validate map colors. Fixes BUKKIT-4984 The validation check in CraftMapView.render(CraftPlayer) filters out any values less than 0. As of Minecraft 1.7, -128 through -113 are valid colors, so filtering them out prevents some of the new colors from being sent. This commit fixes the issue by adjusting the validation check to include any values less than or equal to -113. As the minimum value for a byte is -128, no invalid colors are included. --- src/main/java/org/bukkit/craftbukkit/map/CraftMapView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/org/bukkit/craftbukkit/map/CraftMapView.java b/src/main/java/org/bukkit/craftbukkit/map/CraftMapView.java index b28d6a34..1a150d98 100644 --- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapView.java +++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapView.java @@ -147,7 +147,9 @@ public final class CraftMapView implements MapView { byte[] buf = canvas.getBuffer(); for (int i = 0; i < buf.length; ++i) { - if (buf[i] >= 0) render.buffer[i] = buf[i]; + byte color = buf[i]; + // There are 143 valid color id's, 0 -> 127 and -128 -> -113 + if (color >= 0 || color <= -113) render.buffer[i] = color; } for (int i = 0; i < canvas.getCursors().size(); ++i) { -- cgit v1.2.3