diff options
author | HoleFish <48403212+HoleFish@users.noreply.github.com> | 2024-06-29 22:42:59 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-29 16:42:59 +0200 |
commit | 7f3db50b25f972405c1a1d18f750ab156e59f569 (patch) | |
tree | c3863d74f4513e071d006d94b46249ae570cc96a /src/main/java/gregtech/api/util | |
parent | 3e230228f3c16e61bedfb3aecb66e6eee8fd0095 (diff) | |
download | GT5-Unofficial-7f3db50b25f972405c1a1d18f750ab156e59f569.tar.gz GT5-Unofficial-7f3db50b25f972405c1a1d18f750ab156e59f569.tar.bz2 GT5-Unofficial-7f3db50b25f972405c1a1d18f750ab156e59f569.zip |
Cribs support capacity of over 2.1G per ingredient (#2654)
* Cribs support capacity of over 2.1G per ingredient
* spotless
* fix mistake
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Utility.java | 24 |
1 files changed, 24 insertions, 0 deletions
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<GT_Utility.ItemId, Long> convertItemListToMap(Collection<ItemStack> itemStacks) { + Map<GT_Utility.ItemId, Long> 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<Fluid, Long> convertFluidListToMap(Collection<FluidStack> fluidStacks) { + Map<Fluid, Long> 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()); |