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.

By: t00thpick1 <t00thpick1dirko@gmail.com>
This commit is contained in:
CraftBukkit/Spigot 2013-12-03 13:27:12 -05:00
parent 2d51679452
commit 8cc0d0c782

View File

@ -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) {