From cbe0e497be8e466c380a5b4fa781b314ede9ada3 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sun, 6 Nov 2016 19:32:27 +1000 Subject: 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. --- src/Java/gtPlusPlus/core/material/Material.java | 606 ++++++++++++------------ 1 file changed, 305 insertions(+), 301 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material/Material.java') 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 vMaterialInput = new ArrayList(); - 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 vMaterialInput = new ArrayList(); + 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 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 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 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 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 0) { + if (smallestRatio.length > 0){ String tempRatioStringThing1 = ""; - for (int r = 0; r < tempRatio.length; r++) { - tempRatioStringThing1 = tempRatioStringThing1 + tempRatio[r] + " : "; + for (int r=0;r tempInput = this.vMaterialInput; - if (tempInput != null) { - if (!tempInput.isEmpty()) { + ArrayList 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 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; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } -- cgit