package net.runelite.api.coords;

/**
 * RuneLite WorldPoint compatibility stub.
 */
public class WorldPoint {
    private final int x;
    private final int y;
    private final int plane;
    
    public WorldPoint(int x, int y, int plane) {
        this.x = x;
        this.y = y;
        this.plane = plane;
    }
    
    public int getX() { return x; }
    public int getY() { return y; }
    public int getPlane() { return plane; }
    
    public static WorldPoint fromLocal(Object client, int localX, int localY) {
        // Simplified conversion - in real implementation this would use proper math
        return new WorldPoint(localX, localY, 0);
    }
    
    @Override
    public String toString() {
        return String.format("WorldPoint(%d, %d, %d)", x, y, plane);
    }
    
    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (!(obj instanceof WorldPoint)) return false;
        WorldPoint other = (WorldPoint) obj;
        return x == other.x && y == other.y && plane == other.plane;
    }
    
    @Override
    public int hashCode() {
        return 31 * (31 * x + y) + plane;
    }
}