aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/material/Material.java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-11-06 19:32:27 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-11-06 19:32:27 +1000
commitcbe0e497be8e466c380a5b4fa781b314ede9ada3 (patch)
treeb85848b432adf458e3abda466ee46d9dfc3e454b /src/Java/gtPlusPlus/core/material/Material.java
parentc40416b036c0e89451e1558253ccf07bbee028d0 (diff)
downloadGT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.tar.gz
GT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.tar.bz2
GT5-Unofficial-cbe0e497be8e466c380a5b4fa781b314ede9ada3.zip
Revert "$ Cleaned up the entire project."
This reverts commit 0669f5eb9d5029a8b94ec552171b0837605f7747. # Conflicts: # src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMTE_NuclearReactor.java # src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MassFabricator.java Revert "% Cleaned up Imports." This reverts commit 3654052fb63a571c5eaca7f20714b87c17f7e966.
Diffstat (limited to 'src/Java/gtPlusPlus/core/material/Material.java')
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java606
1 files changed, 305 insertions, 301 deletions
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 20ffd9cb6b..893b310ba4 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -1,14 +1,18 @@
package gtPlusPlus.core.material;
-import java.util.ArrayList;
-
-import gregtech.api.enums.*;
+import static gregtech.api.enums.GT_Values.M;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gtPlusPlus.core.item.base.cell.BaseItemCell;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.materials.MaterialUtils;
import gtPlusPlus.core.util.math.MathUtils;
+
+import java.util.ArrayList;
+
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
@@ -16,76 +20,63 @@ import net.minecraftforge.fluids.FluidStack;
public class Material {
- private final String unlocalizedName;
- private final String localizedName;
-
- private final Fluid vMoltenFluid;
-
- protected Object dataVar;
-
- private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>();
- public final long[] vSmallestRatio;
-
- private final short[] RGBA;
-
- private final boolean usesBlastFurnace;
- public final boolean isRadioactive;
- public final byte vRadioationLevel;
-
- private final int meltingPointK;
- private final int boilingPointK;
- private final int meltingPointC;
- private final int boilingPointC;
- private final long vProtons;
- private final long vNeutrons;
- private final long vMass;
- public final int smallestStackSizeWhenProcessing; // Add
- // a
- // check
- // for
- // <=0
- // ||
- // >
- // 64
- public final int vTier;
- public final int vVoltageMultiplier;
- public final String vChemicalFormula;
- public final String vChemicalSymbol;
-
- public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint,
- final long protons, final long neutrons, final boolean blastFurnace, final int radiationLevel,
- final MaterialStack... inputs) {
- this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel,
- inputs);
- }
-
- public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint,
- final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs) {
+ private final String unlocalizedName;
+ private final String localizedName;
+
+ private final Fluid vMoltenFluid;
+
+ protected Object dataVar;
+
+ private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>();
+ public final long[] vSmallestRatio;
+
+ private final short[] RGBA;
+
+ private final boolean usesBlastFurnace;
+ public final boolean isRadioactive;
+ public final byte vRadioationLevel;
+
+ private final int meltingPointK;
+ private final int boilingPointK;
+ private final int meltingPointC;
+ private final int boilingPointC;
+ private final long vProtons;
+ private final long vNeutrons;
+ private final long vMass;
+ public final int smallestStackSizeWhenProcessing; //Add a check for <=0 || > 64
+ public final int vTier;
+ public final int vVoltageMultiplier;
+ public final String vChemicalFormula;
+ public final String vChemicalSymbol;
+
+ public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){
this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs);
}
- public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint,
- final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol,
- final int radiationLevel, final MaterialStack... inputs) {
+ public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final int radiationLevel, MaterialStack... inputs){
+ this(materialName, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs);
+ }
+
+ public Material(final String materialName, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, final MaterialStack... inputs){
this.unlocalizedName = Utils.sanitizeString(materialName);
this.localizedName = materialName;
this.RGBA = rgba;
this.meltingPointC = meltingPoint;
- if (boilingPoint != 0) {
+ if (boilingPoint != 0){
this.boilingPointC = boilingPoint;
}
else {
- this.boilingPointC = meltingPoint * 4;
+ this.boilingPointC = meltingPoint*4;
}
- this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC);
- this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC);
+ this.meltingPointK = (int) MathUtils.celsiusToKelvin(meltingPointC);
+ this.boilingPointK = (int) MathUtils.celsiusToKelvin(boilingPointC);
this.vProtons = protons;
this.vNeutrons = neutrons;
- this.vMass = this.getMass();
+ this.vMass = getMass();
- // Sets the Rad level
- if (radiationLevel != 0) {
+ //Sets the Rad level
+ if (radiationLevel != 0){
this.isRadioactive = true;
this.vRadioationLevel = (byte) radiationLevel;
}
@@ -94,384 +85,339 @@ public class Material {
this.vRadioationLevel = (byte) radiationLevel;
}
- // Sets the materials 'tier'. Will probably replace this logic.
+ //Sets the materials 'tier'. Will probably replace this logic.
this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint));
this.usesBlastFurnace = blastFurnace;
this.vVoltageMultiplier = this.getMeltingPointK() >= 2800 ? 64 : 16;
- if (inputs == null) {
- this.vMaterialInput = null;
+ if (inputs == null){
+ this.vMaterialInput = null;
}
else {
- if (inputs.length != 0) {
- for (int i = 0; i < inputs.length; i++) {
- if (inputs[i] != null) {
+ if (inputs.length != 0){
+ for (int i=0; i < inputs.length; i++){
+ if (inputs[i] != null){
this.vMaterialInput.add(i, inputs[i]);
}
}
}
}
- this.vSmallestRatio = this.getSmallestRatio(this.vMaterialInput);
+ this.vSmallestRatio = getSmallestRatio(vMaterialInput);
int tempSmallestSize = 0;
- if (this.vSmallestRatio != null) {
- for (int v = 0; v < this.vSmallestRatio.length; v++) {
- tempSmallestSize = (int) (tempSmallestSize + this.vSmallestRatio[v]);
+ if (vSmallestRatio != null){
+ for (int v=0;v<this.vSmallestRatio.length;v++){
+ tempSmallestSize=(int) (tempSmallestSize+vSmallestRatio[v]);
}
- this.smallestStackSizeWhenProcessing = tempSmallestSize; // Valid
- // stacksizes
+ this.smallestStackSizeWhenProcessing = tempSmallestSize; //Valid stacksizes
}
else {
- this.smallestStackSizeWhenProcessing = 1; // Valid stacksizes
+ this.smallestStackSizeWhenProcessing = 1; //Valid stacksizes
}
- // Makes a Fancy Chemical Tooltip
+
+ //Makes a Fancy Chemical Tooltip
this.vChemicalSymbol = chemicalSymbol;
- if (this.vMaterialInput != null) {
- this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / GT_Values.M,
- true);
+ if (vMaterialInput != null){
+ this.vChemicalFormula = getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true);
}
- else if (!this.vChemicalSymbol.equals("")) {
+ else if (!this.vChemicalSymbol.equals("")){
Utils.LOG_WARNING("materialInput is null, using a valid chemical symbol.");
this.vChemicalFormula = this.vChemicalSymbol;
}
- else {
+ else{
Utils.LOG_WARNING("MaterialInput == null && chemicalSymbol probably equals nothing");
this.vChemicalFormula = "??";
}
- final Materials isValid = Materials.get(this.getLocalizedName());
- if (isValid == Materials._NULL) {
- this.vMoltenFluid = this.generateFluid();
+ Materials isValid = Materials.get(getLocalizedName());
+ if (isValid == Materials._NULL){
+ this.vMoltenFluid = generateFluid();
}
else {
- if (isValid.mFluid != null) {
+ if (isValid.mFluid != null){
this.vMoltenFluid = isValid.mFluid;
}
- else if (isValid.mGas != null) {
+ else if (isValid.mGas != null){
this.vMoltenFluid = isValid.mGas;
}
- else if (isValid.mPlasma != null) {
+ else if (isValid.mPlasma != null){
this.vMoltenFluid = isValid.mPlasma;
}
else {
- this.vMoltenFluid = this.generateFluid();
+ this.vMoltenFluid = generateFluid();
}
}
- // dataVar = MathUtils.generateSingularRandomHexValue();
+ //dataVar = MathUtils.generateSingularRandomHexValue();
String ratio = "";
- if (this.vSmallestRatio != null) {
- for (int hu = 0; hu < this.vSmallestRatio.length; hu++) {
- if (ratio.equals("")) {
- ratio = String.valueOf(this.vSmallestRatio[hu]);
+ if (vSmallestRatio != null)
+ for (int hu=0;hu<vSmallestRatio.length;hu++){
+ if (ratio.equals("")){
+ ratio = String.valueOf(vSmallestRatio[hu]);
}
else {
- ratio = ratio + ":" + this.vSmallestRatio[hu];
- }
+ ratio = ratio + ":" +vSmallestRatio[hu];
+ }
}
- }
- Utils.LOG_INFO("Creating a Material instance for " + materialName);
- Utils.LOG_INFO("Formula: " + this.vChemicalFormula + " Smallest Stack: " + this.smallestStackSizeWhenProcessing
- + " Smallest Ratio:" + ratio);
- Utils.LOG_INFO("Protons: " + this.vProtons);
- Utils.LOG_INFO("Neutrons: " + this.vNeutrons);
- Utils.LOG_INFO("Mass: " + this.vMass + "/units");
- Utils.LOG_INFO("Melting Point: " + this.meltingPointC + "C.");
- Utils.LOG_INFO("Boiling Point: " + this.boilingPointC + "C.");
+ Utils.LOG_INFO("Creating a Material instance for "+materialName);
+ Utils.LOG_INFO("Formula: "+vChemicalFormula + " Smallest Stack: "+smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio);
+ Utils.LOG_INFO("Protons: "+vProtons);
+ Utils.LOG_INFO("Neutrons: "+vNeutrons);
+ Utils.LOG_INFO("Mass: "+vMass+"/units");
+ Utils.LOG_INFO("Melting Point: "+meltingPointC+"C.");
+ Utils.LOG_INFO("Boiling Point: "+boilingPointC+"C.");
}
- final Fluid generateFluid() {
- if (Materials.get(this.localizedName).mFluid == null) {
- Utils.LOG_WARNING("Generating our own fluid.");
-
- // Generate a Cell if we need to
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getUnlocalizedName(), 1) == null) {
- @SuppressWarnings("unused")
- final Item temp = new BaseItemCell(this);
- }
- return FluidUtils.addGTFluid(this.getUnlocalizedName(), "Molten " + this.getLocalizedName(), this.RGBA, 4,
- this.getMeltingPointK(),
- ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + this.getUnlocalizedName(), 1),
- ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
- }
- Utils.LOG_WARNING("Getting the fluid from a GT material instead.");
- return Materials.get(this.localizedName).mFluid;
+ final public String getLocalizedName(){
+ return localizedName;
}
- final public int getBoilingPointC() {
- return this.boilingPointC;
+ final public String getUnlocalizedName(){
+ return unlocalizedName;
}
- final public int getBoilingPointK() {
- return this.boilingPointK;
+ final public short[] getRGBA(){
+ return this.RGBA;
}
- final public ItemStack getBolt(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("bolt" + this.unlocalizedName, stacksize);
- }
+ final public int getRgbAsHex(){
- final public ArrayList<MaterialStack> getComposites() {
- return this.vMaterialInput;
+ int returnValue = Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
+ if (returnValue == 0){
+ return (int) dataVar;
+ }
+ return Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
}
- final public ItemStack getDust(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust" + this.unlocalizedName, stacksize);
+ final public long getProtons() {
+ return vProtons;
}
- final public FluidStack getFluid(final int fluidAmount) {
- Utils.LOG_WARNING("Attempting to get " + fluidAmount + "L of " + this.vMoltenFluid.getName());
+ final public long getNeutrons() {
+ return vNeutrons;
+ }
- final FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount);
+ final public long getMass() {
+ return vProtons + vNeutrons;
+ }
- Utils.LOG_WARNING("Info: " + moltenFluid.getFluid().getName() + " Info: " + moltenFluid.amount + " Info: "
- + moltenFluid.getFluidID());
+ final public int getMeltingPointC() {
+ return meltingPointC;
+ }
- // FluidStack moltenFluid =
- // FluidUtils.getFluidStack(this.vMoltenFluid.getName(), fluidAmount);
- /*
- * boolean isNull = (moltenFluid == null); if (isNull)
- * Utils.LOG_WARNING("Did not obtain fluid."); else Utils.LOG_WARNING(
- * "Found fluid."); if (isNull){ return null; }
- */
- return moltenFluid;
+ final public int getBoilingPointC() {
+ return boilingPointC;
}
- final public ItemStack getFrameBox(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt" + this.unlocalizedName, stacksize);
+ final public int getMeltingPointK() {
+ return meltingPointK;
}
- final public ItemStack getGear(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gear" + this.unlocalizedName, stacksize);
+ final public int getBoilingPointK() {
+ return boilingPointK;
}
- final public ItemStack getIngot(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot" + this.unlocalizedName, stacksize);
+ final public boolean requiresBlastFurnace(){
+ return usesBlastFurnace;
}
- final public String getLocalizedName() {
- return this.localizedName;
+ final public ItemStack getDust(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, stacksize);
}
- final public ItemStack getLongRod(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stickLong" + this.unlocalizedName, stacksize);
+ final public ItemStack getSmallDust(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSmall"+unlocalizedName, stacksize);
}
- final public long getMass() {
- return this.vProtons + this.vNeutrons;
- }
-
- final public ItemStack[] getMaterialComposites() {
- // Utils.LOG_WARNING("Something requested the materials needed for
- // "+localizedName);
- if (this.vMaterialInput != null) {
- if (!this.vMaterialInput.isEmpty()) {
- final ItemStack[] temp = new ItemStack[this.vMaterialInput.size()];
- for (int i = 0; i < this.vMaterialInput.size(); i++) {
- // Utils.LOG_WARNING("i:"+i);
- ItemStack testNull = null;
- try {
- testNull = this.vMaterialInput.get(i).getDustStack();
- }
- catch (final Throwable r) {
- Utils.LOG_WARNING("Failed gathering material stack for " + this.localizedName + ".");
- Utils.LOG_WARNING("What Failed: Length:" + this.vMaterialInput.size() + " current:" + i);
- }
- try {
- if (testNull != null) {
- // Utils.LOG_WARNING("not null");
- temp[i] = this.vMaterialInput.get(i).getDustStack();
- }
- }
- catch (final Throwable r) {
- Utils.LOG_WARNING("Failed setting slot " + i + ", using " + this.localizedName);
- }
- }
- return temp;
- }
- }
- return new ItemStack[] {};
+ final public ItemStack getTinyDust(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustTiny"+unlocalizedName, stacksize);
}
- final public int[] getMaterialCompositeStackSizes() {
- if (!this.vMaterialInput.isEmpty()) {
- final int[] temp = new int[this.vMaterialInput.size()];
- for (int i = 0; i < this.vMaterialInput.size(); i++) {
- if (this.vMaterialInput.get(i) != null) {
- temp[i] = this.vMaterialInput.get(i).getDustStack().stackSize;
- }
- else {
- temp[i] = 0;
- }
- }
- return temp;
- }
- return new int[] {};
+ final public ItemStack[] getValidInputStacks(){
+ return ItemUtils.validItemsForOreDict(unlocalizedName);
}
- final public int getMeltingPointC() {
- return this.meltingPointC;
+ final public ItemStack getIngot(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingot"+unlocalizedName, stacksize);
}
- final public int getMeltingPointK() {
- return this.meltingPointK;
+ final public ItemStack getPlate(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate"+unlocalizedName, stacksize);
}
- final public long getNeutrons() {
- return this.vNeutrons;
+ final public ItemStack getPlateDouble(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDouble"+unlocalizedName, stacksize);
}
- final public ItemStack getPlate(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plate" + this.unlocalizedName, stacksize);
+ final public ItemStack getGear(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("gear"+unlocalizedName, stacksize);
}
- final public ItemStack getPlateDouble(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDouble" + this.unlocalizedName, stacksize);
+ final public ItemStack getRod(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stick"+unlocalizedName, stacksize);
}
- final public long getProtons() {
- return this.vProtons;
+ final public ItemStack getLongRod(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stickLong"+unlocalizedName, stacksize);
}
- final public short[] getRGBA() {
- return this.RGBA;
+ final public ItemStack getBolt(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("bolt"+unlocalizedName, stacksize);
}
- final public int getRgbAsHex() {
+ final public ItemStack getScrew(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("screw"+unlocalizedName, stacksize);
+ }
- final int returnValue = Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]);
- if (returnValue == 0) {
- return (int) this.dataVar;
- }
- return Utils.rgbtoHexValue(this.RGBA[0], this.RGBA[1], this.RGBA[2]);
+ final public ItemStack getRing(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ring"+unlocalizedName, stacksize);
}
- final public ItemStack getRing(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ring" + this.unlocalizedName, stacksize);
+ final public ItemStack getRotor(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("rotor"+unlocalizedName, stacksize);
}
- final public ItemStack getRod(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("stick" + this.unlocalizedName, stacksize);
+ final public ItemStack getFrameBox(int stacksize){
+ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("frameGt"+unlocalizedName, stacksize);
}
- final public ItemStack getRotor(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("rotor" + this.unlocalizedName, stacksize);
+ final public ItemStack[] getMaterialComposites(){
+ //Utils.LOG_WARNING("Something requested the materials needed for "+localizedName);
+ if (vMaterialInput != null){
+ if (!vMaterialInput.isEmpty()){
+ ItemStack[] temp = new ItemStack[vMaterialInput.size()];
+ for (int i=0;i<vMaterialInput.size();i++){
+ //Utils.LOG_WARNING("i:"+i);
+ ItemStack testNull = null;
+ try {
+ testNull = vMaterialInput.get(i).getDustStack();
+ } catch (Throwable r){
+ Utils.LOG_WARNING("Failed gathering material stack for "+localizedName+".");
+ Utils.LOG_WARNING("What Failed: Length:"+vMaterialInput.size()+" current:"+i);
+ }
+ try {
+ if (testNull != null){
+ //Utils.LOG_WARNING("not null");
+ temp[i] = vMaterialInput.get(i).getDustStack();
+ }
+ } catch (Throwable r){
+ Utils.LOG_WARNING("Failed setting slot "+i+", using "+localizedName);
+ }
+ }
+ return temp;
+ }
+ }
+ return new ItemStack[]{};
}
- final public ItemStack getScrew(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("screw" + this.unlocalizedName, stacksize);
+ final public ArrayList<MaterialStack> getComposites(){
+ return this.vMaterialInput;
}
- final public ItemStack getSmallDust(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSmall" + this.unlocalizedName, stacksize);
+ final public int[] getMaterialCompositeStackSizes(){
+ if (!vMaterialInput.isEmpty()){
+ int[] temp = new int[vMaterialInput.size()];
+ for (int i=0;i<vMaterialInput.size();i++){
+ if (vMaterialInput.get(i) != null)
+ temp[i] = vMaterialInput.get(i).getDustStack().stackSize;
+ else
+ temp[i]=0;
+ }
+ return temp;
+ }
+ return new int[]{};
}
+
@SuppressWarnings("static-method")
- final public long[] getSmallestRatio(final ArrayList<MaterialStack> tempInput) {
- if (tempInput != null) {
- if (!tempInput.isEmpty()) {
- Utils.LOG_WARNING("length: " + tempInput.size());
- Utils.LOG_WARNING("(inputs != null): " + (tempInput != null));
- // Utils.LOG_WARNING("length: "+inputs.length);
- final long[] tempRatio = new long[tempInput.size()];
- for (int x = 0; x < tempInput.size(); x++) {
- // tempPercentage =
- // tempPercentage+inputs[x].percentageToUse;
- // this.mMaterialList.add(inputs[x]);
- if (tempInput.get(x) != null) {
- tempRatio[x] = tempInput.get(x).getPartsPerOneHundred();
+ final public long[] getSmallestRatio(ArrayList<MaterialStack> tempInput){
+ if (tempInput != null){
+ if (!tempInput.isEmpty()){
+ Utils.LOG_WARNING("length: "+tempInput.size());
+ Utils.LOG_WARNING("(inputs != null): "+(tempInput != null));
+ //Utils.LOG_WARNING("length: "+inputs.length);
+ long[] tempRatio = new long[tempInput.size()];
+ for (int x=0;x<tempInput.size();x++){
+ //tempPercentage = tempPercentage+inputs[x].percentageToUse;
+ //this.mMaterialList.add(inputs[x]);
+ if (tempInput.get(x) != null){
+ tempRatio[x] = tempInput.get(x).getPartsPerOneHundred();
}
}
- final long[] smallestRatio = MathUtils.simplifyNumbersToSmallestForm(tempRatio);
+ long[] smallestRatio = MathUtils.simplifyNumbersToSmallestForm(tempRatio);
- if (smallestRatio.length > 0) {
+ if (smallestRatio.length > 0){
String tempRatioStringThing1 = "";
- for (int r = 0; r < tempRatio.length; r++) {
- tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] + " : ";
+ for (int r=0;r<tempRatio.length;r++){
+ tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] +" : ";
}
- Utils.LOG_WARNING("Default Ratio: " + tempRatioStringThing1);
+ Utils.LOG_WARNING("Default Ratio: "+tempRatioStringThing1);
String tempRatioStringThing = "";
int tempSmallestCraftingUseSize = 0;
- for (int r = 0; r < smallestRatio.length; r++) {
- tempRatioStringThing = tempRatioStringThing + smallestRatio[r] + " : ";
+ for (int r=0;r<smallestRatio.length;r++){
+ tempRatioStringThing = tempRatioStringThing + smallestRatio[r] +" : ";
tempSmallestCraftingUseSize = (int) (tempSmallestCraftingUseSize + smallestRatio[r]);
}
- // this.smallestStackSizeWhenProcessing =
- // tempSmallestCraftingUseSize;
- Utils.LOG_WARNING("Smallest Ratio: " + tempRatioStringThing);
+ //this.smallestStackSizeWhenProcessing = tempSmallestCraftingUseSize;
+ Utils.LOG_WARNING("Smallest Ratio: "+tempRatioStringThing);
return smallestRatio;
}
- }
+ }
}
return null;
}
- final public ItemStack getTinyDust(final int stacksize) {
- return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustTiny" + this.unlocalizedName, stacksize);
- }
-
@SuppressWarnings("unused")
- final String getToolTip(final String chemSymbol, final long aMultiplier, final boolean aShowQuestionMarks) {
- if (!aShowQuestionMarks && (this.vChemicalFormula.equals("?") || this.vChemicalFormula.equals("??"))) {
- return "";
- }
- Utils.LOG_WARNING(
- "===============| Calculating Atomic Formula for " + this.localizedName + " |===============");
- if (!chemSymbol.equals("")) {
+ final String getToolTip(String chemSymbol, long aMultiplier, boolean aShowQuestionMarks) {
+ if (!aShowQuestionMarks && (vChemicalFormula.equals("?")||vChemicalFormula.equals("??"))) return "";
+ Utils.LOG_WARNING("===============| Calculating Atomic Formula for "+this.localizedName+" |===============");
+ if (!chemSymbol.equals(""))
return chemSymbol;
- }
- final ArrayList<MaterialStack> tempInput = this.vMaterialInput;
- if (tempInput != null) {
- if (!tempInput.isEmpty()) {
+ ArrayList<MaterialStack> tempInput = vMaterialInput;
+ if (tempInput != null){
+ if (!tempInput.isEmpty()){
String dummyFormula = "";
- final long[] dummyFormulaArray = this.getSmallestRatio(tempInput);
- if (dummyFormulaArray != null) {
- if (dummyFormulaArray.length >= 1) {
- for (int e = 0; e < tempInput.size(); e++) {
- if (tempInput.get(e) != null) {
- if (tempInput.get(e).getStackMaterial() != null) {
- if (!tempInput.get(e).getStackMaterial().vChemicalSymbol.equals("??")) {
- if (dummyFormulaArray[e] > 1) {
-
- if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3) {
- dummyFormula = dummyFormula + "("
- + tempInput.get(e).getStackMaterial().vChemicalFormula + ")"
- + dummyFormulaArray[e];
+ long[] dummyFormulaArray = getSmallestRatio(tempInput);
+ if (dummyFormulaArray != null){
+ if (dummyFormulaArray.length >= 1){
+ for (int e=0;e<tempInput.size();e++){
+ if (tempInput.get(e) != null){
+ if (tempInput.get(e).getStackMaterial() != null){
+ if (!tempInput.get(e).getStackMaterial().vChemicalSymbol.equals("??")){
+ if (dummyFormulaArray[e] > 1){
+
+ if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){
+ dummyFormula = dummyFormula + "(" + tempInput.get(e).getStackMaterial().vChemicalFormula + ")" + dummyFormulaArray[e];
}
else {
- dummyFormula = dummyFormula
- + tempInput.get(e).getStackMaterial().vChemicalFormula
- + dummyFormulaArray[e];
+ dummyFormula = dummyFormula + tempInput.get(e).getStackMaterial().vChemicalFormula + dummyFormulaArray[e];
}
}
- else if (dummyFormulaArray[e] == 1) {
- if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3) {
- dummyFormula = dummyFormula + "("
- + tempInput.get(e).getStackMaterial().vChemicalFormula + ")";
+ else if (dummyFormulaArray[e] == 1){
+ if (tempInput.get(e).getStackMaterial().vChemicalFormula.length() > 3){
+ dummyFormula = dummyFormula + "(" +tempInput.get(e).getStackMaterial().vChemicalFormula + ")";
}
else {
- dummyFormula = dummyFormula
- + tempInput.get(e).getStackMaterial().vChemicalFormula;
+ dummyFormula = dummyFormula +tempInput.get(e).getStackMaterial().vChemicalFormula;
}
}
}
- else {
+ else
dummyFormula = dummyFormula + "??";
- }
}
- else {
+ else
dummyFormula = dummyFormula + "▓▓";
- }
}
}
return MaterialUtils.subscript(dummyFormula);
- // return dummyFormula;
+ //return dummyFormula;
}
Utils.LOG_WARNING("dummyFormulaArray <= 0");
}
@@ -484,16 +430,74 @@ public class Material {
}
- final public String getUnlocalizedName() {
- return this.unlocalizedName;
- }
+ final Fluid generateFluid(){
+ if (Materials.get(localizedName).mFluid == null){
+ Utils.LOG_WARNING("Generating our own fluid.");
- final public ItemStack[] getValidInputStacks() {
- return ItemUtils.validItemsForOreDict(this.unlocalizedName);
+ //Generate a Cell if we need to
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1) == null){
+ @SuppressWarnings("unused")
+ Item temp = new BaseItemCell(this);
+ }
+ return FluidUtils.addGTFluid(
+ this.getUnlocalizedName(),
+ "Molten "+this.getLocalizedName(),
+ this.RGBA,
+ 4,
+ this.getMeltingPointK(),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+getUnlocalizedName(), 1),
+ ItemList.Cell_Empty.get(1L, new Object[0]),
+ 1000);
+ }
+ Utils.LOG_WARNING("Getting the fluid from a GT material instead.");
+ return Materials.get(localizedName).mFluid;
}
- final public boolean requiresBlastFurnace() {
- return this.usesBlastFurnace;
+ final public FluidStack getFluid(int fluidAmount) {
+ Utils.LOG_WARNING("Attempting to get "+fluidAmount+"L of "+this.vMoltenFluid.getName());
+
+ FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount);
+
+ Utils.LOG_WARNING("Info: "+moltenFluid.getFluid().getName()+" Info: "+moltenFluid.amount+" Info: "+moltenFluid.getFluidID());
+
+ //FluidStack moltenFluid = FluidUtils.getFluidStack(this.vMoltenFluid.getName(), fluidAmount);
+ /*boolean isNull = (moltenFluid == null);
+ if (isNull) Utils.LOG_WARNING("Did not obtain fluid.");
+ else Utils.LOG_WARNING("Found fluid.");
+ if (isNull){
+ return null;
+ }*/
+ return moltenFluid;
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}