From 91e18f54e4733c695ac023d87adfcef9e8dbbb4a Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 14 Sep 2016 01:10:02 +1000 Subject: Attempting to Rewrite the entire material system for future use (Also makes life easier if I do something similar in 1.10) --- src/Java/gtPlusPlus/core/material/ELEMENT.java | 85 ++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/Java/gtPlusPlus/core/material/ELEMENT.java (limited to 'src/Java/gtPlusPlus/core/material/ELEMENT.java') diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java new file mode 100644 index 0000000000..5022e8676b --- /dev/null +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -0,0 +1,85 @@ +package gtPlusPlus.core.material; + +import gregtech.api.enums.Materials; +import gtPlusPlus.core.util.materials.MaterialUtils; + +public class ELEMENT { + + + //First 50 Elements + public static final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen); + public static final Material HELIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Helium); + public static final Material LITHIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Lithium); + public static final Material BERYLLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Beryllium); + public static final Material BORON = MaterialUtils.generateMaterialFromGtENUM(Materials.Boron); + public static final Material CARBON = MaterialUtils.generateMaterialFromGtENUM(Materials.Carbon); + public static final Material NITROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Nitrogen); + public static final Material OXYGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Oxygen); + public static final Material FLUORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Fluorine); + //public static final Material NEON = MaterialUtils.generateMaterialFromGtENUM(Materials.Ne); + public static final Material SODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Sodium); + public static final Material MAGNESIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Magnesium); + public static final Material ALUMINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Aluminium); + public static final Material SILICON = MaterialUtils.generateMaterialFromGtENUM(Materials.Silicon); + public static final Material PHOSPHORUS = MaterialUtils.generateMaterialFromGtENUM(Materials.Phosphorus); + public static final Material SULFUR = MaterialUtils.generateMaterialFromGtENUM(Materials.Sulfur); + public static final Material CHLORINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Chlorine); + public static final Material ARGON = MaterialUtils.generateMaterialFromGtENUM(Materials.Argon); + public static final Material POTASSIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Potassium); + public static final Material CALCIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Calcium); + public static final Material SCANDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Scandium); + public static final Material TITANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Titanium); + public static final Material VANADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium); + public static final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chromium); + public static final Material MANGANESE = MaterialUtils.generateMaterialFromGtENUM(Materials.Manganese); + public static final Material IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.Iron); + public static final Material COBALT = MaterialUtils.generateMaterialFromGtENUM(Materials.Cobalt); + public static final Material NICKEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Nickel); + public static final Material COPPER = MaterialUtils.generateMaterialFromGtENUM(Materials.Copper); + public static final Material ZINC = MaterialUtils.generateMaterialFromGtENUM(Materials.Zinc); + public static final Material GALLIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Gallium); + //public static final Material GERMANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Germanium); + public static final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic); + //public static final Material SELENIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Selenium); + //public static final Material BROMINE = MaterialUtils.generateMaterialFromGtENUM(Materials.Bromine); + //public static final Material KRYPTON = MaterialUtils.generateMaterialFromGtENUM(Materials.Krypton); + public static final Material RUBIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubidium); + public static final Material STRONTIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Strontium); + public static final Material YTTRIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yttrium); + public static final Material ZIRCONIUM = new Material("Zirconium", new short[]{255, 250, 205}, 1855, 4377, 40, 51, false, null);//Not a GT Inherited Material + public static final Material NIOBIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Niobium); + public static final Material MOLYBDENUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Molybdenum); + //public static final Material TECHNETIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Technetium); + //public static final Material RUTHENIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Ruthenium); + //public static final Material RHODIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rhodium); + public static final Material PALLADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Palladium); + public static final Material SILVER = MaterialUtils.generateMaterialFromGtENUM(Materials.Silver); + public static final Material CADMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Cadmium); + public static final Material INDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Indium); + public static final Material TIN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tin); + + + + + + + + + + //Second 50 elements + public static final Material TANTALUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Tantalum); + public static final Material TUNGSTEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Tungsten); + public static final Material OSMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmium); + public static final Material IRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Iridium); + public static final Material PLATINUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Platinum); + public static final Material GOLD = MaterialUtils.generateMaterialFromGtENUM(Materials.Gold); + public static final Material LEAD = MaterialUtils.generateMaterialFromGtENUM(Materials.Lead); + public static final Material BISMUTH = MaterialUtils.generateMaterialFromGtENUM(Materials.Bismuth); + public static final Material RADON = MaterialUtils.generateMaterialFromGtENUM(Materials.Radon); + public static final Material THORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thorium); + public static final Material URANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Uranium); + public static final Material PLUTONIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Plutonium); + public static final Material URANIUM233 = new Material("Uranium-233", new short[]{73, 220, 83, 0}, 1132, 4131, 92, 141, false, null);//Not a GT Inherited Material + + +} -- cgit From a871ac6e7b14239481899e9c5430c114bc75ba4a Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 14 Sep 2016 02:00:12 +1000 Subject: Tidying Up some Materials. Making some changes to null arrays, so they no longer are. --- src/Java/gtPlusPlus/core/material/ALLOY.java | 12 +++--------- src/Java/gtPlusPlus/core/material/ELEMENT.java | 4 ++-- src/Java/gtPlusPlus/core/material/Material.java | 6 +++--- 3 files changed, 8 insertions(+), 14 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material/ELEMENT.java') diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index c0d393ee58..5c368a23da 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -4,7 +4,7 @@ package gtPlusPlus.core.material; public class ALLOY { public static final Material ENERGYCRYSTAL = new Material( - "name", //Material Name + "Energy Crystal", //Material Name new short[]{228, 255, 0, 0}, //Material Colour 5660, //Melting Point in C 0, //Boiling Point in C @@ -12,10 +12,7 @@ public class ALLOY { 100, //Neutrons true, //Uses Blast furnace? //Material Stacks with Percentage of required elements. - new MaterialStack[]{ - new MaterialStack(ELEMENT.GOLD, 50), - new MaterialStack(ELEMENT.SILVER, 50) - }); + null); public static final Material BLOODSTEEL = new Material( "Blood Steel", //Material Name @@ -26,10 +23,7 @@ public class ALLOY { 100, //Neutrons false, //Uses Blast furnace? //Material Stacks with Percentage of required elements. - new MaterialStack[]{ - new MaterialStack(ELEMENT.GOLD, 50), - new MaterialStack(ELEMENT.SILVER, 50) - }); + null); public static final Material STABALLOY = new Material( "Staballoy", //Material Name diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 5022e8676b..05d09e64de 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -3,8 +3,8 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; import gtPlusPlus.core.util.materials.MaterialUtils; -public class ELEMENT { - +public final class ELEMENT { + //First 50 Elements public static final Material HYDROGEN = MaterialUtils.generateMaterialFromGtENUM(Materials.Hydrogen); diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index ef9f3274ee..0af8d91278 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -10,7 +10,7 @@ public class Material { final String unlocalizedName; final String localizedName; - final MaterialStack[] materialInput = null; + final MaterialStack[] materialInput = new MaterialStack[4]; final short[] RGBA; @@ -94,7 +94,7 @@ public class Material { } public ItemStack[] getMaterialComposites(){ - ItemStack[] temp = {}; + ItemStack[] temp = new ItemStack[materialInput.length]; for (int i=0;i Date: Wed, 14 Sep 2016 04:35:19 +1000 Subject: I think only shape(less) recipes for Small/Tiny dusts & implementing recipe cost based on mass, not just what I feel like. lol --- .../core/item/base/dusts/BaseItemDust.java | 20 +++++++++------ src/Java/gtPlusPlus/core/material/ALLOY.java | 6 ++--- src/Java/gtPlusPlus/core/material/ELEMENT.java | 2 +- src/Java/gtPlusPlus/core/material/Material.java | 29 +++++++++++++++++----- .../gtPlusPlus/core/material/MaterialStack.java | 14 ++++++++--- 5 files changed, 49 insertions(+), 22 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material/ELEMENT.java') diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java index b5e303ff7a..b94b7759da 100644 --- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java @@ -136,21 +136,21 @@ public class BaseItemDust extends Item{ ItemStack tempStack = UtilsItems.getSimpleStack(this); ItemStack tempOutput = null; ItemStack[] inputStacks = dustInfo.getMaterialComposites(); - ItemStack[] outputStacks = {dustInfo.getDust()}; + ItemStack[] outputStacks = {dustInfo.getDust(10)}; String temp = ""; Utils.LOG_WARNING("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); - if (getUnlocalizedName().contains("item.")){ + if (getUnlocalizedName().toLowerCase().contains("item.")){ temp = getUnlocalizedName().replace("item.", ""); Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else { temp = getUnlocalizedName(); } - if (temp.contains("DustTiny")){ + if (temp.toLowerCase().contains("dusttiny")){ temp = temp.replace("itemDustTiny", "dust"); Utils.LOG_WARNING("Generating OreDict Name: "+temp); } - else if (temp.contains("DustSmall")){ + else if (temp.toLowerCase().contains("dustsmall")){ temp = temp.replace("itemDustSmall", "dust"); Utils.LOG_WARNING("Generating OreDict Name: "+temp); } @@ -158,9 +158,9 @@ public class BaseItemDust extends Item{ temp = temp.replace("itemD", "d"); Utils.LOG_WARNING("Generating OreDict Name: "+temp); } - if (temp != null && temp != ""){ + if (temp != null && temp != "" && !temp.equals("")){ - if (getUnlocalizedName().contains("DustTiny") || getUnlocalizedName().contains("DustSmall")){ + if (getUnlocalizedName().toLowerCase().contains("dusttiny") || getUnlocalizedName().toLowerCase().contains("dustsmall")){ tempOutput = UtilsItems.getItemStackOfAmountFromOreDict(temp, 1); } else { @@ -175,6 +175,10 @@ public class BaseItemDust extends Item{ } } + + if (tempOutput == null){ + tempOutput = dustInfo.getDust(1); + } if (tempOutput != null){ if (getUnlocalizedName().contains("DustTiny")){ @@ -204,7 +208,7 @@ public class BaseItemDust extends Item{ ItemStack tempStackForAName = inputStacks[i]; String[] inputList = UtilsItems.getArrayStackNamesAsArray(dustInfo.getMaterialComposites()); int[] inputSizes = dustInfo.getMaterialCompositeStackSizes(); - inputStacks[i] = UtilsItems.getItemStackOfAmountFromOreDict(inputList[i], inputSizes[i]); + inputStacks[i] = UtilsItems.getItemStackOfAmountFromOreDict(inputList[i], 1); Utils.LOG_WARNING("Swapping input slot "+i+" which contains "+tempStackForAName.getDisplayName()+" with "+inputStacks[i].getDisplayName()+"."); } @@ -267,7 +271,7 @@ public class BaseItemDust extends Item{ tempIngot = tempIngot.replace("itemDust", "ingot"); Utils.LOG_WARNING("Generating OreDict Name: "+tempIngot); - ItemStack[] outputStacks = {dustInfo.getDust()}; + ItemStack[] outputStacks = {dustInfo.getDust(1)}; if (tempIngot != null && tempIngot != ""){ tempInputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempDust, 1); diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 3b203b037e..b46c84d2ba 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -330,12 +330,12 @@ public final class ALLOY { new short[]{236, 213, 48, 0}, //Material Colour 1350, //Melting Point in C 0, //Boiling Point in C - ((ELEMENT.IRON.getProtons()*5)+(ELEMENT.MOLYBDENUM.getProtons()*16)+(ELEMENT.CHROMIUM.getProtons()*7)+(ELEMENT.NICKEL.getProtons()*72))/100, //Protons - ((ELEMENT.IRON.getNeutrons()*5)+(ELEMENT.MOLYBDENUM.getNeutrons()*16)+(ELEMENT.CHROMIUM.getNeutrons()*7)+(ELEMENT.NICKEL.getNeutrons()*72))/100, //Neutrons + ((ELEMENT.YTTRIUM.getProtons()*5)+(ELEMENT.MOLYBDENUM.getProtons()*16)+(ELEMENT.CHROMIUM.getProtons()*7)+(ELEMENT.NICKEL.getProtons()*72))/100, //Protons + ((ELEMENT.YTTRIUM.getNeutrons()*5)+(ELEMENT.MOLYBDENUM.getNeutrons()*16)+(ELEMENT.CHROMIUM.getNeutrons()*7)+(ELEMENT.NICKEL.getNeutrons()*72))/100, //Neutrons true, //Uses Blast furnace? //Material Stacks with Percentage of required elements. new MaterialStack[]{ - new MaterialStack(ELEMENT.IRON, 05), + new MaterialStack(ELEMENT.YTTRIUM, 05), new MaterialStack(ELEMENT.MOLYBDENUM, 16), new MaterialStack(ELEMENT.CHROMIUM, 7), new MaterialStack(ELEMENT.NICKEL, 72) diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 05d09e64de..307105eaf0 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -30,7 +30,7 @@ public final class ELEMENT { public static final Material SCANDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Scandium); public static final Material TITANIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Titanium); public static final Material VANADIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Vanadium); - public static final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chromium); + public static final Material CHROMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Chrome); public static final Material MANGANESE = MaterialUtils.generateMaterialFromGtENUM(Materials.Manganese); public static final Material IRON = MaterialUtils.generateMaterialFromGtENUM(Materials.Iron); public static final Material COBALT = MaterialUtils.generateMaterialFromGtENUM(Materials.Cobalt); diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 7085ec9329..857e403ada 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -25,7 +25,7 @@ public class Material { final long vMass; public Material(String materialName, short[] rgba, int meltingPoint, int boilingPoint, long protons, long neutrons, boolean blastFurnace, MaterialStack[] inputs){ - + this.unlocalizedName = Utils.sanitizeString(materialName); this.localizedName = materialName; this.RGBA = rgba; @@ -53,6 +53,12 @@ public class Material { } } } + Utils.LOG_INFO("Creating a Material instance for "+materialName); + 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."); } public String getLocalizedName(){ @@ -91,8 +97,8 @@ public class Material { return usesBlastFurnace; } - public ItemStack getDust(){ - return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, 1); + public ItemStack getDust(int stacksize){ + return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, stacksize); } public ItemStack[] getValidInputStacks(){ @@ -100,15 +106,26 @@ public class Material { } public ItemStack[] getMaterialComposites(){ + //Utils.LOG_INFO("Something requested the materials needed for "+localizedName); if (materialInput != null && materialInput.length >= 1){ ItemStack[] temp = new ItemStack[materialInput.length]; for (int i=0;i= 0 && percentageToUse <= 0.99){ caseStatus = 1; - amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(2)); + amount = (int) (1/percentageToUse); + //amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(2)); } else if (percentageToUse >= 1 && percentageToUse <= 9.99){ caseStatus = 2; - amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(0)); + amount = (int) (percentageToUse); + //amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(0)); } else if (percentageToUse >= 10 && percentageToUse <= 99.99){ caseStatus = 3; - amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(0)); + amount = (int) (percentageToUse/10); + //amount = Integer.valueOf(String.valueOf(percentageToUse).charAt(0)); } else if (percentageToUse == 100){ caseStatus = 4; amount = 10; } + else { + amount = 0; + } switch (caseStatus) { case 1: { return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dustTiny"+materialInput.unlocalizedName, amount); -- cgit