aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-03-10 09:01:16 +0100
committerTechnus <daniel112092@gmail.com>2017-03-10 09:01:16 +0100
commit52c940fa799b4e97c67809df0dde6385464bfc54 (patch)
treee75dd7cacb80317b4f0dc6a3483198f5dcdb4fd5 /src/main/java
parente488a47503227b0077e4047a0525189b7331277a (diff)
downloadGT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.tar.gz
GT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.tar.bz2
GT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.zip
change life time mult
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java14
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackTree.java16
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/machine/GT_MetaTileEntity_Hatch_ElementalContainer.java8
3 files changed, 33 insertions, 5 deletions
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
index 2fbbf3a2fd..8c752ea5c5 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
@@ -120,6 +120,20 @@ public final class cElementalInstanceStack implements iHasElementalDefinition {
return null;//return null since decay cannot be achieved
}
+ public cElementalInstanceStackTree decay(long age, int postEnergize) {
+ if (this.energy > 0) {
+ this.energy--;
+ return decayCompute(definition.getEnergeticDecayInstant(), lifeTimeMult, age, postEnergize + this.energy);
+ } else if (definition.getRawLifeTime() < 0) {
+ return null;//return null, decay cannot be achieved
+ } else if (1F > this.lifeTime) {
+ return decayCompute(definition.getNaturalDecayInstant(), lifeTimeMult, age, postEnergize + this.energy);
+ } else if (((float) this.age) > this.lifeTime) {
+ return decayCompute(definition.getDecayArray(), lifeTimeMult, age, postEnergize + this.energy);
+ }
+ return null;//return null since decay cannot be achieved
+ }
+
private cElementalInstanceStackTree decayCompute(cElementalDecay[] decays, float lifeTimeMult, long age, int energy) {
if (decays == null) return null;//Can not decay so it wont
else if (decays.length == 0) return new cElementalInstanceStackTree();//provide non null 0 length array for annihilation
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackTree.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackTree.java
index 089e656a0d..a7cf708197 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackTree.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackTree.java
@@ -288,7 +288,21 @@ public final class cElementalInstanceStackTree implements Comparable<cElementalI
//Tick Content
public void tickContent(float lifeTimeMult, int postEnergize){
for(cElementalInstanceStack instance:this.values()){
- cElementalInstanceStackTree newThings=instance.decay(lifeTimeMult,++instance.age,postEnergize);
+ cElementalInstanceStackTree newThings=instance.decay(lifeTimeMult,instance.age+=20,postEnergize);
+ if(newThings==null){
+ instance.nextColor();
+ }else{
+ tree.remove(instance.definition);
+ for(cElementalInstanceStack newInstance:newThings.values())
+ putUnify(newInstance);
+ }
+ }
+
+ }
+
+ public void tickContent(int postEnergize){
+ for(cElementalInstanceStack instance:this.values()){
+ cElementalInstanceStackTree newThings=instance.decay(instance.age+=20,postEnergize);
if(newThings==null){
instance.nextColor();
}else{
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/machine/GT_MetaTileEntity_Hatch_ElementalContainer.java b/src/main/java/com/github/technus/tectech/elementalMatter/machine/GT_MetaTileEntity_Hatch_ElementalContainer.java
index e8c7ed12fa..b4b1483ff8 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/machine/GT_MetaTileEntity_Hatch_ElementalContainer.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/machine/GT_MetaTileEntity_Hatch_ElementalContainer.java
@@ -31,7 +31,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta
private static Textures.BlockIcons.CustomIcon EM_T_ACTIVE;
protected cElementalInstanceStackTree content=new cElementalInstanceStackTree();
- float lifeTimeMult=1f;
+ //float lifeTimeMult=1f;
int postEnergize=0;
float overflowMatter=0f;
public short id=-1;
@@ -66,7 +66,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setInteger("postEnergize",postEnergize);
- aNBT.setFloat("lifeTimeMult",lifeTimeMult);
+ //aNBT.setFloat("lifeTimeMult",lifeTimeMult);
aNBT.setFloat("overflowMatter",overflowMatter);
aNBT.setTag("eM_Stacks",content.toNBT());
aNBT.setShort("eID",id);
@@ -76,7 +76,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
postEnergize=aNBT.getInteger("postEnergize");
- lifeTimeMult=aNBT.getFloat("lifeTimeMult");
+ //lifeTimeMult=aNBT.getFloat("lifeTimeMult");
overflowMatter=aNBT.getFloat("overflowMatter");
id=aNBT.getShort("eID");
try {
@@ -93,7 +93,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta
byte Tick= (byte)(aTick%20);
if (decayAt == Tick) {
purgeOverflow();
- content.tickContent(lifeTimeMult, postEnergize);
+ content.tickContent(postEnergize);//Hatches don't life time mult things
purgeOverflow();
} else if (overflowAt == Tick) {
if(overflowMatter<=0) {