diff --git a/src/main/java/com/sk89q/worldedit/math/transform/Transforms.java b/src/main/java/com/sk89q/worldedit/math/transform/Transforms.java new file mode 100644 index 000000000..35f8a3df8 --- /dev/null +++ b/src/main/java/com/sk89q/worldedit/math/transform/Transforms.java @@ -0,0 +1,49 @@ +/* + * WorldEdit, a Minecraft world manipulation toolkit + * Copyright (C) sk89q + * Copyright (C) WorldEdit team and contributors + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.sk89q.worldedit.math.transform; + +import com.sk89q.worldedit.util.Location; + +import static com.google.common.base.Preconditions.checkNotNull; + +/** + * Various utility methods related to {@link Transform}s. + */ +public final class Transforms { + + private Transforms() { + } + + /** + * Transform a location's position with a given transform. + *

+ * Direction is unaffected. + * + * @param location the location + * @param transform the transform + * @return the transformed location + */ + public static Location transform(Location location, Transform transform) { + checkNotNull(location); + checkNotNull(transform); + return new Location(location.getWorld(), transform.apply(location.toVector()), location.getDirection()); + } + +}