diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index d6e4adf147..f5dc63f257 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -489,7 +489,7 @@ public class CraftBlock implements Block { } public boolean isEmpty() { - return getType() == Material.AIR; + return getNMS().isAir(); } public boolean isLiquid() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 3bf5b2a663..ae402a2bf4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1,5 +1,6 @@ package org.bukkit.craftbukkit.entity; +import com.google.common.collect.Sets; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -134,6 +135,9 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } private List getLineOfSight(Set transparent, int maxDistance, int maxLength) { + if (transparent == null) { + transparent = Sets.newHashSet(Material.AIR, Material.CAVE_AIR, Material.VOID_AIR); + } if (maxDistance > 120) { maxDistance = 120; } @@ -146,14 +150,8 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { blocks.remove(0); } Material material = block.getType(); - if (transparent == null) { - if (!material.equals(Material.AIR)) { - break; - } - } else { - if (!transparent.contains(material)) { - break; - } + if (!transparent.contains(material)) { + break; } } return blocks;