Fixed some logic issues with falling blocks, fix #897 #899 #935

This commit is contained in:
Dylan K. Taylor 2017-05-23 19:48:49 +01:00
parent 23ed3334c2
commit 5c8297f4a1

View File

@ -121,7 +121,8 @@ class FallingSand extends Entity{
if($this->onGround){
$this->kill();
$block = $this->level->getBlock($pos);
if($block->getId() > 0 and !$block->isSolid() and !($block instanceof Liquid)){
if($block->getId() > 0 and $block->isTransparent() and !$block->canBeReplaced()){
//FIXME: falling blocks are supposed to be destroyed by glass blocks, and anvils are supposed to destroy torches
$this->getLevel()->dropItem($this, ItemItem::get($this->getBlock(), $this->getDamage(), 1));
}else{
$this->server->getPluginManager()->callEvent($ev = new EntityBlockChangeEvent($this, $block, Block::get($this->getBlock(), $this->getDamage())));