From c47419f1b60a7772e7f4cba92bc66b33cd32640e Mon Sep 17 00:00:00 2001 From: Tec Date: Mon, 11 Mar 2019 20:41:55 +0100 Subject: fix bit render to string --- src/main/java/com/github/technus/tectech/Util.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java index 09aeae6a6b..e8472bfea6 100644 --- a/src/main/java/com/github/technus/tectech/Util.java +++ b/src/main/java/com/github/technus/tectech/Util.java @@ -25,8 +25,7 @@ import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -40,6 +39,18 @@ public final class Util { private Util() { } + @SuppressWarnings("ComparatorMethodParameterNotUsed") + public static > SortedSet> entriesSortedByValues(Map map) { + SortedSet> sortedEntries = new TreeSet>( + (e1, e2) -> { + int res = e1.getValue().compareTo(e2.getValue()); + return res != 0 ? res : 1; // Special fix to preserve items with equal values + } + ); + sortedEntries.addAll(map.entrySet()); + return sortedEntries; + } + public static String intBitsToString(int number) { StringBuilder result = new StringBuilder(16); @@ -57,7 +68,7 @@ public final class Util { } public static String intBitsToShortString(int number) { - StringBuilder result = new StringBuilder(16); + StringBuilder result = new StringBuilder(35); for (int i = 31; i >= 0; i--) { int mask = 1 << i; @@ -73,10 +84,10 @@ public final class Util { } public static String longBitsToShortString(long number) { - StringBuilder result = new StringBuilder(16); + StringBuilder result = new StringBuilder(71); for (int i = 63; i >= 0; i--) { - int mask = 1 << i; + long mask = 1L << i; result.append((number & mask) != 0 ? ":" : "."); if (i % 8 == 0) { -- cgit