From 8e617f5a6c92a21be270ec190261d979deac965f Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 18 Apr 2020 15:48:19 +0800 Subject: Added FluidSupportProvider Signed-off-by: shedaniel --- .../java/me/shedaniel/rei/impl/ItemEntryStack.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java') diff --git a/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java b/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java index cb65b0396..cceea85a6 100644 --- a/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java +++ b/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java @@ -40,6 +40,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.util.Identifier; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.registry.Registry; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -76,11 +77,21 @@ public class ItemEntryStack extends AbstractEntryStack implements OptimalEntrySt return itemStack.getCount(); } + @Override + public double getFloatingAmount() { + return itemStack.getCount(); + } + @Override public void setAmount(int amount) { itemStack.setCount(amount); } + @Override + public void setFloatingAmount(double amount) { + itemStack.setCount(MathHelper.floor(amount)); + } + @Override public boolean isEmpty() { return itemStack.isEmpty(); @@ -103,14 +114,14 @@ public class ItemEntryStack extends AbstractEntryStack implements OptimalEntrySt @Override public boolean equalsIgnoreTagsAndAmount(EntryStack stack) { if (stack.getType() != Type.ITEM) - return false; + return EntryStack.copyItemToFluid(this).equalsIgnoreTagsAndAmount(stack); return itemStack.getItem() == stack.getItem(); } @Override public boolean equalsAll(EntryStack stack) { if (stack.getType() != Type.ITEM) - return false; + return EntryStack.copyItemToFluid(this).equalsAll(stack); if (itemStack.getItem() != stack.getItem() || getAmount() != stack.getAmount()) return false; return ItemStack.areTagsEqual(itemStack, stack.getItemStack()); @@ -119,7 +130,7 @@ public class ItemEntryStack extends AbstractEntryStack implements OptimalEntrySt @Override public boolean equalsIgnoreAmount(EntryStack stack) { if (stack.getType() != Type.ITEM) - return false; + return EntryStack.copyItemToFluid(this).equalsIgnoreAmount(stack); if (itemStack.getItem() != stack.getItem()) return false; ItemStack otherStack = stack.getItemStack(); @@ -173,7 +184,7 @@ public class ItemEntryStack extends AbstractEntryStack implements OptimalEntrySt @Override public boolean equalsIgnoreTags(EntryStack stack) { if (stack.getType() != Type.ITEM) - return false; + return EntryStack.copyItemToFluid(this).equalsIgnoreTags(stack); if (itemStack.getItem() != stack.getItem()) return false; return getAmount() == stack.getAmount(); -- cgit