NaturesAura/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorAltar.java

38 lines
1.4 KiB
Java

package de.ellpeck.naturesaura.compat.patchouli;
import de.ellpeck.naturesaura.recipes.AltarRecipe;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.Level;
import vazkii.patchouli.api.IComponentProcessor;
import vazkii.patchouli.api.IVariable;
import vazkii.patchouli.api.IVariableProvider;
public class ProcessorAltar implements IComponentProcessor {
private AltarRecipe recipe;
@Override
public void setup(Level level, IVariableProvider provider) {
this.recipe = PatchouliCompat.getRecipe("altar", provider.get("recipe").asString());
}
@Override
public IVariable process(Level level, String key) {
if (this.recipe == null)
return null;
return switch (key) {
case "input" -> PatchouliCompat.ingredientVariable(this.recipe.input);
case "output" -> IVariable.from(this.recipe.output);
case "catalyst" -> this.recipe.catalyst != Ingredient.EMPTY ? PatchouliCompat.ingredientVariable(this.recipe.catalyst) : null;
case "name" -> IVariable.wrap(this.recipe.output.getHoverName().getString());
default -> null;
};
}
@Override
public boolean allowRender(String group) {
return group.isEmpty() || this.recipe != null && group.equals(this.recipe.catalyst == Ingredient.EMPTY ? "altar" : "catalyst");
}
}