package de.ellpeck.naturesaura.misc; import net.minecraft.block.Block; import net.minecraft.item.DyeColor; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistries; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public final class ColoredBlockHelper { public static final List WOOL = collectBlocks("wool"); public static final List TERRACOTTA = collectBlocks("terracotta"); public static final List CONCRETE_POWDER = collectBlocks("concrete_powder"); public static final List CONCRETE = collectBlocks("concrete"); public static final List GLASS = collectBlocks("stained_glass"); public static final List GLASS_PANE = collectBlocks("glass_pane"); public static final List CARPET = collectBlocks("carpet"); public static final List> LISTS = Arrays.asList(WOOL, TERRACOTTA, CONCRETE_POWDER, CONCRETE, GLASS, GLASS_PANE, CARPET); private static List collectBlocks(String name) { List blocks = new ArrayList<>(); for (DyeColor color : DyeColor.values()) blocks.add(ForgeRegistries.BLOCKS.getValue(new ResourceLocation(color.getString() + '_' + name))); return Collections.unmodifiableList(blocks); } public static List getBlocksContaining(Block block) { for (List list : LISTS) { if (list.contains(block)) return list; } return null; } }