summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2012-11-17 10:31:13 -0600
committerTravis Watkins <amaranth@ubuntu.com>2012-11-17 15:06:06 -0600
commit20c074ec6c71863d50165338999795a226435254 (patch)
treed54132eb0d49edaf6bd92db99f42aa64009eb916 /src/main/java
parent2d832bf14886a751cc535ec4a7d247b73e685d41 (diff)
downloadcraftbukkit-20c074ec6c71863d50165338999795a226435254.tar
craftbukkit-20c074ec6c71863d50165338999795a226435254.tar.gz
craftbukkit-20c074ec6c71863d50165338999795a226435254.tar.lz
craftbukkit-20c074ec6c71863d50165338999795a226435254.tar.xz
craftbukkit-20c074ec6c71863d50165338999795a226435254.zip
Don't show a player on map if they're vanished. Fixes BUKKIT-1882
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
index 0272462d..81abeb55 100644
--- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
+++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.map;
import net.minecraft.server.WorldMap;
import net.minecraft.server.WorldMapDecoration;
+import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.map.MapCanvas;
import org.bukkit.map.MapCursorCollection;
@@ -32,8 +33,15 @@ public class CraftMapRenderer extends MapRenderer {
while (cursors.size() > 0) {
cursors.removeCursor(cursors.getCursor(0));
}
- for (Object object : worldMap.g.values()) {
- WorldMapDecoration decoration = (WorldMapDecoration) object;
+
+ for (Object key : worldMap.g.keySet()) {
+ // If this cursor is for a player check visibility with vanish system
+ Player other = Bukkit.getPlayerExact((String) key);
+ if (other != null && !player.canSee(other)) {
+ continue;
+ }
+
+ WorldMapDecoration decoration = (WorldMapDecoration) worldMap.g.get(key);
cursors.addCursor(decoration.locX, decoration.locY, (byte) (decoration.rotation & 15), (byte) (decoration.type));
}
}