diff options
author | Technus <daniel112092@gmail.com> | 2017-05-21 16:51:12 +0200 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-05-21 16:51:12 +0200 |
commit | 82c2a747940c27125c44335c20c9e3f04a334f8e (patch) | |
tree | a9ff9f24a2bfe10a8142e2baf5cebb3addc734fa /src/main | |
parent | 27e36620b8639c983b59c47088e71770cab8f7d6 (diff) | |
download | GT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.tar.gz GT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.tar.bz2 GT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.zip |
Thaumcraft compat done?
Diffstat (limited to 'src/main')
8 files changed, 59 insertions, 26 deletions
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 3671400174..52d8ad1e0c 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 @@ -255,6 +255,14 @@ public final class cElementalInstanceStackMap implements Comparable<cElementalIn } //Getters + public cElementalInstanceStack getFirst(){ + return map.firstEntry().getValue(); + } + + public cElementalInstanceStack getLast(){ + return map.lastEntry().getValue(); + } + public cElementalInstanceStack getInstance(iElementalDefinition def) { return map.get(def); } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java index 6c130e0d8e..91dc8b9d7a 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java @@ -19,6 +19,13 @@ abstract class cElementalStackMap implements Comparable<cElementalStackMap> { public abstract TreeMap<iElementalDefinition, cElementalDefinitionStack> getRawMap(); //Getters + public final cElementalDefinitionStack getFirst(){ + return map.firstEntry().getValue(); + } + + public final cElementalDefinitionStack getLast(){ + return map.lastEntry().getValue(); + } public final cElementalDefinitionStack getDefinitionStack(iElementalDefinition def) { return map.get(def); } 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 d521053e6e..94e92107bf 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 @@ -203,10 +203,6 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize return nuclei; } - public boolean checkThis() { - return canTheyBeTogether(elementalStacks); - } - @Override public int getCharge() { return charge; 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 10bfaf86d8..2df9019699 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 @@ -112,11 +112,6 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi return true; } - //Unused outside yet still available. - public boolean checkThis() { - return canTheyBeTogether(quarkStacks); - } - @Override public String getName() { String name; diff --git a/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java index cfddd4c67d..bd382a3888 100644 --- a/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java @@ -62,11 +62,6 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme return amount==2; } - //Unused outside yet still available. - public boolean checkThis() { - return canTheyBeTogether(aspectStacks); - } - @Override public String getName() { String name= aspectDefinitionCompat.getAspectTag(this); diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java index 59b24df242..327c7d3e78 100644 --- a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java @@ -1,6 +1,9 @@ package com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap; +import com.github.technus.tectech.magicAddon.definitions.dComplexAspectDefinition; import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.constructableTT; import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; @@ -15,6 +18,7 @@ import static com.github.technus.tectech.Util.StructureBuilder; import static com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; import static com.github.technus.tectech.thing.casing.GT_Container_CasingsTT.sBlockCasingsTT; import static gregtech.api.enums.GT_Values.E; +import static gregtech.api.enums.GT_Values.V; /** * Created by danie_000 on 17.12.2016. @@ -64,7 +68,28 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public boolean EM_checkRecipe(ItemStack itemStack) { container=essentiaContainerCompat.getContainer(this); - + if (eInputHatches.size() < 1) { + stopMachine(); + return false; + } + cElementalInstanceStackMap inputHatchContainer=eOutputHatches.get(0).getContainerHandler(); + if(inputHatchContainer.hasStacks()){ + cElementalInstanceStack stack = inputHatchContainer.getFirst(); + inputHatchContainer.removeAmount(false,new cElementalInstanceStack(stack.definition,1)); + if(!essentiaContainerCompat.putElementalInstanceStack(container,stack)) + purgeInstanceStack(stack); + mMaxProgresstime = 20; + mEfficiencyIncrease = 10000; + eAmpereFlow=1; + if (stack.definition instanceof dComplexAspectDefinition) { + mEUt = (int) -V[9]; + } else { + mEUt = (int) -V[8]; + } + return true; + } + mEfficiencyIncrease = 0; + mMaxProgresstime = 0; return false; } diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java index dee3e5587b..18143f570f 100644 --- a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java @@ -1,26 +1,20 @@ package com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.auxiliary.TecTechConfig; -import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap; +import com.github.technus.tectech.magicAddon.definitions.dComplexAspectDefinition; import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.metaTileEntity.constructableTT; import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; -import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; import static com.github.technus.tectech.Util.StructureBuilder; -import static com.github.technus.tectech.Util.isInputEqual; import static com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; import static com.github.technus.tectech.thing.casing.GT_Container_CasingsTT.sBlockCasingsTT; import static gregtech.api.enums.GT_Values.E; @@ -83,19 +77,20 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override public boolean EM_checkRecipe(ItemStack itemStack) { container=essentiaContainerCompat.getContainer(this); - cElementalInstanceStack newStack=essentiaContainerCompat.getFromContainer(container); if(newStack!=null){ - if (TecTechConfig.DEBUG_MODE) - TecTech.Logger.info("Essentia-Quantifier-recipe " + newStack.definition.getName()); mMaxProgresstime = 20; mEfficiencyIncrease = 10000; eAmpereFlow=1; outputEM = new cElementalInstanceStackMap[1]; outputEM[0] = new cElementalInstanceStackMap(newStack); + if (newStack.definition instanceof dComplexAspectDefinition) { + mEUt = (int) -V[9]; + } else { + mEUt = (int) -V[8]; + } return true; } - mEfficiencyIncrease = 0; mMaxProgresstime = 0; return false; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java index d03541f92b..1e88ae65b8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java @@ -881,6 +881,18 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } + public void purgeInstanceStack(cElementalInstanceStack target) { + float mass = target.getMass(); + if (mass > 0) { + if (eMufflerHatches.size() < 1) explodeMultiblock(); + mass /= eMufflerHatches.size(); + for (GT_MetaTileEntity_Hatch_MufflerElemental dump : eMufflerHatches) { + dump.overflowMatter += mass; + if (dump.overflowMatter > dump.overflowMax) explodeMultiblock(); + } + } + } + @Override public final boolean checkRecipe(ItemStack itemStack) {//do recipe checks, based on "machine content and state" hatchesStatusUpdate(); |