private void Orient(byte change) { int changeRotation = VoxelFace.GetOrientationRotation(change); bool changeFlip = VoxelFace.GetOrientationMirror(change); int paintRotation = VoxelFace.GetOrientationRotation(paint.orientation); bool paintFlip = VoxelFace.GetOrientationMirror(paint.orientation); if (paintFlip ^ changeFlip) { paintRotation += 4 - changeRotation; } else { paintRotation += changeRotation; } if (changeFlip) { paintFlip = !paintFlip; } paint.orientation = VoxelFace.Orientation(paintRotation, paintFlip); handler(paint); }