// Generated by delombok at Fri Oct 24 23:16:37 UTC 2025
package net.md_5.bungee.api.chat.objects;

import lombok.NonNull;

public final class SpriteObject implements ChatObject {
    /**
     * The namespaced ID of a sprite atlas, default value: minecraft:blocks.
     */
    private String atlas;
    /**
     * The namespaced ID of a sprite in atlas, for example item/porkchop.
     */
    @NonNull
    private String sprite;

    /**
     * The namespaced ID of a sprite atlas, default value: minecraft:blocks.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getAtlas() {
        return this.atlas;
    }

    /**
     * The namespaced ID of a sprite in atlas, for example item/porkchop.
     */
    @NonNull
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getSprite() {
        return this.sprite;
    }

    /**
     * The namespaced ID of a sprite atlas, default value: minecraft:blocks.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setAtlas(final String atlas) {
        this.atlas = atlas;
    }

    /**
     * The namespaced ID of a sprite in atlas, for example item/porkchop.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setSprite(@NonNull final String sprite) {
        if (sprite == null) {
            throw new java.lang.NullPointerException("sprite is marked non-null but is null");
        }
        this.sprite = sprite;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof SpriteObject)) return false;
        final SpriteObject other = (SpriteObject) o;
        final java.lang.Object this$atlas = this.getAtlas();
        final java.lang.Object other$atlas = other.getAtlas();
        if (this$atlas == null ? other$atlas != null : !this$atlas.equals(other$atlas)) return false;
        final java.lang.Object this$sprite = this.getSprite();
        final java.lang.Object other$sprite = other.getSprite();
        if (this$sprite == null ? other$sprite != null : !this$sprite.equals(other$sprite)) return false;
        return true;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final java.lang.Object $atlas = this.getAtlas();
        result = result * PRIME + ($atlas == null ? 43 : $atlas.hashCode());
        final java.lang.Object $sprite = this.getSprite();
        result = result * PRIME + ($sprite == null ? 43 : $sprite.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "SpriteObject(atlas=" + this.getAtlas() + ", sprite=" + this.getSprite() + ")";
    }

    /**
     * Creates a new {@code SpriteObject} instance.
     *
     * @param atlas The namespaced ID of a sprite atlas, default value: minecraft:blocks.
     * @param sprite The namespaced ID of a sprite in atlas, for example item/porkchop.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public SpriteObject(final String atlas, @NonNull final String sprite) {
        if (sprite == null) {
            throw new java.lang.NullPointerException("sprite is marked non-null but is null");
        }
        this.atlas = atlas;
        this.sprite = sprite;
    }
}
