diff --git a/src/main/scala/li/cil/oc/server/component/Agent.scala b/src/main/scala/li/cil/oc/server/component/Agent.scala index 74a6a3960..88be38d19 100644 --- a/src/main/scala/li/cil/oc/server/component/Agent.scala +++ b/src/main/scala/li/cil/oc/server/component/Agent.scala @@ -150,6 +150,17 @@ trait Agent extends traits.WorldControl with traits.InventoryControl with traits reason = reason.orElse(Option(what)) } + // all side attempts failed - but there could be a partial block that is hard to "see" + val (hasBlock, _) = blockContent(facing) + if (hasBlock) { + val blockPos = position.offset(facing) + val player = rotatedPlayer(facing, facing) + player.setSneaking(sneaky) + val (ok, why) = click(player, blockPos.x, blockPos.y, blockPos.z, facing.ordinal()) + player.setSneaking(false) + return result(ok, why) + } + result(false, reason.orNull) }