mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-02 20:06:43 +01:00
60 lines
No EOL
1.7 KiB
Java
60 lines
No EOL
1.7 KiB
Java
package com.minelittlepony.unicopia.item;
|
|
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import net.minecraft.inventory.RecipeInputInventory;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.recipe.RecipeSerializer;
|
|
import net.minecraft.recipe.SpecialCraftingRecipe;
|
|
import net.minecraft.recipe.book.CraftingRecipeCategory;
|
|
import net.minecraft.registry.DynamicRegistryManager;
|
|
import net.minecraft.util.Identifier;
|
|
import net.minecraft.world.World;
|
|
|
|
public class JarExtractRecipe extends SpecialCraftingRecipe {
|
|
public JarExtractRecipe(Identifier id, CraftingRecipeCategory category) {
|
|
super(id, category);
|
|
}
|
|
|
|
@Override
|
|
public final boolean fits(int i, int j) {
|
|
return i * j >= 1;
|
|
}
|
|
|
|
@Override
|
|
public final boolean matches(RecipeInputInventory inventory, World world) {
|
|
return !craft(inventory, null).isEmpty();
|
|
}
|
|
|
|
@Override
|
|
public ItemStack craft(RecipeInputInventory inventory, @Nullable DynamicRegistryManager manager) {
|
|
ItemStack jar = ItemStack.EMPTY;
|
|
for (int i = 0; i < inventory.size(); i++) {
|
|
ItemStack stack = inventory.getStack(i);
|
|
if (stack.isEmpty()) {
|
|
continue;
|
|
}
|
|
|
|
if (!stack.isOf(UItems.FILLED_JAR)) {
|
|
return ItemStack.EMPTY;
|
|
}
|
|
|
|
if (!jar.isEmpty()) {
|
|
return ItemStack.EMPTY;
|
|
}
|
|
|
|
if (!UItems.FILLED_JAR.hasAppearance(stack)) {
|
|
return ItemStack.EMPTY;
|
|
}
|
|
|
|
jar = stack;
|
|
}
|
|
|
|
return UItems.FILLED_JAR.getAppearanceStack(jar);
|
|
}
|
|
|
|
@Override
|
|
public RecipeSerializer<?> getSerializer() {
|
|
return URecipes.JAR_INSERT_SERIALIZER;
|
|
}
|
|
} |