// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.builtin.buildertools.tooloperations.transform;

import javax.annotation.Nonnull;
import com.hypixel.hytale.math.vector.Vector3i;

public class Translate implements Transform
{
    private final int x;
    private final int y;
    private final int z;
    
    private Translate(final int x, final int y, final int z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
    
    @Override
    public void apply(@Nonnull final Vector3i vector3i) {
        vector3i.add(this.x, this.y, this.z);
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "Translate{x=" + this.x + ", y=" + this.y + ", z=" + this.z;
    }
    
    @Nonnull
    public static Transform of(@Nonnull final Vector3i vector) {
        return of(vector.getX(), vector.getY(), vector.getZ());
    }
    
    @Nonnull
    public static Transform of(final int x, final int y, final int z) {
        if (x == 0 && y == 0 && z == 0) {
            return Translate.NONE;
        }
        return new Translate(x, y, z);
    }
}
