Example usage for net.minecraftforge.registries IForgeRegistry getRegistrySuperType

List of usage examples for net.minecraftforge.registries IForgeRegistry getRegistrySuperType

Introduction

In this page you can find the example usage for net.minecraftforge.registries IForgeRegistry getRegistrySuperType.

Prototype

Class<V> getRegistrySuperType();

Source Link

Usage

From source file:com.fireball1725.firelib.util.RegistrationHelper.java

License:Open Source License

/**
 * Register enum blocks, itemblocks, and items
 *
 * @param enumData enum class//  ww w.  ja va2 s .c  o m
 * @param event    RegistryEvent event
 */
public <E extends Enum<E>> void registerEnum(Class<E> enumData, IForgeRegistry event) {
    if (enumData == null) {
        return;
    }

    for (Enum<E> enumObject : enumData.getEnumConstants()) {
        if (event.getRegistrySuperType() == Block.class && enumObject instanceof IFireBlocks) {
            Block block = registerBlock(event, ((IFireBlocks) enumObject).getBlockClass());
            ((IFireBlocks) enumObject).setBlock(block);
        }

        if (event.getRegistrySuperType() == Item.class && enumObject instanceof IFireBlocks) {
            registerItemBlock(event, ((IFireBlocks) enumObject).getBlock(),
                    ((IFireBlocks) enumObject).getItemBlockClass());
        }

        if (event.getRegistrySuperType() == Item.class && enumObject instanceof IFireItems) {
            Item item = registerItem(event, ((IFireItems) enumObject).getItemClass());
            ((IFireItems) enumObject).setItem(item);
        }
    }
}