diff options
| author | Technus <daniel112092@gmail.com> | 2017-03-10 09:01:16 +0100 |
|---|---|---|
| committer | Technus <daniel112092@gmail.com> | 2017-03-10 09:01:16 +0100 |
| commit | 52c940fa799b4e97c67809df0dde6385464bfc54 (patch) | |
| tree | e75dd7cacb80317b4f0dc6a3483198f5dcdb4fd5 /src/main/java | |
| parent | e488a47503227b0077e4047a0525189b7331277a (diff) | |
| download | GT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.tar.gz GT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.tar.bz2 GT5-Unofficial-52c940fa799b4e97c67809df0dde6385464bfc54.zip | |
change life time mult
Diffstat (limited to 'src/main/java')
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) { |
