Files
Applied-Energistics-2/src/main/java/appeng/recipes/handlers/InscriberRecipe.java
T
Sebastian Hartte 434386a7ff Added test command for testing ore gen.
Started reimplementing quartz ore gen ontop of vanilla mechanics.
Fixes several sidedness issues.
Added recipe serialization for server->client sync.
2020-06-20 18:04:20 +02:00

108 lines
2.7 KiB
Java

package appeng.recipes.handlers;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.IRecipeSerializer;
import net.minecraft.item.crafting.IRecipeType;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import appeng.api.features.InscriberProcessType;
public class InscriberRecipe implements IRecipe<IInventory> {
public static IRecipeType<InscriberRecipe> TYPE;
private final ResourceLocation id;
private final String group;
private final Ingredient middleInput;
private final Ingredient topOptional;
private final Ingredient bottomOptional;
private final ItemStack output;
private final InscriberProcessType processType;
public InscriberRecipe(ResourceLocation id, String group, Ingredient middleInput, ItemStack output,
Ingredient topOptional, Ingredient bottomOptional, InscriberProcessType processType) {
this.id = id;
this.group = group;
this.middleInput = middleInput;
this.output = output;
this.topOptional = topOptional;
this.bottomOptional = bottomOptional;
this.processType = processType;
}
@Override
public boolean matches(IInventory inv, World worldIn) {
return false;
}
@Override
public ItemStack getCraftingResult(IInventory inv) {
return this.output.copy();
}
@Override
public boolean canFit(int width, int height) {
return true;
}
@Override
public ItemStack getRecipeOutput() {
return output;
}
@Override
public ResourceLocation getId() {
return id;
}
@Override
public IRecipeSerializer<?> getSerializer() {
return InscriberRecipeSerializer.INSTANCE;
}
@Override
public IRecipeType<?> getType() {
return TYPE;
}
@Override
public NonNullList<Ingredient> getIngredients() {
NonNullList<Ingredient> nonnulllist = NonNullList.create();
nonnulllist.add(this.topOptional);
nonnulllist.add(this.middleInput);
nonnulllist.add(this.bottomOptional);
return nonnulllist;
}
public Ingredient getMiddleInput() {
return middleInput;
}
public ItemStack getOutput() {
return output;
}
public Ingredient getTopOptional() {
return topOptional;
}
public Ingredient getBottomOptional() {
return bottomOptional;
}
public InscriberProcessType getProcessType() {
return processType;
}
@Override
public String getGroup() {
return group;
}
}