aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTec <daniel112092@gmail.com>2018-08-15 19:57:20 +0200
committerTec <daniel112092@gmail.com>2018-08-15 19:57:20 +0200
commit99e1f573744a844a50ad2e35bfb5be0692f5a6c6 (patch)
treeb8d5161106d9dd06f241201df679463ce83a7d22
parenta135dc53da90be1b0a0e2234833dd4a7c6ca5a35 (diff)
downloadGT5-Unofficial-99e1f573744a844a50ad2e35bfb5be0692f5a6c6.tar.gz
GT5-Unofficial-99e1f573744a844a50ad2e35bfb5be0692f5a6c6.tar.bz2
GT5-Unofficial-99e1f573744a844a50ad2e35bfb5be0692f5a6c6.zip
Change fusion behaviour a bit
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java5
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java5
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/iElementalDefinition.java2
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java5
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/hadron/dHadronDefinition.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java14
6 files changed, 31 insertions, 5 deletions
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java
index 95671f2515..77dffad225 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java
@@ -195,6 +195,11 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme
}
@Override
+ public boolean fusionMakesEnergy(long energyLevel) {
+ return false;
+ }
+
+ @Override
public cElementalDecay[] getNaturalDecayInstant() {
return noDecay;
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
index 5db86a0349..738301d50c 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
@@ -149,6 +149,11 @@ public abstract class cElementalPrimitive extends cElementalDefinition {
}
@Override
+ public boolean fusionMakesEnergy(long energyLevel) {
+ return false;
+ }
+
+ @Override
public cElementalDecay[] getDecayArray() {
return elementalDecays;
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/iElementalDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/iElementalDefinition.java
index c5f7e5afed..6293e9ccf2 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/iElementalDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/iElementalDefinition.java
@@ -45,6 +45,8 @@ public abstract class iElementalDefinition implements Comparable<iElementalDefin
public abstract boolean decayMakesEnergy(long energyLevel);
+ public abstract boolean fusionMakesEnergy(long energyLevel);
+
public abstract float getEnergyDiffBetweenStates(long currentEnergy, long newEnergyLevel);//positive or negative
public abstract float getMass();//mass... MeV/c^2
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
index 5f191a4274..3d9cd58083 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
@@ -1240,6 +1240,11 @@ public final class dAtomDefinition extends cElementalDefinition {
}
@Override
+ public boolean fusionMakesEnergy(long energyLevel) {
+ return iaea!=null || iaeaDefinitionExistsAndHasEnergyLevels;
+ }
+
+ @Override
public cElementalDecay[] getNaturalDecayInstant() {
//disembody
ArrayList<cElementalDefinitionStack> decaysInto = new ArrayList<>();
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/hadron/dHadronDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/hadron/dHadronDefinition.java
index f24b9f2d82..6b98cd2a99 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/hadron/dHadronDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/hadron/dHadronDefinition.java
@@ -233,6 +233,11 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi
}
@Override
+ public boolean fusionMakesEnergy(long energyLevel) {
+ return false;
+ }
+
+ @Override
public cElementalDecay[] getDecayArray() {
cElementalDefinitionStack[] quarkStacks = this.quarkStacks.values();
if (amount == 2 && quarkStacks.length == 2 && quarkStacks[0].definition.getMass() == quarkStacks[1].definition.getMass() && quarkStacks[0].definition.getType() == -quarkStacks[1].definition.getType()) {
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java
index dcee60d40b..5e97d82aed 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java
@@ -497,11 +497,10 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB
protected double fuse(GT_MetaTileEntity_EM_collider partner){
if(partner.stack!=null && stack!=null) {//todo add single event mode as an option
- boolean check=stack.definition.decayMakesEnergy(stack.getEnergy()) &&
- partner.stack.definition.decayMakesEnergy(partner.stack.getEnergy());
+ boolean check=stack.definition.fusionMakesEnergy(stack.getEnergy()) &&
+ partner.stack.definition.fusionMakesEnergy(partner.stack.getEnergy());
cElementalInstanceStack stack2 = partner.stack;
- partner.stack = null;
double preMass = stack2.getMass() + stack.getMass();
//System.out.println("preMass = " + preMass);
@@ -515,10 +514,14 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB
if (handleRecipe(stack2, map, colliderHandler)) return 0;
}
for (cElementalInstanceStack newStack : map.values()) {
- check &= newStack.definition.decayMakesEnergy(newStack.getEnergy());
+ check &= newStack.definition.fusionMakesEnergy(newStack.getEnergy());
}
//System.out.println("outputEM[0].getMass() = " + outputEM[0].getMass());
outputEM = new cElementalInstanceStackMap[]{map};
+
+ partner.stack = stack = null;
+ //System.out.println("check = " + check);
+ //System.out.println("preMass-map.getMass() = " + (preMass - map.getMass()));
return check ? preMass - map.getMass() :
Math.min(preMass - map.getMass(), 0);
}
@@ -598,7 +601,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB
if (isMaster()) {
switch (getParameterInInt(0,0)){
case FUSE_MODE:
- makeEU(fuse(partner));
+ fuse(partner);
break;
case COLLIDE_MODE:
//collide(partner);//todo
@@ -629,6 +632,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB
private void makeEU(double massDiff){
plasmaEnergy+=massDiff*MASS_TO_EU_INSTANT;
+ System.out.println("plasmaEnergy = " + plasmaEnergy);
}
private cElementalInstanceStackMap tickStack(){