package com.thebrokenrail.energonrelics.client.rei; import com.thebrokenrail.energonrelics.EnergonRelics; import com.thebrokenrail.energonrelics.block.entity.infuser.InfuserEntry; import com.thebrokenrail.energonrelics.block.entity.infuser.InfuserRegistry; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.api.plugins.REIPluginV0; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import java.util.List; import java.util.Map; @Environment(EnvType.CLIENT) public class EnergonRelicsPlugin implements REIPluginV0 { public static final Identifier INFUSER = new Identifier(EnergonRelics.NAMESPACE, "plugin/infuser"); @Override public Identifier getPluginIdentifier() { return new Identifier(EnergonRelics.NAMESPACE, "plugin"); } @Override public void registerOthers(RecipeHelper recipeHelper) { recipeHelper.registerWorkingStations(INFUSER, EntryStack.create(EnergonRelics.INFUSER_BLOCK.asItem())); } @Override public void registerRecipeDisplays(RecipeHelper recipeHelper) { for (Map.Entry entry : InfuserRegistry.entrySet()) { List success = entry.getValue().getOutputItems(false); if (success.size() > 0) { recipeHelper.registerDisplay(new InfuserDisplay(new ItemStack(entry.getKey()), success, entry.getValue().getSingleChance(false), entry.getValue().cost)); } List fail = entry.getValue().getOutputItems(true); if (fail.size() > 0) { recipeHelper.registerDisplay(new InfuserDisplay(new ItemStack(entry.getKey()), fail, entry.getValue().getSingleChance(true), entry.getValue().cost)); } } } @Override public void registerPluginCategories(RecipeHelper recipeHelper) { recipeHelper.registerCategories(new InfuserCategory()); } }