SPIGOT-4164: Treat new _AIR blocks as air

This commit is contained in:
md_5 2018-07-28 08:28:56 +10:00
parent 4b00823222
commit 4d3ef4821f
2 changed files with 7 additions and 9 deletions

View File

@ -489,7 +489,7 @@ public class CraftBlock implements Block {
}
public boolean isEmpty() {
return getType() == Material.AIR;
return getNMS().isAir();
}
public boolean isLiquid() {

View File

@ -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<Block> getLineOfSight(Set<Material> 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;