|
@@ -8,15 +8,19 @@ import me.shedaniel.rei.utils.CollectionUtils;
|
|
|
import net.minecraft.recipe.SmithingRecipe;
|
|
|
import net.minecraft.util.Identifier;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
+import org.jetbrains.annotations.Nullable;
|
|
|
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
public class DefaultSmithingDisplay implements RecipeDisplay {
|
|
|
@NotNull
|
|
|
private List<List<EntryStack>> input;
|
|
|
@NotNull
|
|
|
private List<EntryStack> output;
|
|
|
+ @Nullable
|
|
|
+ private Identifier location;
|
|
|
|
|
|
public DefaultSmithingDisplay(@NotNull SmithingRecipe recipe) {
|
|
|
this(
|
|
@@ -24,14 +28,16 @@ public class DefaultSmithingDisplay implements RecipeDisplay {
|
|
|
CollectionUtils.map(recipe.base.getMatchingStacksClient(), EntryStack::create),
|
|
|
CollectionUtils.map(recipe.addition.getMatchingStacksClient(), EntryStack::create)
|
|
|
),
|
|
|
- Collections.singletonList(EntryStack.create(recipe.getOutput()))
|
|
|
+ Collections.singletonList(EntryStack.create(recipe.getOutput())),
|
|
|
+ recipe.getId()
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- public DefaultSmithingDisplay(@NotNull List<List<EntryStack>> input, @NotNull List<EntryStack> output) {
|
|
|
+ public DefaultSmithingDisplay(@NotNull List<List<EntryStack>> input, @NotNull List<EntryStack> output, @Nullable Identifier location) {
|
|
|
this.input = input;
|
|
|
this.output = output;
|
|
|
if (this.input.size() != 2) throw new IllegalArgumentException("input must have 2 entries.");
|
|
|
+ this.location = location;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -48,4 +54,9 @@ public class DefaultSmithingDisplay implements RecipeDisplay {
|
|
|
public Identifier getRecipeCategory() {
|
|
|
return DefaultPlugin.SMITHING;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Optional<Identifier> getRecipeLocation() {
|
|
|
+ return Optional.ofNullable(location);
|
|
|
+ }
|
|
|
}
|