diff options
author | Tec <daniel112092@gmail.com> | 2020-04-26 09:03:21 +0200 |
---|---|---|
committer | Tec <daniel112092@gmail.com> | 2020-04-26 09:03:21 +0200 |
commit | d0cafa5c88cbbff75321e2d781bca79a9057e473 (patch) | |
tree | 226b99644e9a2be998640fa1757cdd3d1492d9da | |
parent | 65cbb63664bfcad81265b26751f1d53e50b7ea96 (diff) | |
download | GT5-Unofficial-d0cafa5c88cbbff75321e2d781bca79a9057e473.tar.gz GT5-Unofficial-d0cafa5c88cbbff75321e2d781bca79a9057e473.tar.bz2 GT5-Unofficial-d0cafa5c88cbbff75321e2d781bca79a9057e473.zip |
add on element fail
2 files changed, 25 insertions, 2 deletions
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 e0e94a00eb..f619c7482b 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 @@ -316,7 +316,7 @@ public class StructureUtility { }; } - public static <T> IStructureElement<T> onCheckPass(Consumer<T> onCheckPass, IStructureElement<T> element){ + public static <T> IStructureElement<T> onElementPass(Consumer<T> onCheckPass, IStructureElement<T> element){ return new IStructureElement<T>() { @Override public boolean check(T t, World world, int x, int y, int z) { @@ -339,6 +339,29 @@ public class StructureUtility { }; } + public static <T> IStructureElement<T> onElementFail(Consumer<T> onFail, IStructureElement<T> element){ + return new IStructureElement<T>() { + @Override + public boolean check(T t, World world, int x, int y, int z) { + boolean check = element.check(t, world, x, y, z); + if(!check){ + onFail.accept(t); + } + return check; + } + + @Override + public boolean placeBlock(T t, World world, int x, int y, int z) { + return element.placeBlock(t, world, x, y, z); + } + + @Override + public boolean spawnHint(T t, World world, int x, int y, int z) { + return element.spawnHint(t, world, x, y, z); + } + }; + } + @SuppressWarnings("unchecked") public static <T> IStructureNavigate<T> step(Vec3Impl step){ if(step==null || step.get0()<0 || step.get1()<0 || step.get2()<0){ 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 b65fcda229..2d7fc5b524 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 @@ -47,7 +47,7 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo .addElement('0', ofBlock(sBlockCasings1,15)) .addElement('1', ofElementChain( ofHatchAdder(GT_MetaTileEntity_EM_transformer::addEnergyIOToMachineList,textureOffset,sHintCasingsTT,0), - onCheckPass(t->t.casingCount++,ofBlock(sBlockCasingsTT,0)) + onElementPass(t->t.casingCount++,ofBlock(sBlockCasingsTT,0)) )) .build(); private int casingCount=0; |