aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IBlockAdder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IHatchAdder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java16
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java7
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementProvider.java5
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureFallbackProvider.java40
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/ITileAdder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/Structure.java1
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java28
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java27
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IHatchAdder.java15
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java2
35 files changed, 74 insertions, 126 deletions
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
index df5054ab4a..0ab4893000 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
@@ -11,7 +11,7 @@ import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
index d48c345e8e..c2ae9f3fdb 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
@@ -11,7 +11,7 @@ import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IBlockAdder.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IBlockAdder.java
index 3dda99fed2..85d6f1be3f 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IBlockAdder.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/IBlockAdder.java
@@ -3,12 +3,12 @@ package com.github.technus.tectech.mechanics.structure;
import net.minecraft.block.Block;
-public interface IBlockAdder {
+public interface IBlockAdder<T> {
/**
* Callback on block added
* @param block block attempted to add
* @param meta meta of block attempted to add
* @return is structure still valid
*/
- boolean apply(Block block, Integer meta);
+ boolean apply(T t,Block block, Integer meta);
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IHatchAdder.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IHatchAdder.java
index 10d4c398ec..6e5aca5be3 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IHatchAdder.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/IHatchAdder.java
@@ -3,12 +3,12 @@ package com.github.technus.tectech.mechanics.structure;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-public interface IHatchAdder {
+public interface IHatchAdder<T> {
/**
* Callback to add hatch
* @param iGregTechTileEntity hatch
* @param aShort requested texture index, or null if not...
* @return managed to add hatch (structure still valid)
*/
- boolean apply(IGregTechTileEntity iGregTechTileEntity, Short aShort);
+ boolean apply(T t,IGregTechTileEntity iGregTechTileEntity, Short aShort);
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java
index 656151dc86..1152713d5e 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java
@@ -9,7 +9,7 @@ public interface IStructureDefinition<T> {
* @param name same name as for other methods here
* @return the array of elements to process
*/
- IStructureElementProvider<T>[] getElementsFor(String name);
+ IStructureElement<T>[] getElementsFor(String name);
default boolean check(T object,String piece, World world, ExtendedFacing extendedFacing,
int basePositionX, int basePositionY, int basePositionZ,
@@ -41,7 +41,7 @@ public interface IStructureDefinition<T> {
basePositionA, basePositionB, basePositionC,hintsOnly,null);
}
- static <T> boolean iterate(T object, IStructureElementProvider<T>[] elements, World world, ExtendedFacing extendedFacing,
+ static <T> boolean iterate(T object, IStructureElement<T>[] elements, World world, ExtendedFacing extendedFacing,
int basePositionX, int basePositionY, int basePositionZ,
int basePositionA, int basePositionB, int basePositionC,
boolean hintsOnly, Boolean checkBlocksIfNotNullForceCheckAllIfTrue){
@@ -59,8 +59,7 @@ public interface IStructureDefinition<T> {
if(checkBlocksIfNotNullForceCheckAllIfTrue!=null){
if(checkBlocksIfNotNullForceCheckAllIfTrue){
- for (IStructureElementProvider<T> elementProvider : elements) {
- IStructureElement<T> element=elementProvider.getStructureElement(object);
+ for (IStructureElement<T> element : elements) {
extendedFacing.getWorldOffset(abc, xyz);
xyz[0] += basePositionX;
xyz[1] += basePositionY;
@@ -79,8 +78,7 @@ public interface IStructureDefinition<T> {
abc[2] =(element.resetC()?basePositionA:abc[2])+element.getStepC();
}
} else {
- for (IStructureElementProvider<T> elementProvider : elements) {
- IStructureElement<T> element=elementProvider.getStructureElement(object);
+ for (IStructureElement<T> element : elements) {
extendedFacing.getWorldOffset(abc, xyz);
xyz[0] += basePositionX;
xyz[1] += basePositionY;
@@ -99,8 +97,7 @@ public interface IStructureDefinition<T> {
}
}else {
if(hintsOnly) {
- for (IStructureElementProvider<T> elementProvider : elements) {
- IStructureElement<T> element=elementProvider.getStructureElement(object);
+ for (IStructureElement<T> element : elements) {
extendedFacing.getWorldOffset(abc, xyz);
xyz[0] += basePositionX;
xyz[1] += basePositionY;
@@ -115,8 +112,7 @@ public interface IStructureDefinition<T> {
abc[2] =(element.resetC()?basePositionA:abc[2])+element.getStepC();
}
} else {
- for (IStructureElementProvider<T> elementProvider : elements) {
- IStructureElement<T> element=elementProvider.getStructureElement(object);
+ for (IStructureElement<T> element : elements) {
extendedFacing.getWorldOffset(abc, xyz);
xyz[0] += basePositionX;
xyz[1] += basePositionY;
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java
index d33eac4119..78997648ab 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java
@@ -5,7 +5,7 @@ import net.minecraft.world.World;
/**
* Use StructureUtility to instantiate
*/
-public interface IStructureElement<T> extends IStructureElementProvider<T> {
+public interface IStructureElement<T> {
boolean check(T t,World world,int x,int y,int z);
default boolean spawnHint(T t,World world,int x,int y,int z){
@@ -39,9 +39,4 @@ public interface IStructureElement<T> extends IStructureElementProvider<T> {
default boolean resetC(){
return false;
}
-
- @Override
- default IStructureElement<T> getStructureElement(T object){
- return this;
- }
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementProvider.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementProvider.java
deleted file mode 100644
index b38c2164c3..0000000000
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementProvider.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.technus.tectech.mechanics.structure;
-
-public interface IStructureElementProvider<T> {
- IStructureElement<T> getStructureElement(T object);
-}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureFallbackProvider.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureFallbackProvider.java
deleted file mode 100644
index c0c24eaec4..0000000000
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureFallbackProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.github.technus.tectech.mechanics.structure;
-
-import net.minecraft.world.World;
-
-/**
- * Use StructureUtility to instantiate
- */
-public interface IStructureFallbackProvider<T> extends IStructureElement<T> {
- IStructureElementProvider<T>[] fallbacks();
-
- @Override
- default boolean check(T t,World world, int x, int y, int z){
- for (IStructureElementProvider<T> fallback : fallbacks()) {
- if (fallback.getStructureElement(t).check(t, world, x, y, z)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- default boolean spawnHint(T t,World world, int x, int y, int z) {
- for (IStructureElementProvider<T> fallback : fallbacks()) {
- if (fallback.getStructureElement(t).spawnHint(t, world, x, y, z)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- default boolean placeBlock(T t,World world, int x, int y, int z) {
- for (IStructureElementProvider<T> fallback : fallbacks()) {
- if (fallback.getStructureElement(t).placeBlock(t, world, x, y, z)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/ITileAdder.java b/src/main/java/com/github/technus/tectech/mechanics/structure/ITileAdder.java
index 9d983e1c4d..bdb619984a 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/ITileAdder.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/ITileAdder.java
@@ -2,11 +2,11 @@ package com.github.technus.tectech.mechanics.structure;
import net.minecraft.tileentity.TileEntity;
-public interface ITileAdder {
+public interface ITileAdder<T> {
/**
* Callback to add hatch
* @param tileEntity tile
* @return managed to add hatch (structure still valid)
*/
- boolean apply(TileEntity tileEntity);
+ boolean apply(T t,TileEntity tileEntity);
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/Structure.java b/src/main/java/com/github/technus/tectech/mechanics/structure/Structure.java
index 77c47ad19e..5da14f58f9 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/Structure.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/Structure.java
@@ -3,6 +3,7 @@ package com.github.technus.tectech.mechanics.structure;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.mechanics.alignment.enumerable.ExtendedFacing;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java
index 79176c3f25..c8262e8473 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java
@@ -6,18 +6,18 @@ import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE;
import static com.github.technus.tectech.mechanics.structure.StructureUtility.*;
public class StructureDefinition<T> implements IStructureDefinition<T> {
- private final Map<Character, IStructureElementProvider<T>> elements;
+ private final Map<Character, IStructureElement<T>> elements;
private final Map<String, String> shapes;
- private final Map<String, IStructureElementProvider<T>[]> compiled;
+ private final Map<String, IStructureElement<T>[]> compiled;
public static <B> Builder<B> builder() {
return new Builder<>();
}
private StructureDefinition(
- Map<Character, IStructureElementProvider<T>> elements,
+ Map<Character, IStructureElement<T>> elements,
Map<String, String> shapes,
- Map<String, IStructureElementProvider<T>[]> compiled) {
+ Map<String, IStructureElement<T>[]> compiled) {
this.elements =elements;
this.shapes=shapes;
this.compiled =compiled;
@@ -28,7 +28,7 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
private static final char B='\uB000';
private static final char C='\uC000';
private static final char D='\uD000';
- private final Map<Character, IStructureElementProvider<T>> elements;
+ private final Map<Character, IStructureElement<T>> elements;
private final Map<String, String> shapes;
private Builder() {
@@ -36,7 +36,7 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
shapes = new HashMap<>();
}
- public Map<Character, IStructureElementProvider<T>> getElements() {
+ public Map<Character, IStructureElement<T>> getElements() {
return elements;
}
@@ -113,7 +113,7 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
return this;
}
- public Builder<T> addElement(Character name, IStructureElementProvider<T> structurePiece) {
+ public Builder<T> addElement(Character name, IStructureElement<T> structurePiece) {
elements.put(name, structurePiece);
return this;
}
@@ -127,18 +127,18 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
}
@SuppressWarnings("unchecked")
- private Map<String, IStructureElementProvider<T>[]> compileMap() {
+ private Map<String, IStructureElement<T>[]> compileMap() {
List<Integer> mising = new ArrayList<>();
shapes.values().stream().map(CharSequence::chars).forEach(intStream -> intStream.forEach(c -> {
- IStructureElementProvider<T> iStructureElement = elements.get((char) c);
+ IStructureElement<T> iStructureElement = elements.get((char) c);
if (iStructureElement == null) {
mising.add(c);
}
}));
if (mising.isEmpty()) {
- Map<String, IStructureElementProvider<T>[]> map = new HashMap<>();
+ Map<String, IStructureElement<T>[]> map = new HashMap<>();
shapes.forEach((key, value) -> {
- IStructureElementProvider<T>[] compiled = new IStructureElementProvider[value.length()];
+ IStructureElement<T>[] compiled = new IStructureElement[value.length()];
for (int i = 0; i < value.length(); i++) {
compiled[i] = elements.get(value.charAt(i));
}
@@ -152,7 +152,7 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
}
}
- public Map<Character, IStructureElementProvider<T>> getElements(){
+ public Map<Character, IStructureElement<T>> getElements(){
return elements;
}
@@ -160,12 +160,12 @@ public class StructureDefinition<T> implements IStructureDefinition<T> {
return shapes;
}
- public Map<String, IStructureElementProvider<T>[]> getCompiled() {
+ public Map<String, IStructureElement<T>[]> getCompiled() {
return compiled;
}
@Override
- public IStructureElementProvider<T>[] getElementsFor(String name) {
+ public IStructureElement<T>[] getElementsFor(String name) {
return compiled.get(name);
}
} \ No newline at end of file
diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java b/src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java
index 6feb07196d..3d13ca86e2 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java
@@ -232,14 +232,14 @@ public class StructureUtility {
return ofBlock(block, meta,block,meta);
}
- public static <T> IStructureElement<T> ofBlockAdder(IBlockAdder iBlockAdder,Block hintBlock,int hintMeta){
+ public static <T> IStructureElement<T> ofBlockAdder(IBlockAdder<T> iBlockAdder,Block hintBlock,int hintMeta){
if(iBlockAdder==null ||hintBlock==null){
throw new IllegalArgumentException();
}
return new IStructureElement<T>() {
@Override
public boolean check(T t, World world, int x, int y, int z) {
- return iBlockAdder.apply(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z));
+ return iBlockAdder.apply(t,world.getBlock(x, y, z), world.getBlockMetadata(x, y, z));
}
@Override
@@ -256,7 +256,7 @@ public class StructureUtility {
};
}
- public static <T> IStructureElement<T> ofTileAdder(ITileAdder iTileAdder,Block hintBlock,int hintMeta){
+ public static <T> IStructureElement<T> ofTileAdder(ITileAdder<T> iTileAdder,Block hintBlock,int hintMeta){
if(iTileAdder==null ||hintBlock==null){
throw new IllegalArgumentException();
}
@@ -264,7 +264,7 @@ public class StructureUtility {
@Override
public boolean check(T t, World world, int x, int y, int z) {
TileEntity tileEntity = world.getTileEntity(x, y, z);
- return tileEntity instanceof IGregTechTileEntity && iTileAdder.apply(tileEntity);
+ return tileEntity instanceof IGregTechTileEntity && iTileAdder.apply(t,tileEntity);
}
@Override
@@ -275,7 +275,7 @@ public class StructureUtility {
};
}
- public static <T> IStructureElement<T> ofHatchAdder(IHatchAdder iHatchAdder, Short textureIndex,Block hintBlock,int hintMeta){
+ public static <T> IStructureElement<T> ofHatchAdder(IHatchAdder<T> iHatchAdder, Short textureIndex, Block hintBlock, int hintMeta){
if(iHatchAdder==null ||hintBlock==null){
throw new IllegalArgumentException();
}
@@ -283,7 +283,7 @@ public class StructureUtility {
@Override
public boolean check(T t, World world, int x, int y, int z) {
TileEntity tileEntity = world.getTileEntity(x, y, z);
- return tileEntity instanceof IGregTechTileEntity && iHatchAdder.apply((IGregTechTileEntity) tileEntity, textureIndex);
+ return tileEntity instanceof IGregTechTileEntity && iHatchAdder.apply(t,(IGregTechTileEntity) tileEntity, textureIndex);
}
@Override
@@ -391,20 +391,7 @@ public class StructureUtility {
if(elementChain==null || elementChain.length==0){
throw new IllegalArgumentException();
}
- for (IStructureElementProvider<T> iStructureElement : elementChain) {
- if(iStructureElement==null){
- throw new IllegalArgumentException();
- }
- }
- return () -> elementChain;
- }
-
- @SafeVarargs
- public static <T> IStructureFallbackProvider<T> ofProviderChain(IStructureElementProvider<T>... elementChain){
- if(elementChain==null || elementChain.length==0){
- throw new IllegalArgumentException();
- }
- for (IStructureElementProvider<T> iStructureElement : elementChain) {
+ for (IStructureElement<T> iStructureElement : elementChain) {
if(iStructureElement==null){
throw new IllegalArgumentException();
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java
index 4151dbfec0..36a89650fd 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
index d90f4af8d2..aeb569efff 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
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 490ca2084b..0816f6d9ee 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
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.TecTech;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
index e70cc10926..0aaa87bab4 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.TecTech;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java
index a9e5b2f8a1..b7904b3219 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
index d5c9162d1d..a00c9b9041 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
@@ -10,7 +10,7 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_H
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
index 3b17dfa9b9..2dafe62db6 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.mechanics.elementalMatter.core.cElementalInstanceStackMap;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java
index 5dfa38294b..77f73edc63 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java
@@ -11,7 +11,7 @@ import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
index 1fff071e9c..c07be438d4 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
@@ -9,7 +9,7 @@ import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java
index 199bb8ee6f..b7555a4163 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java
index ab86c0494f..935f3b3997 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java
@@ -14,7 +14,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.transformations
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
index c6f9c810a8..72a3c241ba 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
@@ -7,7 +7,7 @@ import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Holder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.ItemList;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
index 896d0f41bc..3db6f66eb0 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.TecTech;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java
index 140383caac..7219429d11 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java
index 7398889c89..043b266f62 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.Reference;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
index 62c2b981a1..1381c1b0f7 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
@@ -45,8 +45,8 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo
{"111", "111", "111",},
})
.addElement('0', ofBlock(sBlockCasings1,15))
- .addElement('1', ofProviderChain(
- trafo->ofHatchAdder(trafo::addEnergyIOToMachineList,textureOffset,sHintCasingsTT,0),
+ .addElement('1', ofElementChain(
+ ofHatchAdder(GT_MetaTileEntity_EM_transformer::addEnergyIOToMachineList,textureOffset,sHintCasingsTT,0),
ofBlock(sBlockCasingsTT,0)
))
.build();
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java
index f909d000c7..1d06a3b0d7 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
index ba926f1ace..a320a8b35a 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.Reference;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java
index 47f36014ac..e800037850 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_proccessingStack.java
@@ -5,7 +5,7 @@ import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
index a4a234f9b4..6a9991451b 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.TecTech;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
index cf78a18a74..8cf1cee16d 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -6,7 +6,6 @@ import com.github.technus.tectech.mechanics.alignment.*;
import com.github.technus.tectech.mechanics.alignment.enumerable.ExtendedFacing;
import com.github.technus.tectech.mechanics.alignment.enumerable.Flip;
import com.github.technus.tectech.mechanics.alignment.enumerable.Rotation;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.IStructureDefinition;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.Util;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IHatchAdder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IHatchAdder.java
new file mode 100644
index 0000000000..539fcf4f38
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IHatchAdder.java
@@ -0,0 +1,15 @@
+package com.github.technus.tectech.thing.metaTileEntity.multi.base;
+
+
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+@Deprecated
+public interface IHatchAdder {
+ /**
+ * Callback to add hatch
+ * @param iGregTechTileEntity hatch
+ * @param aShort requested texture index, or null if not...
+ * @return managed to add hatch (structure still valid)
+ */
+ boolean apply(IGregTechTileEntity iGregTechTileEntity, Short aShort);
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java
index 722580a221..5c3296f980 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java
@@ -1,6 +1,6 @@
package com.github.technus.tectech.thing.metaTileEntity.multi.em_machine;
-import com.github.technus.tectech.mechanics.structure.IHatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import com.github.technus.tectech.mechanics.structure.Structure;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.TecTech;