aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/materials
diff options
context:
space:
mode:
authordraknyte1 <draknyte1@hotmail.com>2016-11-02 15:49:00 +1000
committerdraknyte1 <draknyte1@hotmail.com>2016-11-02 15:49:00 +1000
commitd594987b2cfdefa447ee585a68d4a4bef4ece3a5 (patch)
tree814813fc14ce5dcd8dfa7aeaecd939ac42d12877 /src/Java/gtPlusPlus/core/util/materials
parent26292158575a0f0acb51ae50715887f871d2b5a0 (diff)
parent49a520da5da01594b5c42652d9db5c7c04e49ad8 (diff)
downloadGT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.tar.gz
GT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.tar.bz2
GT5-Unofficial-d594987b2cfdefa447ee585a68d4a4bef4ece3a5.zip
Merge branch 'master' of https://github.com/draknyte1/GTplusplus
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/materials')
-rw-r--r--src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java118
1 files changed, 116 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
index 0eae02d827..1ccb0f771c 100644
--- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.util.materials;
import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Element;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
import gregtech.api.enums.TextureSet;
@@ -51,8 +52,121 @@ public class MaterialUtils {
int boiling = material.mBlastFurnaceTemp;
long protons = material.getProtons();
long neutrons = material.getNeutrons();
- boolean blastFurnace = material.mBlastFurnaceRequired;
- return new Material(name, rgba, melting, boiling, protons, neutrons, blastFurnace, null);
+ boolean blastFurnace = material.mBlastFurnaceRequired;
+ String chemicalFormula = material.mChemicalFormula;
+ Element element = material.mElement;
+ int radioactivity = 0;
+ if (material.isRadioactive()){
+ radioactivity = 1;
+ }
+ if (hasValidRGBA(rgba) || element == Element.H){
+ //ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material);
+ //ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material);
+ return new Material(name, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity);
+ }
+ return null;
+
+ }
+
+ public static Material generateQuickMaterial(String materialName, short[] colour, int sRadioactivity) {
+ Material temp = new Material(
+ materialName,
+ colour,
+ 1000, //melting
+ 3000, //boiling
+ 50, //Protons
+ 50, //Neutrons
+ false,
+ "",
+ sRadioactivity);
+ return temp;
+ }
+
+ public static boolean hasValidRGBA(short[] rgba){
+ boolean test1 = false;
+ boolean test2 = false;
+ boolean test3 = false;
+ for (int r=0;r<rgba.length;r++){
+ if (rgba[r] == 0){
+ if (r == 0){
+ test1 = true;
+ }
+ else if (r == 1){
+ test2 = true;
+ }
+ else if (r == 2){
+ test3 = true;
+ }
+ }
+ }
+ if ((test1 && test2) || (test1 && test3) || (test3 && test2)){
+ return false;
+ }
+ return true;
+ }
+
+ public static String superscript(String str) {
+ str = str.replaceAll("0", "⁰");
+ str = str.replaceAll("1", "¹");
+ str = str.replaceAll("2", "²");
+ str = str.replaceAll("3", "³");
+ str = str.replaceAll("4", "⁴");
+ str = str.replaceAll("5", "⁵");
+ str = str.replaceAll("6", "⁶");
+ str = str.replaceAll("7", "⁷");
+ str = str.replaceAll("8", "⁸");
+ str = str.replaceAll("9", "⁹");
+ return str;
+ }
+
+ public static String subscript(String str) {
+ str = str.replaceAll("0", "₀");
+ str = str.replaceAll("1", "₁");
+ str = str.replaceAll("2", "₂");
+ str = str.replaceAll("3", "₃");
+ str = str.replaceAll("4", "₄");
+ str = str.replaceAll("5", "₅");
+ str = str.replaceAll("6", "₆");
+ str = str.replaceAll("7", "₇");
+ str = str.replaceAll("8", "₈");
+ str = str.replaceAll("9", "₉");
+ return str;
+ }
+
+ public static int getTierOfMaterial(int M){
+ if (M >= 0 && M <= 750){
+ return 1;
+ }
+ else if(M >= 751 && M <= 1250){
+ return 2;
+ }
+ else if(M >= 1251 && M <= 1750){
+ return 3;
+ }
+ else if(M >= 1751 && M <= 2250){
+ return 4;
+ }
+ else if(M >= 2251 && M <= 2750){
+ return 5;
+ }
+ else if(M >= 2751 && M <= 3250){
+ return 6;
+ }
+ else if(M >= 3251 && M <= 3750){
+ return 7;
+ }
+ else if(M >= 3751 && M <= 4250){
+ return 8;
+ }
+ else if(M >= 4251 && M <= 4750){
+ return 9;
+ }
+ else if(M >= 4751 && M <= 9999){
+ return 10;
+ }
+ else {
+ return 0;
+ }
}