aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/EntryStack.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-03-05 15:49:06 +0800
committershedaniel <daniel@shedaniel.me>2020-03-05 15:49:06 +0800
commit37d201d5db11c717ffa0d9d3d4af5ed6381a21fa (patch)
treebcbd169dad006bcc2f1581e8063b12260f40b575 /src/main/java/me/shedaniel/rei/api/EntryStack.java
parent0fc97290731e0e857c6276411e0a89a056dba561 (diff)
downloadRoughlyEnoughItems-37d201d5db11c717ffa0d9d3d4af5ed6381a21fa.tar.gz
RoughlyEnoughItems-37d201d5db11c717ffa0d9d3d4af5ed6381a21fa.tar.bz2
RoughlyEnoughItems-37d201d5db11c717ffa0d9d3d4af5ed6381a21fa.zip
get fluid bucket
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/EntryStack.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/EntryStack.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/EntryStack.java b/src/main/java/me/shedaniel/rei/api/EntryStack.java
index c90111ac2..376ae2aef 100644
--- a/src/main/java/me/shedaniel/rei/api/EntryStack.java
+++ b/src/main/java/me/shedaniel/rei/api/EntryStack.java
@@ -30,8 +30,10 @@ import me.shedaniel.rei.gui.widget.QueuedTooltip;
import me.shedaniel.rei.impl.EmptyEntryStack;
import me.shedaniel.rei.impl.FluidEntryStack;
import me.shedaniel.rei.impl.ItemEntryStack;
+import me.shedaniel.rei.listeners.BucketItemHooks;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.fluid.Fluid;
+import net.minecraft.item.BucketItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemStack;
@@ -122,6 +124,25 @@ public interface EntryStack {
}
}
+ static EntryStack copyFluidToBucket(EntryStack stack) {
+ if (stack.getType() != Type.FLUID)
+ throw new IllegalArgumentException("EntryStack must be fluid!");
+ Fluid fluid = stack.getFluid();
+ Item item = fluid.getBucketItem();
+ if (item == null)
+ return EntryStack.empty();
+ return EntryStack.create(item);
+ }
+
+ static EntryStack copyBucketToFluid(EntryStack stack) {
+ if (stack.getType() != Type.ITEM)
+ throw new IllegalArgumentException("EntryStack must be item!");
+ Item item = stack.getItem();
+ if (item instanceof BucketItem)
+ return EntryStack.create(((BucketItemHooks) item).getFluid(), 1000);
+ return EntryStack.empty();
+ }
+
Optional<Identifier> getIdentifier();
EntryStack.Type getType();