aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/Entry.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/Entry.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/Entry.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/Entry.java b/src/main/java/me/shedaniel/rei/api/Entry.java
index fca8f9fd2..c0eb609bb 100644
--- a/src/main/java/me/shedaniel/rei/api/Entry.java
+++ b/src/main/java/me/shedaniel/rei/api/Entry.java
@@ -5,6 +5,7 @@
package me.shedaniel.rei.api;
+import me.shedaniel.rei.api.annotations.ToBeRemoved;
import me.shedaniel.rei.impl.FluidEntry;
import me.shedaniel.rei.impl.ItemStackEntry;
import net.minecraft.fluid.Fluid;
@@ -12,7 +13,9 @@ import net.minecraft.item.ItemStack;
import javax.annotation.Nullable;
-public interface Entry {
+@Deprecated
+@ToBeRemoved
+public interface Entry extends Cloneable {
@SuppressWarnings("deprecation")
static Entry create(ItemStack itemStack) {
return new ItemStackEntry(itemStack);
@@ -31,6 +34,18 @@ public interface Entry {
@Nullable
Fluid getFluid();
+ Entry clone();
+
+ default EntryStack toEntryStack() {
+ if (getEntryType() == Type.ITEM)
+ return EntryStack.create(getItemStack());
+ if (getEntryType() == Type.FLUID)
+ return EntryStack.create(getFluid());
+ return EntryStack.empty();
+ }
+
+ boolean equalsEntry(Entry other, boolean checkTags);
+
public static enum Type {
ITEM, FLUID
}