package com.censoredsoftware.library.schematic;

public class Point {
    private final int X, Y, Z;
    private final World world;

    public Point(int X, int Y, int Z, World world) {
        this.X = X;
        this.Y = Y;
        this.Z = Z;
        this.world = world;
    }

    public int getX() {
        return X;
    }

    public int getY() {
        return Y;
    }

    public int getZ() {
        return Z;
    }

    public World getWorld() {
        return world;
    }

    public Point add(int X, int Y, int Z) {
        return new Point(this.X + X, this.Y + Y, this.Z + Z, world);
    }
}

@@ -42,16 +42,43 @@
 matic;%0A%0A
+import java.util.Objects;%0A%0A
 public c
@@ -625,11 +625,342 @@
 );%0A    %7D
+%0A%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        return obj instanceof Point && ((Point) obj).X == X && ((Point) obj).Y == Y && ((Point) obj).Z == Z && ((Point) obj).world.getName().equals(world.getName());%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return Objects.hash(X, Y, Z, world.getName());%0A    %7D
 %0A%7D%0A

Update point to fix equality problems.