/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  net.minecraft.class_10377
 *  net.minecraft.class_11256
 *  net.minecraft.class_1767
 *  net.minecraft.class_8030
 *  net.minecraft.class_9307
 *  org.jetbrains.annotations.Nullable
 */
package meteordevelopment.meteorclient.utils.render;

import java.lang.invoke.MethodHandle;
import java.lang.runtime.ObjectMethods;
import net.minecraft.class_10377;
import net.minecraft.class_11256;
import net.minecraft.class_1767;
import net.minecraft.class_8030;
import net.minecraft.class_9307;
import org.jetbrains.annotations.Nullable;

public final class CustomBannerGuiElementRenderState
extends Record
implements class_11256 {
    private final class_10377 flag;
    private final class_1767 baseColor;
    private final class_9307 resultBannerPatterns;
    private final int x1;
    private final int y1;
    private final int x2;
    private final int y2;
    @Nullable
    private final class_8030 scissorArea;
    @Nullable
    private final class_8030 bounds;
    private final float scale;

    public CustomBannerGuiElementRenderState(class_10377 bannerFlagBlockModel, class_1767 color, class_9307 bannerPatterns, int x1, int y1, int x2, int y2, @Nullable class_8030 scissorArea, float scale) {
        this(bannerFlagBlockModel, color, bannerPatterns, x1, y1, x2, y2, scissorArea, class_11256.method_71535((int)x1, (int)y1, (int)x2, (int)y2, (class_8030)scissorArea), scale);
    }

    public CustomBannerGuiElementRenderState(class_10377 flag, class_1767 baseColor, class_9307 resultBannerPatterns, int x1, int y1, int x2, int y2, @Nullable class_8030 scissorArea, @Nullable class_8030 bounds, float scale) {
        this.flag = flag;
        this.baseColor = baseColor;
        this.resultBannerPatterns = resultBannerPatterns;
        this.x1 = x1;
        this.y1 = y1;
        this.x2 = x2;
        this.y2 = y2;
        this.scissorArea = scissorArea;
        this.bounds = bounds;
        this.scale = scale;
    }

    @Override
    public final String toString() {
        return ObjectMethods.bootstrap("toString", new MethodHandle[]{CustomBannerGuiElementRenderState.class, "flag;baseColor;resultBannerPatterns;x1;y1;x2;y2;scissorArea;bounds;scale", "flag", "baseColor", "resultBannerPatterns", "x1", "y1", "x2", "y2", "scissorArea", "bounds", "scale"}, this);
    }

    @Override
    public final int hashCode() {
        return (int)ObjectMethods.bootstrap("hashCode", new MethodHandle[]{CustomBannerGuiElementRenderState.class, "flag;baseColor;resultBannerPatterns;x1;y1;x2;y2;scissorArea;bounds;scale", "flag", "baseColor", "resultBannerPatterns", "x1", "y1", "x2", "y2", "scissorArea", "bounds", "scale"}, this);
    }

    @Override
    public final boolean equals(Object o) {
        return (boolean)ObjectMethods.bootstrap("equals", new MethodHandle[]{CustomBannerGuiElementRenderState.class, "flag;baseColor;resultBannerPatterns;x1;y1;x2;y2;scissorArea;bounds;scale", "flag", "baseColor", "resultBannerPatterns", "x1", "y1", "x2", "y2", "scissorArea", "bounds", "scale"}, this, o);
    }

    public class_10377 flag() {
        return this.flag;
    }

    public class_1767 baseColor() {
        return this.baseColor;
    }

    public class_9307 resultBannerPatterns() {
        return this.resultBannerPatterns;
    }

    public int comp_4122() {
        return this.x1;
    }

    public int comp_4123() {
        return this.y1;
    }

    public int comp_4124() {
        return this.x2;
    }

    public int comp_4125() {
        return this.y2;
    }

    @Nullable
    public class_8030 comp_4128() {
        return this.scissorArea;
    }

    @Nullable
    public class_8030 comp_4274() {
        return this.bounds;
    }

    public float comp_4133() {
        return this.scale;
    }
}

