// Generated by delombok at Sun Oct 26 00:51:11 UTC 2025
package net.md_5.bungee.api.chat;

/**
 * Click event which sends a custom payload to the server.
 */
public class ClickEventCustom extends ClickEvent {
    /**
     * The custom payload.
     */
    private final String payload;

    /**
     * @param id identifier for the event (lower case, no special characters)
     * @param payload custom payload
     */
    public ClickEventCustom(String id, String payload) {
        super(ClickEvent.Action.CUSTOM, id);
        this.payload = payload;
    }

    /**
     * The custom payload.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getPayload() {
        return this.payload;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "ClickEventCustom(super=" + super.toString() + ", payload=" + this.getPayload() + ")";
    }

    @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 ClickEventCustom)) return false;
        final ClickEventCustom other = (ClickEventCustom) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (!super.equals(o)) return false;
        final java.lang.Object this$payload = this.getPayload();
        final java.lang.Object other$payload = other.getPayload();
        if (this$payload == null ? other$payload != null : !this$payload.equals(other$payload)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof ClickEventCustom;
    }

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