From b24a09c6a2684be77aa7ee5e1255409051249fe0 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Mon, 18 Dec 2017 13:25:25 +1000 Subject: + Added Trinium and Trinium related Alloys. (#170) + Added more recycling recipes. $ Fixed bad materials in component assembler recipes. --- src/Java/gtPlusPlus/core/material/ALLOY.java | 47 ++++++++++++++++++++-- src/Java/gtPlusPlus/core/material/ELEMENT.java | 6 +++ src/Java/gtPlusPlus/core/material/Material.java | 24 +++++++++-- .../core/material/MaterialGenerator.java | 11 +++-- 4 files changed, 75 insertions(+), 13 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material') diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 7488a3e0ae..8d1d4e5ecd 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -5,7 +5,7 @@ import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.materials.MaterialUtils; public final class ALLOY { - + //Just some GT Alloys that I need within mine. public static final Material BRONZE = MaterialUtils.generateMaterialFromGtENUM(Materials.Bronze); public static final Material STEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.Steel); @@ -528,7 +528,7 @@ public final class ALLOY { new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Kanthal), 3), new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Invar), 15) }); - + public static final Material EGLIN_STEEL = new Material( "Eglin Steel", //Material Name MaterialState.SOLID, //State @@ -564,8 +564,49 @@ public final class ALLOY { }); + /** + * Stargate Materials - #D2FFA9 210, 255, 170 + */ - + public static final Material TRINIUM_TITANIUM = new Material( + "Trinium Titanium Alloy", //Material Name + MaterialState.SOLID, //State + new short[]{239,210,200, 0}, //Material Colour + -1, //Melting Point in C + -1, //Boiling Point in C + -1, + -1, + true, //Uses Blast furnace? + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 3), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 7) + }); + public static final Material TRINIUM_NAQUADAH = new Material( + "Trinium Naquadah Alloy", //Material Name + MaterialState.SOLID, //State + new short[]{255, 243, 117, 0}, //Material Colour + -1, //Melting Point in C + -1, //Boiling Point in C + -1, + -1, + true, //Uses Blast furnace? + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 5), + new MaterialStack(ELEMENT.getInstance().NAQUADAH, 9) + }); + public static final Material TRINIUM_NAQUADAH_CARBON = new Material( + "Trinium Naquadah Carbonite", //Material Name + MaterialState.SOLID, //State + new short[]{255, 233, 0, 0}, //Material Colour + -1, //Melting Point in C + -1, //Boiling Point in C + -1, + -1, + true, //Uses Blast furnace? + new MaterialStack[]{ + new MaterialStack(TRINIUM_NAQUADAH, 9), + new MaterialStack(ELEMENT.getInstance().CARBON, 1) + }); diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 60a27a8769..859ebd86cf 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -128,4 +128,10 @@ public final class ELEMENT { public final Material IGNIS = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedFire); public final Material TERRA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedEarth); public final Material AQUA = MaterialUtils.generateMaterialFromGtENUM(Materials.InfusedWater); + + //Fictional + public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah); + public final Material TRINIUM = new Material("Trinium", MaterialState.SOLID, new short[]{170, 210, 130}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material + public final Material TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material + //https://github.com/Blood-Asp/GT5-Unofficial/issues/609 } diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index c25b818aa2..40d8461209 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -28,6 +28,8 @@ public class Material { private final Fluid vMoltenFluid; private final Fluid vPlasma; + + private final boolean vGenerateCells; protected Object dataVar = MathUtils.generateSingularRandomHexValue(); @@ -72,14 +74,23 @@ public class Material { public Material(final String materialName, final MaterialState defaultState,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(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, inputs); + } + + public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells,final MaterialStack... inputs) { + this (materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, inputs); } public Material(final String materialName, final MaterialState defaultState, final long durability, 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 (materialName, defaultState, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, inputs); + } + + public Material(final String materialName, final MaterialState defaultState, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, final MaterialStack... inputs){ this.unlocalizedName = Utils.sanitizeString(materialName); this.localizedName = materialName; this.materialState = defaultState; this.RGBA = rgba; + this.vGenerateCells = generateCells; //Add Components to an array. if (inputs == null){ @@ -600,10 +611,10 @@ public class Material { 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); + if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){ + if (this.vGenerateCells){ + final Item temp = new BaseItemCell(this); + } } if (this.materialState == MaterialState.SOLID){ @@ -656,6 +667,11 @@ public class Material { return isValid.mPlasma; } } + + if (this.vGenerateCells){ + return null; + } + Utils.LOG_WARNING("Generating our own Plasma."); return FluidUtils.addGTPlasma(this); //return null; diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 6e529b3e92..65c0f1e6c0 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -102,10 +102,9 @@ public class MaterialGenerator { } } else { Item temp; - if (generateEverything == true){ - Block tempBlock; - tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - } + Block tempBlock; + tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); + temp = new BaseItemIngot(matInfo); temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); @@ -145,7 +144,7 @@ public class MaterialGenerator { RecipeGen_Fluids.generateRecipes(matInfo); RecipeGen_Plates.generateRecipes(matInfo); RecipeGen_ShapedCrafting.generateRecipes(matInfo); - RecipeGen_Recycling.generateRecipes(matInfo); + new RecipeGen_Recycling(matInfo); return true; } catch (final Throwable t) { @@ -218,7 +217,7 @@ public class MaterialGenerator { RecipeGen_Fluids.generateRecipes(matInfo); RecipeGen_Assembler.generateRecipes(matInfo); RecipeGen_DustGeneration.generateRecipes(matInfo, true); - RecipeGen_Recycling.generateRecipes(matInfo); + new RecipeGen_Recycling(matInfo); } catch (final Throwable t){ Utils.LOG_INFO(""+matInfo.getLocalizedName()+" failed to generate."); } -- cgit From 2a4795f65d98ff60a177d7d6a5552fd687d9f6e8 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Dec 2017 17:30:21 +1000 Subject: + Added support for GTNH Trinium. $ Fixed excessive fluid cells being generated. $ Further improve material recycling recipes. --- src/Java/gtPlusPlus/core/material/ALLOY.java | 2 +- src/Java/gtPlusPlus/core/material/ELEMENT.java | 17 +- src/Java/gtPlusPlus/core/material/Material.java | 218 ++++++++++++++------- .../core/material/MaterialGenerator.java | 14 +- .../core/material/nuclear/FLUORIDES.java | 1 + .../gtPlusPlus/core/material/nuclear/NUCLIDE.java | 14 +- 6 files changed, 168 insertions(+), 98 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material') diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index 8d1d4e5ecd..84bd859ed4 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -589,7 +589,7 @@ public final class ALLOY { -1, //Boiling Point in C -1, -1, - true, //Uses Blast furnace? + false, //Uses Blast furnace? new MaterialStack[]{ new MaterialStack(ELEMENT.getInstance().TRINIUM_REFINED, 5), new MaterialStack(ELEMENT.getInstance().NAQUADAH, 9) diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 859ebd86cf..eccd283da9 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -1,6 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.StringUtils; import gtPlusPlus.core.util.materials.MaterialUtils; @@ -10,7 +11,17 @@ public final class ELEMENT { private static final ELEMENT thisClass = new ELEMENT(); public ELEMENT(){ - + + //GTNH Trinium Handling + if (CORE.GTNH){ + TRINIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.valueOf("Trinium")); + TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material + } + else { + TRINIUM = new Material("Trinium", MaterialState.SOLID, new short[]{70, 110, 30}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material + TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material + } + } public static ELEMENT getInstance(){ @@ -131,7 +142,7 @@ public final class ELEMENT { //Fictional public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah); - public final Material TRINIUM = new Material("Trinium", MaterialState.SOLID, new short[]{170, 210, 130}, 604, 4057, 181, 133, false, "Ke", 0, false);//Not a GT Inherited Material - public final Material TRINIUM_REFINED = new Material("Refined Trinium", MaterialState.SOLID, new short[]{210, 255, 170}, 4304, 14057, 181, 133, false, "Ke", 0, new MaterialStack[]{new MaterialStack(TRINIUM, 1)});//Not a GT Inherited Material + public final Material TRINIUM; + public final Material TRINIUM_REFINED; //https://github.com/Blood-Asp/GT5-Unofficial/issues/609 } diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 40d8461209..0b1139cbcf 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -2,7 +2,7 @@ package gtPlusPlus.core.material; import static gregtech.api.enums.GT_Values.M; -import java.util.ArrayList; +import java.util.*; import gregtech.api.enums.*; import gtPlusPlus.core.item.base.cell.BaseItemCell; @@ -28,7 +28,7 @@ public class Material { private final Fluid vMoltenFluid; private final Fluid vPlasma; - + private final boolean vGenerateCells; protected Object dataVar = MathUtils.generateSingularRandomHexValue(); @@ -60,10 +60,17 @@ public class Material { public final int vToolQuality; public final int vHarvestLevel; + + public static Map invalidMaterials = new HashMap(); + public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){ this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs); } + public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, boolean generateCells, final MaterialStack... inputs){ + this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, generateCells, inputs); + } + public Material(final String materialName, final MaterialState defaultState,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, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", radiationLevel, inputs); } @@ -83,7 +90,7 @@ public class Material { public Material(final String materialName, final MaterialState defaultState, final long durability, 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 (materialName, defaultState, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, inputs); } - + public Material(final String materialName, final MaterialState defaultState, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, final MaterialStack... inputs){ this.unlocalizedName = Utils.sanitizeString(materialName); @@ -105,7 +112,7 @@ public class Material { } } } - + //Set Melting/Boiling point, if value is -1 calculate it from compound inputs. if (meltingPoint != -1){ @@ -128,7 +135,7 @@ public class Material { this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC); this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC); - + //Set Proton/Neutron count, if value is -1 calculate it from compound inputs. if (protons != -1){ this.vProtons = protons; @@ -142,10 +149,10 @@ public class Material { else { this.vNeutrons = this.calculateNeutrons(); } - - - - + + + + this.vMass = this.getMass(); //Sets tool Durability @@ -247,12 +254,12 @@ public class Material { this.vChemicalFormula = "??"; } + final Materials isValid = Materials.get(this.getLocalizedName()); - if (FluidUtils.getFluidStack(localizedName, 1) != null){ this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid(); } - else if (isValid == Materials._NULL){ + else if (isValid == null || isValid == Materials._NULL){ this.vMoltenFluid = this.generateFluid(); } else { @@ -269,8 +276,6 @@ public class Material { this.vPlasma = this.generatePlasma(); - //dataVar = MathUtils.generateSingularRandomHexValue(); - String ratio = ""; if (this.vSmallestRatio != null) { for (int hu=0;hu Date: Wed, 20 Dec 2017 23:39:49 +1000 Subject: - Disabled some logging. % Minor Project Clean-up, added missing Override annotations to 100+ methods & removed pointless casts. % Moved Logging to it's own class. $ Fixed Multi-block handling of Pollution. $ Fixed the GT 5.09 material enabler system. (From My Side, it's still borked on GTs). + Added a Dynamic Proxy invocation for IMaterialHandler. + Added an AutoMap data type, which is a Auto-incremental ID'd Hashmap wrapper. --- src/Java/gtPlusPlus/core/material/Material.java | 85 +++++++++++----------- .../core/material/MaterialGenerator.java | 5 +- 2 files changed, 46 insertions(+), 44 deletions(-) (limited to 'src/Java/gtPlusPlus/core/material') diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 0b1139cbcf..390075729a 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -5,6 +5,7 @@ import static gregtech.api.enums.GT_Values.M; import java.util.*; import gregtech.api.enums.*; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.item.base.cell.BaseItemCell; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.StringUtils; @@ -246,11 +247,11 @@ public class Material { this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); } else if (!this.vChemicalSymbol.equals("")){ - Utils.LOG_WARNING("materialInput is null, using a valid chemical symbol."); + Logger.WARNING("materialInput is null, using a valid chemical symbol."); this.vChemicalFormula = this.vChemicalSymbol; } else{ - Utils.LOG_WARNING("MaterialInput == null && chemicalSymbol probably equals nothing"); + Logger.WARNING("MaterialInput == null && chemicalSymbol probably equals nothing"); this.vChemicalFormula = "??"; } @@ -288,13 +289,13 @@ public class Material { } } - Utils.LOG_WARNING("Creating a Material instance for "+materialName); - Utils.LOG_WARNING("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); - Utils.LOG_WARNING("Protons: "+this.vProtons); - Utils.LOG_WARNING("Neutrons: "+this.vNeutrons); - Utils.LOG_WARNING("Mass: "+this.vMass+"/units"); - Utils.LOG_WARNING("Melting Point: "+this.meltingPointC+"C."); - Utils.LOG_WARNING("Boiling Point: "+this.boilingPointC+"C."); + Logger.WARNING("Creating a Material instance for "+materialName); + Logger.WARNING("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); + Logger.WARNING("Protons: "+this.vProtons); + Logger.WARNING("Neutrons: "+this.vNeutrons); + Logger.WARNING("Mass: "+this.vMass+"/units"); + Logger.WARNING("Melting Point: "+this.meltingPointC+"C."); + Logger.WARNING("Boiling Point: "+this.boilingPointC+"C."); } public final String getLocalizedName(){ @@ -453,8 +454,8 @@ public class Material { try { testNull = this.vMaterialInput.get(i).getValidStack(); } 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); + Logger.WARNING("Failed gathering material stack for "+this.localizedName+"."); + Logger.WARNING("What Failed: Length:"+this.vMaterialInput.size()+" current:"+i); } try { if (testNull != null){ @@ -462,7 +463,7 @@ public class Material { temp[i] = this.vMaterialInput.get(i).getValidStack(); } } catch (final Throwable r){ - Utils.LOG_WARNING("Failed setting slot "+i+", using "+this.localizedName); + Logger.WARNING("Failed setting slot "+i+", using "+this.localizedName); } } return temp; @@ -510,8 +511,8 @@ public class Material { public final long[] getSmallestRatio(final ArrayList tempInput){ if (tempInput != null){ if (!tempInput.isEmpty()){ - Utils.LOG_WARNING("length: "+tempInput.size()); - Utils.LOG_WARNING("(inputs != null): "+(tempInput != null)); + Logger.WARNING("length: "+tempInput.size()); + Logger.WARNING("(inputs != null): "+(tempInput != null)); //Utils.LOG_WARNING("length: "+inputs.length); final long[] tempRatio = new long[tempInput.size()]; for (int x=0;x0 ? this.vMaterialInput.size() : 1); - Utils.LOG_WARNING("Dividing "+meltingPoint+" / "+divisor+" to get average melting point."); + Logger.WARNING("Dividing "+meltingPoint+" / "+divisor+" to get average melting point."); meltingPoint = (meltingPoint/divisor); return meltingPoint; } diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index f252b0d54e..9adf7d62a5 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -1,5 +1,6 @@ package gtPlusPlus.core.material; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.item.base.bolts.BaseItemBolt; @@ -140,7 +141,7 @@ public class MaterialGenerator { return true; } catch (final Throwable t) { - Utils.LOG_WARNING(""+matInfo.getLocalizedName()+" failed to generate."); + Logger.WARNING(""+matInfo.getLocalizedName()+" failed to generate."); return false; } } @@ -211,7 +212,7 @@ public class MaterialGenerator { RecipeGen_DustGeneration.generateRecipes(matInfo, true); new RecipeGen_Recycling(matInfo); } catch (final Throwable t){ - Utils.LOG_WARNING(""+matInfo.getLocalizedName()+" failed to generate."); + Logger.WARNING(""+matInfo.getLocalizedName()+" failed to generate."); } } -- cgit From fa5de3584ce7bc97ce6f32b31f6062b5b6e89e75 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Fri, 22 Dec 2017 14:19:13 +1000 Subject: + More additions for new dimension content, mostly ores. --- src/Java/gtPlusPlus/core/material/Material.java | 38 ++++++++-- .../core/material/MaterialGenerator.java | 17 ++++- .../gtPlusPlus/core/material/MaterialStack.java | 10 +++ src/Java/gtPlusPlus/core/material/ORES.java | 84 ++++++++++++++++++++++ .../core/material/state/MaterialState.java | 3 +- 5 files changed, 143 insertions(+), 9 deletions(-) create mode 100644 src/Java/gtPlusPlus/core/material/ORES.java (limited to 'src/Java/gtPlusPlus/core/material') diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 390075729a..b04ce3baac 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -64,6 +64,10 @@ public class Material { public static Map invalidMaterials = new HashMap(); + public Material(String materialName, MaterialState defaultState, short[] rgba, int radiationLevel, MaterialStack[] materialStacks) { + this (materialName, defaultState, 0, rgba, -1, -1, -1, -1, false, "", radiationLevel, false, materialStacks); + } + public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){ this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs); } @@ -296,7 +300,7 @@ public class Material { Logger.WARNING("Mass: "+this.vMass+"/units"); Logger.WARNING("Melting Point: "+this.meltingPointC+"C."); Logger.WARNING("Boiling Point: "+this.boilingPointC+"C."); - } + } public final String getLocalizedName(){ if (this.localizedName != null) { @@ -759,9 +763,14 @@ public class Material { final public int calculateMeltingPoint(){ int meltingPoint = 0; for (MaterialStack part : this.vMaterialInput){ - int incrementor = part.getStackMaterial().getMeltingPointC(); - meltingPoint += incrementor; - Logger.WARNING("Melting Point for "+this.getLocalizedName()+" increased to "+ incrementor); + if (part != null){ + int incrementor = part.getStackMaterial().getMeltingPointC(); + meltingPoint += incrementor; + Logger.WARNING("Melting Point for "+this.getLocalizedName()+" increased to "+ incrementor); + } + else { + Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition."); + } } int divisor = (this.vMaterialInput.size()>0 ? this.vMaterialInput.size() : 1); Logger.WARNING("Dividing "+meltingPoint+" / "+divisor+" to get average melting point."); @@ -772,7 +781,12 @@ public class Material { final public int calculateBoilingPoint(){ int boilingPoint = 0; for (MaterialStack part : this.vMaterialInput){ - boilingPoint += part.getStackMaterial().getBoilingPointC(); + if (part != null){ + boilingPoint += part.getStackMaterial().getBoilingPointC(); + } + else { + Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition."); + } } int divisor = (this.vMaterialInput.size()>0 ? this.vMaterialInput.size() : 1); boilingPoint = (boilingPoint/divisor); @@ -782,7 +796,12 @@ public class Material { final public long calculateProtons(){ long protonCount = 0; for (MaterialStack part : this.vMaterialInput){ - protonCount += (part.getStackMaterial().getProtons()); + if (part != null){ + protonCount += (part.getStackMaterial().getProtons()); + } + else { + Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition."); + } } int divisor = (this.vMaterialInput.size()>0 ? this.vMaterialInput.size() : 1); protonCount = (protonCount/divisor); @@ -792,7 +811,12 @@ public class Material { final public long calculateNeutrons(){ long neutronCount = 0; for (MaterialStack part : this.vMaterialInput){ - neutronCount += (part.getStackMaterial().getNeutrons()); + if (part != null){ + neutronCount += (part.getStackMaterial().getNeutrons()); + } + else { + Logger.MATERIALS(this.getLocalizedName()+" has a really invalid composition."); + } } int divisor = (this.vMaterialInput.size()>0 ? this.vMaterialInput.size() : 1); neutronCount = (neutronCount/divisor); diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 9adf7d62a5..727f929036 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -9,6 +9,7 @@ import gtPlusPlus.core.item.base.gears.BaseItemGear; import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot; import gtPlusPlus.core.item.base.nugget.BaseItemNugget; +import gtPlusPlus.core.item.base.ore.BaseItemCrushedOre; import gtPlusPlus.core.item.base.plates.BaseItemPlate; import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; import gtPlusPlus.core.item.base.rings.BaseItemRing; @@ -125,6 +126,18 @@ public class MaterialGenerator { FluidUtils.generateFluidNoPrefix(unlocalizedName, materialName, matInfo.getMeltingPointK(), C); return true; } + else if (matInfo.getState() == MaterialState.ORE){ + if (sRadiation >= 1){ + Item temp; + Block tempBlock; + tempBlock = new BlockBaseModular(matInfo ,BlockTypes.ORE, Colour); + + temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); + temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); + temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); + temp = new BaseItemCrushedOre(matInfo); + } + } //Add A jillion Recipes - old code RecipeGen_AlloySmelter.generateRecipes(matInfo); @@ -139,7 +152,9 @@ public class MaterialGenerator { RecipeGen_ShapedCrafting.generateRecipes(matInfo); new RecipeGen_Recycling(matInfo); return true; - } catch (final Throwable t) + + } catch (final Throwable t) + { Logger.WARNING(""+matInfo.getLocalizedName()+" failed to generate."); return false; diff --git a/src/Java/gtPlusPlus/core/material/MaterialStack.java b/src/Java/gtPlusPlus/core/material/MaterialStack.java index e18d738b97..ad7af2052f 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialStack.java +++ b/src/Java/gtPlusPlus/core/material/MaterialStack.java @@ -3,7 +3,9 @@ package gtPlusPlus.core.material; import java.math.BigDecimal; import java.math.RoundingMode; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.util.item.ItemUtils; +import gtPlusPlus.core.util.reflect.ReflectionUtils; import net.minecraft.item.ItemStack; public class MaterialStack { @@ -51,6 +53,14 @@ public class MaterialStack { } public Material getStackMaterial(){ + if (this.stackMaterial == null){ + Logger.MATERIALS("Tried getStackMaterial, got an invalid material."); + Logger.MATERIALS(ReflectionUtils.getMethodName(0)); + Logger.MATERIALS(ReflectionUtils.getMethodName(1)); + Logger.MATERIALS(ReflectionUtils.getMethodName(2)); + Logger.MATERIALS(ReflectionUtils.getMethodName(3)); + return null; + } return this.stackMaterial; } diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java new file mode 100644 index 0000000000..4057092a48 --- /dev/null +++ b/src/Java/gtPlusPlus/core/material/ORES.java @@ -0,0 +1,84 @@ +package gtPlusPlus.core.material; + +import gtPlusPlus.core.material.state.MaterialState; + +public final class ORES { + + public static final Material GEIKIELITE = new Material( + "Geikielite", //Material Name + MaterialState.ORE, //State + new short[]{187, 193, 204, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().MAGNESIUM, 1), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 1), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 3) + }); + + public static final Material ZIMBABWEITE = new Material( + "Zimbabweite", //Material Name + MaterialState.ORE, //State + new short[]{193, 187, 131, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().SODIUM, 2), + new MaterialStack(ELEMENT.getInstance().POTASSIUM, 2), + new MaterialStack(ELEMENT.getInstance().LEAD, 1), + new MaterialStack(ELEMENT.getInstance().ARSENIC, 4), + new MaterialStack(ELEMENT.getInstance().NIOBIUM, 4), + new MaterialStack(ELEMENT.getInstance().TANTALUM, 4), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 18) + }); + + public static final Material TITANITE = new Material( + "Titanite", //Material Name + MaterialState.ORE, //State + new short[]{184, 198, 105, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 2), + new MaterialStack(ELEMENT.getInstance().SILICON, 2), + new MaterialStack(ELEMENT.getInstance().THORIUM, 1), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 10) + }); + + public static final Material ZIRCONILITE = new Material( + "Zirconolite", //Material Name + MaterialState.ORE, //State + new short[]{45, 26, 0, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().CALCIUM, 2), + new MaterialStack(ELEMENT.getInstance().ZIRCONIUM, 2), + new MaterialStack(ELEMENT.getInstance().TITANIUM, 4), + new MaterialStack(ELEMENT.getInstance().CERIUM, 1), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 14) + }); + + public static final Material CROCROITE = new Material( + "Crocoite", //Material Name + MaterialState.ORE, //State + new short[]{255, 143, 84, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().LEAD, 1), + new MaterialStack(ELEMENT.getInstance().CHROMIUM, 1), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 4) + }); + + public static final Material NICHROMITE = new Material( + "Nichromite", //Material Name + MaterialState.ORE, //State + new short[]{22, 19, 19, 0}, //Material Colour + 0, //Radiation + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().NICKEL, 1), + new MaterialStack(ELEMENT.getInstance().COBALT, 1), + new MaterialStack(ELEMENT.getInstance().IRON, 3), + new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 2), + new MaterialStack(ELEMENT.getInstance().CHROMIUM, 2), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 8) + }); +} diff --git a/src/Java/gtPlusPlus/core/material/state/MaterialState.java b/src/Java/gtPlusPlus/core/material/state/MaterialState.java index 88447395db..284e9582f1 100644 --- a/src/Java/gtPlusPlus/core/material/state/MaterialState.java +++ b/src/Java/gtPlusPlus/core/material/state/MaterialState.java @@ -5,7 +5,8 @@ public enum MaterialState { LIQUID(1), GAS(2), PLASMA(3), - PURE_LIQUID(4); + PURE_LIQUID(4), + ORE(5); private int STATE; private MaterialState (final int State){ this.STATE = State; -- cgit