I opened a Furnace from far away with the following code:
if(w.getBlockAt(i, 0, 0).getState() instanceof Furnace){
Furnace f = (Furnace)w.getBlockAt(i, 0, 0).getState();
p.openInventory(f.getInventory());
}
The Chunk was loaded, and it was a Furnace!
In 1.7.x it works fine and on a 1.7.x Server with a 1.8.x Client it works to, but with a 1.8.x Server and a 1.8.x Client it buggs, the player is in the InventoryViewer list but the client doesnt show the gui.