From 7f3db50b25f972405c1a1d18f750ab156e59f569 Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Sat, 29 Jun 2024 22:42:59 +0800 Subject: Cribs support capacity of over 2.1G per ingredient (#2654) * Cribs support capacity of over 2.1G per ingredient * spotless * fix mistake --- src/main/java/gregtech/api/util/GT_Utility.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/main/java/gregtech/api/util/GT_Utility.java') diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index 1e88d0b75d..e09901b03b 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -172,6 +172,8 @@ import ic2.api.recipe.IRecipeInput; import ic2.api.recipe.RecipeInputItemStack; import ic2.api.recipe.RecipeInputOreDict; import ic2.api.recipe.RecipeOutput; +import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; +import it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap; /** * NEVER INCLUDE THIS FILE IN YOUR MOD!!! @@ -4074,6 +4076,27 @@ public class GT_Utility { return -1; } + public static Map convertItemListToMap(Collection itemStacks) { + Map result = new Object2LongOpenHashMap<>(); + for (ItemStack itemStack : itemStacks) { + if (itemStack != null && itemStack.stackSize > 0) { + GT_Utility.ItemId itemId = GT_Utility.ItemId.createNoCopy(itemStack); + result.merge(itemId, (long) itemStack.stackSize, Long::sum); + } + } + return result; + } + + public static Map convertFluidListToMap(Collection fluidStacks) { + Map result = new Reference2LongOpenHashMap<>(); + for (FluidStack fluidStack : fluidStacks) { + if (fluidStack != null && fluidStack.amount > 0) { + result.merge(fluidStack.getFluid(), (long) fluidStack.amount, Long::sum); + } + } + return result; + } + /** * @return Supplied collection that doesn't contain invalid MetaTileEntities */ @@ -4946,6 +4969,7 @@ public class GT_Utility { return tag; } + @Nonnull public ItemStack getItemStack() { ItemStack itemStack = new ItemStack(item(), 1, metaData()); itemStack.setTagCompound(nbt()); -- cgit