package top.r3944realms.lib39.mixin.minecraft;

import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

import java.util.Comparator;

/**
 * The interface Creative mode tabs accessor.
 */
@Mixin(CreativeModeTabs.class)
public interface CreativeModeTabsAccessor {
    /**
     * Gets building blocks.
     *
     * @return the building blocks
     */
    @Accessor("BUILDING_BLOCKS")
    static ResourceKey<CreativeModeTab> getBuildingBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets colored blocks.
     *
     * @return the colored blocks
     */
    @Accessor("COLORED_BLOCKS")
    static ResourceKey<CreativeModeTab> getColoredBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets natural blocks.
     *
     * @return the natural blocks
     */
    @Accessor("NATURAL_BLOCKS")
    static ResourceKey<CreativeModeTab> getNaturalBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets functional blocks.
     *
     * @return the functional blocks
     */
    @Accessor("FUNCTIONAL_BLOCKS")
    static ResourceKey<CreativeModeTab> getFunctionalBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets redstone blocks.
     *
     * @return the redstone blocks
     */
    @Accessor("REDSTONE_BLOCKS")
    static ResourceKey<CreativeModeTab> getRedstoneBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets hotbar.
     *
     * @return the hotbar
     */
    @Accessor("HOTBAR")
    static ResourceKey<CreativeModeTab> getHotbar() {
        throw new AssertionError();
    }

    /**
     * Gets search.
     *
     * @return the search
     */
    @Accessor("SEARCH")
    static ResourceKey<CreativeModeTab> getSearch() {
        throw new AssertionError();
    }

    /**
     * Gets tools and utilities.
     *
     * @return the tools and utilities
     */
    @Accessor("TOOLS_AND_UTILITIES")
    static ResourceKey<CreativeModeTab> getToolsAndUtilities() {
        throw new AssertionError();
    }

    /**
     * Gets combat.
     *
     * @return the combat
     */
    @Accessor("COMBAT")
    static ResourceKey<CreativeModeTab> getCombat() {
        throw new AssertionError();
    }

    /**
     * Gets food and drinks.
     *
     * @return the food and drinks
     */
    @Accessor("FOOD_AND_DRINKS")
    static ResourceKey<CreativeModeTab> getFoodAndDrinks() {
        throw new AssertionError();
    }

    /**
     * Gets ingredients.
     *
     * @return the ingredients
     */
    @Accessor("INGREDIENTS")
    static ResourceKey<CreativeModeTab> getIngredients() {
        throw new AssertionError();
    }

    /**
     * Gets spawn eggs.
     *
     * @return the spawn eggs
     */
    @Accessor("SPAWN_EGGS")
    static ResourceKey<CreativeModeTab> getSpawnEggs() {
        throw new AssertionError();
    }

    /**
     * Gets op blocks.
     *
     * @return the op blocks
     */
    @Accessor("OP_BLOCKS")
    static ResourceKey<CreativeModeTab> getOpBlocks() {
        throw new AssertionError();
    }

    /**
     * Gets inventory.
     *
     * @return the inventory
     */
    @Accessor("INVENTORY")
    static ResourceKey<CreativeModeTab> getInventory() {
        throw new AssertionError();
    }

    /**
     * Gets cached parameters.
     *
     * @return the cached parameters
     */
    @Accessor("CACHED_PARAMETERS")
    static CreativeModeTab.ItemDisplayParameters getCachedParameters() {
        throw new AssertionError();
    }

    /**
     * Gets painting comparator.
     *
     * @return the painting comparator
     */
    @Accessor("PAINTING_COMPARATOR")
    static Comparator<net.minecraft.world.item.CreativeModeTab> getPaintingComparator() {
        throw new AssertionError();
    }
}
