From 33a1703896cbc37b9986c71038e20c659edb7814 Mon Sep 17 00:00:00 2001 From: Jordan Byrne Date: Mon, 29 Jan 2018 14:26:51 +1000 Subject: % Improved tooltip for Fluorite Ore. % More ASM work on getDrops fix. $ Made GT++ Materials utilise GT TextureSets. $ Made Ore blocks use the most prominent texture set based on it's component materials. $ Fixed https://github.com/GTNewHorizons/NewHorizons/issues/2522. $ Fixed materials that require a blast furnace being fluid extractable. $ Fixed https://github.com/GTNewHorizons/NewHorizons/issues/2530. --- .../gtPlusPlus/core/util/materials/MaterialUtils.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/Java/gtPlusPlus/core/util/materials') diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java index 7db80c70fb..5cd7532f0f 100644 --- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java @@ -1,6 +1,10 @@ package gtPlusPlus.core.util.materials; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; import org.apache.commons.lang3.reflect.FieldUtils; @@ -44,6 +48,7 @@ public class MaterialUtils { final long protons = material.getProtons(); final long neutrons = material.getNeutrons(); final boolean blastFurnace = material.mBlastFurnaceRequired; + final TextureSet iconSet = material.mIconSet; final int durability = material.mDurability; boolean mGenerateCell = false; MaterialState materialState; @@ -99,7 +104,7 @@ public class MaterialUtils { if (hasValidRGBA(rgba) || (element == Element.H) || ((material == Materials.InfusedAir) || (material == Materials.InfusedFire) || (material == Materials.InfusedEarth) || (material == Materials.InfusedWater))){ //ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material); //ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material); - return new Material(name, materialState, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity, mGenerateCell); + return new Material(name, materialState,iconSet, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity, mGenerateCell); } else { Logger.DEBUG_MATERIALS("Failed to generate GT++ material instance for "+material.name() +" | Valid RGB? "+(hasValidRGBA(rgba))); @@ -235,5 +240,14 @@ public class MaterialUtils { } return mName; } + + public static TextureSet getMostCommonTextureSet(List list) { + Optional r = list.stream().map(Material::getTextureSet).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey); + TextureSet o = (r != null && r.isPresent() && r.get() != null) ? r.get() : null; + return o; + } + + + } + -} -- cgit