Skip to content

Commit 58d5694

Browse files
committed
Third time is the charm (drain the fluids from the tank after stopping flow in)
1 parent e5a7661 commit 58d5694

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/test/java/com/gregtechceu/gtceu/common/cover/AdvancedDetectorCoverTest.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
import com.gregtechceu.gtceu.GTCEu;
44
import com.gregtechceu.gtceu.api.capability.IWorkable;
5+
import com.gregtechceu.gtceu.api.capability.recipe.FluidRecipeCapability;
6+
import com.gregtechceu.gtceu.api.capability.recipe.IO;
57
import com.gregtechceu.gtceu.api.machine.MetaMachine;
8+
import com.gregtechceu.gtceu.api.machine.SimpleTieredMachine;
9+
import com.gregtechceu.gtceu.api.machine.trait.NotifiableFluidTank;
610
import com.gregtechceu.gtceu.common.cover.detector.AdvancedFluidDetectorCover;
711
import com.gregtechceu.gtceu.common.cover.detector.AdvancedItemDetectorCover;
812
import com.gregtechceu.gtceu.common.data.GTItems;
@@ -15,6 +19,7 @@
1519
import net.minecraft.gametest.framework.GameTestHelper;
1620
import net.minecraft.world.item.ItemStack;
1721
import net.minecraft.world.item.Items;
22+
import net.minecraftforge.fluids.FluidStack;
1823
import net.minecraftforge.gametest.GameTestHolder;
1924
import net.minecraftforge.gametest.PrefixGameTestTemplate;
2025

@@ -53,10 +58,17 @@ public static void testAdvancedActivityDetectorCoverWithActivity(GameTestHelper
5358
@GameTest(template = "electrolyzer", batch = "coverTests")
5459
public static void testAdvancedActivityDetectorCoverWithoutActivity(GameTestHelper helper) {
5560
helper.pullLever(new BlockPos(2, 2, 2));
56-
MetaMachine machine = ((MetaMachine) helper.getBlockEntity(new BlockPos(1, 2, 1)));
61+
SimpleTieredMachine machine = ((SimpleTieredMachine) helper.getBlockEntity(new BlockPos(1, 2, 1)));
5762
TestUtils.placeCover(helper, machine, GTItems.COVER_ACTIVITY_DETECTOR_ADVANCED.asStack(), Direction.WEST);
5863
int offset = (int) (machine.getOffsetTimer() % 20L);
59-
helper.runAtTickTime(20 - offset, () -> helper.pullLever(2, 2, 2));
64+
helper.runAtTickTime(20 - offset, () -> {
65+
// Stop the fluid input
66+
helper.pullLever(2, 2, 2);
67+
// Also clear out the tank
68+
NotifiableFluidTank tank = (NotifiableFluidTank) machine
69+
.getCapabilitiesFlat(IO.IN, FluidRecipeCapability.CAP).get(0);
70+
tank.setFluidInTank(0, FluidStack.EMPTY);
71+
});
6072
// 20 ticks for the cover to update, 11 ticks for the recipe to finish, 1 tick for the cover to update
6173
helper.runAtTickTime(52 - offset,
6274
() -> helper.succeedWhen(() -> TestUtils.assertLampOff(helper, new BlockPos(0, 2, 1))));

0 commit comments

Comments
 (0)