aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-01-29 14:26:51 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-01-29 14:26:51 +1000
commit33a1703896cbc37b9986c71038e20c659edb7814 (patch)
tree6251665044fd27eba431a5762073cd1eb9d7d20d /src/Java/gtPlusPlus/core/util
parent0d8dc3b625c83c80e7a20b6b2233d972cb2f2af2 (diff)
downloadGT5-Unofficial-33a1703896cbc37b9986c71038e20c659edb7814.tar.gz
GT5-Unofficial-33a1703896cbc37b9986c71038e20c659edb7814.tar.bz2
GT5-Unofficial-33a1703896cbc37b9986c71038e20c659edb7814.zip
% 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.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/array/ArrayUtils.java6
-rw-r--r--src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java18
2 files changed, 22 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
index 910c4597af..cd8a1a7fd7 100644
--- a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
+++ b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java
@@ -14,5 +14,11 @@ public class ArrayUtils {
series[series.length - 1] = newValueToAdd;
return series;
}
+
+ /*public static <V> Object getMostCommonElement(List<V> list) {
+ Optional r = list.stream().map(V::getTextureSet).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey);
+ return r.get();
+ }*/
}
+
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<Material> list) {
+ Optional<TextureSet> 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;
+ }
+
+
+ }
+
-}