public Block GetNearBlock(Utils.Face face) { Position pos = Position.NearPosition(face); Chunk chunk = ParentChunk.World.GetChunk(EntityUtils.ToChunkPosition(pos)); return(chunk != null ? chunk.GetLocalBlock(EntityUtils.ToLocalChunkPosition(pos)) : null); }
public Position NearPosition(Utils.Face face) { Position pos = CopyOf(); switch (face) { case Utils.Face.UP: ++pos.y; break; case Utils.Face.DOWN: --pos.y; break; case Utils.Face.NORTH: ++pos.x; break; case Utils.Face.SOUTH: --pos.x; break; case Utils.Face.EAST: ++pos.z; break; case Utils.Face.WEST: --pos.z; break; } return(pos); }