diff options
Diffstat (limited to 'src')
6 files changed, 50 insertions, 21 deletions
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java index d37c1e27cc..1cba1649ee 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.elementalMatter.classes; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; import net.minecraft.nbt.NBTTagCompound; diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java index bde93295ad..883a36c461 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java @@ -234,7 +234,9 @@ public final class cElementalInstanceStackMap implements Comparable<cElementalIn //Put unify public cElementalInstanceStack putUnify(cElementalInstanceStack instance) { - return map.put(instance.definition, instance.unifyIntoThis(map.get(instance.definition))); + cElementalInstanceStack stack=map.get(instance.definition); + if(stack==null) return map.put(instance.definition,instance); + return map.put(instance.definition, stack.unifyIntoThis(instance)); } public void putUnifyAll(cElementalInstanceStack... instances) { diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java index dae1365ea1..20885cc1f1 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java @@ -181,7 +181,9 @@ public final class cElementalMutableDefinitionStackMap extends cElementalStackMa //Put unify public cElementalDefinitionStack putUnify(cElementalDefinitionStack def) { - return map.put(def.definition, def.addAmountIntoNewInstance(map.get(def.definition))); + final cElementalDefinitionStack stack=map.get(def.definition); + if(stack==null) return map.put(def.definition,def); + return map.put(def.definition, stack.addAmountIntoNewInstance(def.amount)); } @Deprecated diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java index 3a9dd38b23..02f56fa3f3 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java @@ -412,10 +412,10 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize @Override public iElementalDefinition getAnti() { - cElementalDefinitionStack[] antiStacks = this.elementalStacks.values(); - cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[antiStacks.length]; + cElementalDefinitionStack[] stacks = this.elementalStacks.values(); + cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length]; for (int i = 0; i < antiElements.length; i++) { - antiElements[i] = new cElementalDefinitionStack(antiStacks[i].definition.getAnti(), antiStacks[i].amount); + antiElements[i] = new cElementalDefinitionStack(stacks[i].definition.getAnti(), stacks[i].amount); } try { return new dAtomDefinition(false, antiElements); @@ -425,6 +425,19 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize } } + //@Override + //public iElementalDefinition getAnti() { + // cElementalMutableDefinitionStackMap anti = new cElementalMutableDefinitionStackMap(); + // for (cElementalDefinitionStack stack : elementalStacks.values()) + // anti.putReplace(new cElementalDefinitionStack(stack.definition.getAnti(), stack.amount)); + // try { + // return new dAtomDefinition(anti.toImmutable()); + // } catch (tElementalException e) { + // if (TecTechConfig.DEBUG_MODE) e.printStackTrace(); + // return null; + // } + //} + @Override public FluidStack materializesIntoFluid() { diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java index 4823efdaba..92bf81688e 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java @@ -253,17 +253,32 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi @Override public iElementalDefinition getAnti() { - cElementalMutableDefinitionStackMap anti = new cElementalMutableDefinitionStackMap(); - for (cElementalDefinitionStack stack : quarkStacks.values()) - anti.putReplace(new cElementalDefinitionStack(stack.definition.getAnti(), stack.amount)); + cElementalDefinitionStack[] stacks = this.quarkStacks.values(); + cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length]; + for (int i = 0; i < antiElements.length; i++) { + antiElements[i] = new cElementalDefinitionStack(stacks[i].definition.getAnti(), stacks[i].amount); + } try { - return new dHadronDefinition(anti.toImmutable()); + return new dHadronDefinition(false, antiElements); } catch (tElementalException e) { if (TecTechConfig.DEBUG_MODE) e.printStackTrace(); return null; } } + //@Override + //public iElementalDefinition getAnti() { + // cElementalMutableDefinitionStackMap anti = new cElementalMutableDefinitionStackMap(); + // for (cElementalDefinitionStack stack : quarkStacks.values()) + // anti.putReplace(new cElementalDefinitionStack(stack.definition.getAnti(), stack.amount)); + // try { + // return new dHadronDefinition(anti.toImmutable()); + // } catch (tElementalException e) { + // if (TecTechConfig.DEBUG_MODE) e.printStackTrace(); + // return null; + // } + //} + @Override public ItemStack materializesIntoItem() { return null; @@ -299,15 +314,15 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi public static void run() { try { - hadron_p = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_u, eQuarkDefinition.quark_d)); + hadron_p = new dHadronDefinition(stackUpMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_u, eQuarkDefinition.quark_d).toImmutable()); protonMass = hadron_p.mass; //redefine the proton with proper lifetime (the lifetime is based on mass comparison) - hadron_p = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_u, eQuarkDefinition.quark_d)); + hadron_p = new dHadronDefinition(stackUpMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_u, eQuarkDefinition.quark_d).toImmutable()); hadron_p_ = (dHadronDefinition) (hadron_p.getAnti()); - hadron_n = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_d, eQuarkDefinition.quark_d)); + hadron_n = new dHadronDefinition(stackUpMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_d, eQuarkDefinition.quark_d).toImmutable()); neutronMass = hadron_n.mass; //redefine the neutron with proper lifetime (the lifetime is based on mass comparison) - hadron_n = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_d, eQuarkDefinition.quark_d)); + hadron_n = new dHadronDefinition(stackUpMap(eQuarkDefinition.quark_u, eQuarkDefinition.quark_d, eQuarkDefinition.quark_d).toImmutable()); hadron_n_ = (dHadronDefinition) (hadron_n.getAnti()); } catch (tElementalException e) { if (TecTechConfig.DEBUG_MODE) e.printStackTrace(); diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index 15d966bcb8..b40d6dfa91 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -10,22 +10,18 @@ import static com.github.technus.tectech.TecTech.mainTab; public class MainLoader {//TODO add checks for - is mod loaded dreamcraft to enable higher tier machinery. (above UV), or implement a check for GT tier values. public void things() { - ElementalLoader elementalLoader = new ElementalLoader(); - elementalLoader.run(); + new ElementalLoader().run(); TecTech.Logger.info("Elemental Init Done"); - ThingsLoader thingsLoader = new ThingsLoader(); - thingsLoader.run(); + new ThingsLoader().run(); TecTech.Logger.info("Block/Item Init Done"); - MachineLoader machineLoader = new MachineLoader(); - machineLoader.run(); + new MachineLoader().run(); TecTech.Logger.info("Machine Init Done"); } public void recipes() { - RecipeLoader recipeLoader = new RecipeLoader(); - recipeLoader.run(); + new RecipeLoader().run(); TecTech.Logger.info("Recipe Init Done"); } |