From d0cafa5c88cbbff75321e2d781bca79a9057e473 Mon Sep 17 00:00:00 2001 From: Tec Date: Sun, 26 Apr 2020 09:03:21 +0200 Subject: add on element fail --- .../mechanics/structure/StructureUtility.java | 25 +++++++++++++++++++++- .../multi/GT_MetaTileEntity_EM_transformer.java | 2 +- 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 IStructureElement onCheckPass(Consumer onCheckPass, IStructureElement element){ + public static IStructureElement onElementPass(Consumer onCheckPass, IStructureElement element){ return new IStructureElement() { @Override public boolean check(T t, World world, int x, int y, int z) { @@ -339,6 +339,29 @@ public class StructureUtility { }; } + public static IStructureElement onElementFail(Consumer onFail, IStructureElement element){ + return new IStructureElement() { + @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 IStructureNavigate 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; -- cgit