diff options
author | Technus <daniel112092@gmail.com> | 2017-12-15 06:15:18 +0100 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-12-15 06:15:18 +0100 |
commit | 88eb3d0c4472e38bb14797074dd2003def57c7c2 (patch) | |
tree | 3ce2a14d401fd749224077b9e8a4c35953521d29 | |
parent | 88f7de0d81f1b92862e53d2ae9c2aa6515e80e90 (diff) | |
download | GT5-Unofficial-88eb3d0c4472e38bb14797074dd2003def57c7c2.tar.gz GT5-Unofficial-88eb3d0c4472e38bb14797074dd2003def57c7c2.tar.bz2 GT5-Unofficial-88eb3d0c4472e38bb14797074dd2003def57c7c2.zip |
Rework iaea decay branching, some refactoring, remove trinium from bloody loader.
10 files changed, 61 insertions, 38 deletions
diff --git a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java index 5ca890929c..aa6590c8ea 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java @@ -5,7 +5,7 @@ import gregtech.api.enums.OrePrefixes; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MaterialGenerator; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.*; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.*; public class GtppAtomLoader implements Runnable{ @Override diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/atom/dAtomDefinition.java index 935e4b89ab..199931793b 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/atom/dAtomDefinition.java @@ -1,4 +1,4 @@ -package com.github.technus.tectech.elementalMatter.definitions.complex; +package com.github.technus.tectech.elementalMatter.definitions.complex.atom; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Util; @@ -15,7 +15,7 @@ import com.github.technus.tectech.elementalMatter.core.transformations.aFluidDeq import com.github.technus.tectech.elementalMatter.core.transformations.aItemDequantizationInfo; import com.github.technus.tectech.elementalMatter.core.transformations.aOredictDequantizationInfo; import com.github.technus.tectech.elementalMatter.core.transformations.bTransformationInfo; -import com.github.technus.tectech.elementalMatter.definitions.complex.iaea.iaeaNuclide; +import com.github.technus.tectech.elementalMatter.definitions.complex.hadron.dHadronDefinition; import com.github.technus.tectech.elementalMatter.definitions.primitive.eBosonDefinition; import com.github.technus.tectech.elementalMatter.definitions.primitive.eLeptonDefinition; import com.github.technus.tectech.elementalMatter.definitions.primitive.eNeutrinoDefinition; @@ -399,15 +399,15 @@ public final class dAtomDefinition extends cElementalDefinition { else if(energy<=0) state = iaea.energeticStatesArray[0]; else state=iaea.energeticStatesArray[(int)energy]; for (int i=0;i<state.decaymodes.length;i++){ - if(!getDecay(decaysList,state.decaymodes[i],energy)) { + if(!getDecayFromIaea(decaysList,state.decaymodes[i],energy)) { decaysList.clear(); return false; } } - return true; + return decaysList.size()>0; } - private boolean getDecay(ArrayList<cElementalDecay> decaysList,iaeaNuclide.iaeaDecay decay, long energy){ + private boolean getDecayFromIaea(ArrayList<cElementalDecay> decaysList, iaeaNuclide.iaeaDecay decay, long energy){ cElementalMutableDefinitionStackMap withThis=elementalStacks.toMutable(),newStuff=new cElementalMutableDefinitionStackMap(); switch (decay.decayName){ case "D": { diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/atom/iaeaNuclide.java index c12ba37422..a5fbbe33fd 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/atom/iaeaNuclide.java @@ -1,4 +1,4 @@ -package com.github.technus.tectech.elementalMatter.definitions.complex.iaea; +package com.github.technus.tectech.elementalMatter.definitions.complex.atom; import com.github.technus.tectech.Util; import com.github.technus.tectech.auxiliary.Reference; @@ -206,28 +206,51 @@ public final class iaeaNuclide { } private static iaeaDecay[] getDecaysFixed(String decay1, double chance1,String decay2, double chance2,String decay3, double chance3){ - double normalization=0,div; - if(decay1.length()>0 && !Double.isNaN(chance1))normalization+=chance1; - if(decay2.length()>0 && !Double.isNaN(chance2))normalization+=chance2; - if(decay3.length()>0 && !Double.isNaN(chance3))normalization+=chance3; - normalization/=100d; + boolean do1,do2,do3; + do1=(decay1.length()>0 && !Double.isNaN(chance1)); + do2=(decay2.length()>0 && !Double.isNaN(chance2)); + do3=(decay3.length()>0 && !Double.isNaN(chance3)); TreeMap<Double,iaeaDecay> decays=new TreeMap<>(); - if(decay1.length()>0 && !Double.isNaN(chance1)) { - div=chance1/normalization; - decays.put(div, new iaeaDecay((float) (div), decay1)); - } - if(decay2.length()>0 && !Double.isNaN(chance1)) { - div=chance2/normalization; - decays.put(div, new iaeaDecay((float) (div), decay2)); - } - if(decay3.length()>0 && !Double.isNaN(chance1)) { - div=chance3/normalization; - decays.put(div, new iaeaDecay((float) (div), decay3)); + if(do1 && do2 && chance1==100 && chance2==100 && chance3!=100){ + decays.put(1D, new iaeaDecay(1f, decay1)); + if(do3) { + chance3/=100d; + decays.put(chance3, new iaeaDecay((float) (chance3), decay2)); + chance2=1d-chance3; + } + chance2/=2d; + decays.put(chance2, new iaeaDecay((float) (chance2), decay2)); + }else if(do1 && chance1==100){ + decays.put(1D, new iaeaDecay(1f, decay1)); + if(do2) { + chance2/=100d; + decays.put(chance2, new iaeaDecay((float) (chance2), decay2)); + } + if(do3) { + chance3 /= 100d; + if(do2) chance3 *= chance2; + decays.put(chance3, new iaeaDecay((float) (chance3), decay3)); + } + }else{ + double normalization=((do1?chance1:0)+(do2?chance2:0)+(do3?chance3:0)); + if(do1) { + chance1/=normalization; + decays.put(chance1, new iaeaDecay((float) (chance1), decay1)); + } + if(do2) { + chance2/=normalization; + decays.put(chance2, new iaeaDecay((float) (chance2), decay2)); + } + if(do3) { + chance3/=normalization; + decays.put(chance3, new iaeaDecay((float) (chance3), decay3)); + } + if(do1||do2||do3) + decays.put(1D,iaeaDecay.DEAD_END); } //if(DEBUG_MODE){ // System.out.println("INVALID SUM?\t"+normalization+"\t"+decay1+"\t"+chance1+"\t"+decay2+"\t"+chance2+"\t"+decay3+"\t"+chance3); //} - decays.put(1D,iaeaDecay.DEAD_END); return decays.values().toArray(new iaeaDecay[decays.size()]); } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dHadronDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/hadron/dHadronDefinition.java index f0a46cb6d2..01c974ce7c 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/hadron/dHadronDefinition.java @@ -1,4 +1,4 @@ -package com.github.technus.tectech.elementalMatter.definitions.complex; +package com.github.technus.tectech.elementalMatter.definitions.complex.hadron; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Util; @@ -21,7 +21,7 @@ import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; import static com.github.technus.tectech.auxiliary.TecTechConfig.DEBUG_MODE; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.transformation; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.transformation; import static com.github.technus.tectech.elementalMatter.definitions.primitive.eBosonDefinition.boson_Y__; import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; import static gregtech.api.enums.OrePrefixes.dust; diff --git a/src/main/java/com/github/technus/tectech/loader/BloodyRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/BloodyRecipeLoader.java index 1442744d89..783f508454 100644 --- a/src/main/java/com/github/technus/tectech/loader/BloodyRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/BloodyRecipeLoader.java @@ -24,7 +24,7 @@ public class BloodyRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Containment.get(1, o), GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, Materials.Trinium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); + }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); //BLUEprint GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), @@ -83,7 +83,7 @@ public class BloodyRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Power.get(1, o), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 12), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 12), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), ItemList.Field_Generator_IV.get(1, o) diff --git a/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java index 32a646cb16..51f49d0bf9 100644 --- a/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java @@ -3,9 +3,9 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.compatibility.thaumcraft.definitions.dComplexAspectDefinition; import com.github.technus.tectech.compatibility.thaumcraft.definitions.ePrimalAspectDefinition; import com.github.technus.tectech.elementalMatter.core.templates.cElementalPrimitive; -import com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition; -import com.github.technus.tectech.elementalMatter.definitions.complex.dHadronDefinition; -import com.github.technus.tectech.elementalMatter.definitions.complex.iaea.iaeaNuclide; +import com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition; +import com.github.technus.tectech.elementalMatter.definitions.complex.hadron.dHadronDefinition; +import com.github.technus.tectech.elementalMatter.definitions.complex.atom.iaeaNuclide; import com.github.technus.tectech.elementalMatter.definitions.primitive.*; /** diff --git a/src/main/java/com/github/technus/tectech/loader/RecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/RecipeLoader.java index 6a86d943a1..1723506d6f 100644 --- a/src/main/java/com/github/technus/tectech/loader/RecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/RecipeLoader.java @@ -1,8 +1,8 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.compatibility.dreamcraft.DreamCraftRecipeLoader; -import com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition; -import com.github.technus.tectech.elementalMatter.definitions.complex.dHadronDefinition; +import com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition; +import com.github.technus.tectech.elementalMatter.definitions.complex.hadron.dHadronDefinition; import com.github.technus.tectech.thing.casing.TT_Container_Casings; import cpw.mods.fml.common.Loader; import gregtech.api.enums.Materials; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index 032095cefb..1b6d7b49a6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -22,8 +22,8 @@ import java.util.ArrayList; import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.Util.V; import static com.github.technus.tectech.elementalMatter.core.templates.iElementalDefinition.STABLE_RAW_LIFE_TIME; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.refMass; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.refMass; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.refUnstableMass; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index 2de79cc6f2..ac3ff9030b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -23,8 +23,8 @@ import net.minecraftforge.oredict.OreDictionary; import static com.github.technus.tectech.Util.*; import static com.github.technus.tectech.auxiliary.TecTechConfig.DEBUG_MODE; import static com.github.technus.tectech.elementalMatter.core.templates.iElementalDefinition.DEFAULT_ENERGY_LEVEL; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.refMass; -import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.refUnstableMass; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.refMass; +import static com.github.technus.tectech.elementalMatter.definitions.complex.atom.dAtomDefinition.refUnstableMass; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT; diff --git a/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java b/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java index e4efa6e8fb..e857d748e7 100644 --- a/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java +++ b/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java @@ -3,7 +3,7 @@ package openmodularturrets.entity.projectiles; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.core.cElementalInstanceStackMap; import com.github.technus.tectech.elementalMatter.core.stacks.cElementalInstanceStack; -import com.github.technus.tectech.elementalMatter.definitions.complex.dHadronDefinition; +import com.github.technus.tectech.elementalMatter.definitions.complex.hadron.dHadronDefinition; import com.github.technus.tectech.elementalMatter.definitions.primitive.eQuarkDefinition; import gregtech.api.GregTech_API; import gregtech.api.util.GT_Utility; |