2020-07-30 19:49:18 +00:00
|
|
|
package com.thebrokenrail.energonrelics.client.rei;
|
|
|
|
|
|
|
|
import com.thebrokenrail.energonrelics.EnergonRelics;
|
|
|
|
import com.thebrokenrail.energonrelics.block.entity.infuser.InfuserEntry;
|
2020-08-03 17:00:08 +00:00
|
|
|
import com.thebrokenrail.energonrelics.block.entity.infuser.InfuserOutputItem;
|
2020-07-30 19:49:18 +00:00
|
|
|
import com.thebrokenrail.energonrelics.block.entity.infuser.InfuserRegistry;
|
2020-08-03 17:00:08 +00:00
|
|
|
import com.thebrokenrail.energonrelics.util.BooleanIterator;
|
2020-07-30 19:49:18 +00:00
|
|
|
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<Item, InfuserEntry> entry : InfuserRegistry.entrySet()) {
|
2020-08-03 17:00:08 +00:00
|
|
|
BooleanIterator.run(isFail -> {
|
|
|
|
List<InfuserOutputItem> list = entry.getValue().getOutputItems(isFail);
|
|
|
|
for (InfuserOutputItem item : list) {
|
|
|
|
recipeHelper.registerDisplay(new InfuserDisplay(new ItemStack(entry.getKey()), item, entry.getValue().getSingleChance(isFail), entry.getValue().cost));
|
|
|
|
}
|
|
|
|
});
|
2020-07-30 19:49:18 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void registerPluginCategories(RecipeHelper recipeHelper) {
|
|
|
|
recipeHelper.registerCategories(new InfuserCategory());
|
|
|
|
}
|
|
|
|
}
|