diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
3 files changed, 182 insertions, 4 deletions
diff --git a/src/Java/gtPlusPlus/core/util/math/MathUtils.java b/src/Java/gtPlusPlus/core/util/math/MathUtils.java index 7ec898ce3a..03146d20d3 100644 --- a/src/Java/gtPlusPlus/core/util/math/MathUtils.java +++ b/src/Java/gtPlusPlus/core/util/math/MathUtils.java @@ -357,6 +357,14 @@ public class MathUtils { } } + public static byte safeByte(long number){ + return number>Byte.MAX_VALUE ? Byte.MAX_VALUE :(byte)number; + } + + public static short safeShort(long number){ + return number>Short.MAX_VALUE ? Short.MAX_VALUE :(short)number; + } + public static int safeInt(long number, int margin){ return number>Integer.MAX_VALUE-margin ? Integer.MAX_VALUE-margin :(int)number; } @@ -376,15 +384,99 @@ public class MathUtils { } - public static long getAverage(AutoMap aDataSet) { + + /* + * Averages + */ + + public static byte getByteAverage(AutoMap<?> aDataSet) { + byte[] aNewSet = new byte[aDataSet.size()]; + for (int u=0;u<aDataSet.size();u++) { + aNewSet[u] = (byte) aDataSet.get(u); + } + return getByteAverage(aNewSet); + } + + public static short getShortAverage(AutoMap<?> aDataSet) { + short[] aNewSet = new short[aDataSet.size()]; + for (int u=0;u<aDataSet.size();u++) { + aNewSet[u] = (short) aDataSet.get(u); + } + return getShortAverage(aNewSet); + } + + public static int getIntAverage(AutoMap<?> aDataSet) { + int[] aNewSet = new int[aDataSet.size()]; + for (int u=0;u<aDataSet.size();u++) { + aNewSet[u] = (int) aDataSet.get(u); + } + return getIntAverage(aNewSet); + } + + public static float getFloatAverage(AutoMap<?> aDataSet) { + float[] aNewSet = new float[aDataSet.size()]; + for (int u=0;u<aDataSet.size();u++) { + aNewSet[u] = (float) aDataSet.get(u); + } + return getFloatAverage(aNewSet); + } + + public static long getLongAverage(AutoMap<?> aDataSet) { long[] aNewSet = new long[aDataSet.size()]; for (int u=0;u<aDataSet.size();u++) { aNewSet[u] = (long) aDataSet.get(u); } - return getAverage(aNewSet); + return getLongAverage(aNewSet); } - public static long getAverage(long[] aDataSet) { + public static double getDoubleAverage(AutoMap<?> aDataSet) { + double[] aNewSet = new double[aDataSet.size()]; + for (int u=0;u<aDataSet.size();u++) { + aNewSet[u] = (double) aDataSet.get(u); + } + return getDoubleAverage(aNewSet); + } + + + + public static byte getByteAverage(byte[] aDataSet) { + int divisor = aDataSet.length; + byte total = 0; + for (byte i : aDataSet) { + total += i; + } + byte result = safeByte(total/divisor); + return result; + } + + public static short getShortAverage(short[] aDataSet) { + int divisor = aDataSet.length; + short total = 0; + for (short i : aDataSet) { + total += i; + } + short result = safeShort(total/divisor); + return result; + } + public static int getIntAverage(int[] aDataSet) { + int divisor = aDataSet.length; + int total = 0; + for (int i : aDataSet) { + total += i; + } + int result = safeInt(total/divisor); + return result; + } + public static float getFloatAverage(float[] aDataSet) { + int divisor = aDataSet.length; + float total = 0; + for (float i : aDataSet) { + total += i; + } + float result = (total/divisor); + return result; + } + public static long getLongAverage(long[] aDataSet) { int divisor = aDataSet.length; long total = 0; for (long i : aDataSet) { @@ -393,5 +485,14 @@ public class MathUtils { long result = (total/divisor); return result; } + public static double getDoubleAverage(double[] aDataSet) { + int divisor = aDataSet.length; + double total = 0; + for (double i : aDataSet) { + total += i; + } + double result = (total/divisor); + return result; + } } diff --git a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java index e4f2008aac..5bdd42b02d 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java @@ -543,6 +543,44 @@ public class FluidUtils { public static FluidStack getLiquidXP(final int amount){ return EnchantingUtils.getLiquidXP(amount); } + + public static boolean doesFluidExist(String aFluidName) { + FluidStack aFStack1 = (FluidUtils.getFluidStack("molten"+"."+aFluidName.toLowerCase(), 1)); + FluidStack aFStack2 = (FluidUtils.getFluidStack("fluid"+"."+aFluidName.toLowerCase(), 1)); + FluidStack aFStack3 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), 1)); + FluidStack aFStack4 = (FluidUtils.getFluidStack(aFluidName, 1)); + FluidStack aFStack5 = (FluidUtils.getFluidStack("liquid_"+aFluidName.toLowerCase(), 1)); + FluidStack aFStack6 = (FluidUtils.getFluidStack("liquid"+"."+aFluidName.toLowerCase(), 1)); + return aFStack1 == null && aFStack2 == null && aFStack3 == null && aFStack4 == null && aFStack5 == null && aFStack6 == null; + } + + public static FluidStack getWildcardFluidStack(String aFluidName, int amount) { + FluidStack aFStack1 = (FluidUtils.getFluidStack("molten"+"."+aFluidName.toLowerCase(), 1)); + FluidStack aFStack2 = (FluidUtils.getFluidStack("fluid"+"."+aFluidName.toLowerCase(), 1)); + FluidStack aFStack3 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), 1)); + FluidStack aFStack4 = (FluidUtils.getFluidStack(aFluidName, 1)); + FluidStack aFStack5 = (FluidUtils.getFluidStack("liquid_"+aFluidName.toLowerCase(), 1)); + FluidStack aFStack6 = (FluidUtils.getFluidStack("liquid"+"."+aFluidName.toLowerCase(), 1)); + if (aFStack1 != null) { + return aFStack1; + } + if (aFStack2 != null) { + return aFStack2; + } + if (aFStack3 != null) { + return aFStack3; + } + if (aFStack4 != null) { + return aFStack4; + } + if (aFStack5 != null) { + return aFStack5; + } + if (aFStack6 != null) { + return aFStack6; + } + return null; + } } diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index ae43abe3c5..553f3f7efa 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -182,6 +182,42 @@ public class MaterialUtils { return 0; } } + + public static int getVoltageForTier(final int aTier) { + if (aTier == 0) { + return 16; + } + if (aTier == 1) { + return 30; + } + if (aTier == 2) { + return 120; + } + if (aTier == 3) { + return 480; + } + if (aTier == 4) { + return 1600; + } + if (aTier == 5) { + return 6400; + } + if (aTier == 6) { + return 25000; + } + if (aTier == 7) { + return 100000; + } + if (aTier == 8) { + return 400000; + } + if (aTier == 9) { + return 1600000; + } + + + return 120; + } private static Materials getMaterialByName(String materialName) { @@ -202,7 +238,10 @@ public class MaterialUtils { public static String getMaterialName(Materials mat){ String mName; try { - mName = (String) FieldUtils.getDeclaredField(Materials.class, "mName", true).get(mat); + mName = (String) FieldUtils.getDeclaredField(Materials.class, "mDefaultLocalName", true).get(mat); + if (mName == null) { + mName = (String) FieldUtils.getDeclaredField(Materials.class, "mName", true).get(mat); + } } catch (IllegalArgumentException | IllegalAccessException e) { mName = mat.name(); |