diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-03-05 15:49:06 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-03-05 15:49:06 +0800 |
| commit | 37d201d5db11c717ffa0d9d3d4af5ed6381a21fa (patch) | |
| tree | bcbd169dad006bcc2f1581e8063b12260f40b575 /src/main/java/me/shedaniel/rei/api/EntryStack.java | |
| parent | 0fc97290731e0e857c6276411e0a89a056dba561 (diff) | |
| download | RoughlyEnoughItems-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.java | 21 |
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(); |
