05-05-2015, 07:26 AM
Note that "open" door is somewhat vague. It's not enough to check the "openness" bit, because it effectively only says which side of the block is blocked by the door. It's possible to place a door that lets things through when it's "closed" and blocks things when it's "open". This might need a change in the A* logic, instead of asking "is block solid", it should ask "can I go from block A to neighbor N?" This kind of questions can then be answered using the door data.