aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-05-21 16:51:12 +0200
committerTechnus <daniel112092@gmail.com>2017-05-21 16:51:12 +0200
commit82c2a747940c27125c44335c20c9e3f04a334f8e (patch)
treea9ff9f24a2bfe10a8142e2baf5cebb3addc734fa /src/main
parent27e36620b8639c983b59c47088e71770cab8f7d6 (diff)
downloadGT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.tar.gz
GT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.tar.bz2
GT5-Unofficial-82c2a747940c27125c44335c20c9e3f04a334f8e.zip
Thaumcraft compat done?
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java8
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java7
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java4
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java5
-rw-r--r--src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java5
-rw-r--r--src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java27
-rw-r--r--src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java17
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java12
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();