• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CyclopsMC / IntegratedDynamics / 20210191346

14 Dec 2025 03:32PM UTC coverage: 19.514% (-33.5%) from 53.061%
20210191346

push

github

rubensworks
Remove deprecations

663 of 8728 branches covered (7.6%)

Branch coverage included in aggregate %.

6786 of 29445 relevant lines covered (23.05%)

1.09 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/cyclops/integrateddynamics/gametest/GameTestsMaterializer.java
1
package org.cyclops.integrateddynamics.gametest;
2

3
import net.minecraft.core.BlockPos;
4
import net.minecraft.core.Direction;
5
import net.minecraft.gametest.framework.GameTestHelper;
6
import net.minecraft.network.chat.Component;
7
import net.minecraft.world.item.ItemStack;
8
import net.minecraft.world.level.block.Blocks;
9
import org.apache.commons.lang3.tuple.Pair;
10
import org.cyclops.cyclopscore.datastructure.Wrapper;
11
import org.cyclops.cyclopscore.gametest.GameTest;
12
import org.cyclops.integrateddynamics.RegistryEntries;
13
import org.cyclops.integrateddynamics.api.part.PartPos;
14
import org.cyclops.integrateddynamics.blockentity.BlockEntityMaterializer;
15
import org.cyclops.integrateddynamics.blockentity.BlockEntityVariablestore;
16
import org.cyclops.integrateddynamics.core.evaluate.operator.Operators;
17
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueTypeInteger;
18
import org.cyclops.integrateddynamics.core.helper.PartHelpers;
19
import org.cyclops.integrateddynamics.core.part.PartTypes;
20
import org.cyclops.integrateddynamics.part.PartTypePanelDisplay;
21
import org.cyclops.integrateddynamics.part.aspect.Aspects;
22

23
import static org.cyclops.integrateddynamics.gametest.GameTestHelpersIntegratedDynamics.*;
24

25
public class GameTestsMaterializer {
×
26

27
    public static final String TEMPLATE_EMPTY = "integrateddynamics:empty10";
28
    public static final BlockPos POS = BlockPos.ZERO.offset(2, 1, 2);
×
29

30
    @GameTest(template = TEMPLATE_EMPTY)
31
    public void testMaterializerFromAddition(GameTestHelper helper) {
32
        // Place cable
33
        helper.setBlock(POS, RegistryEntries.BLOCK_CABLE.value());
×
34
        helper.setBlock(POS.east(), RegistryEntries.BLOCK_CABLE.value());
×
35

36
        // Place redstone readers
37
        PartHelpers.addPart(helper.getLevel(), helper.absolutePos(POS), Direction.WEST, PartTypes.REDSTONE_READER, new ItemStack(PartTypes.REDSTONE_READER.getItem()));
×
38
        PartHelpers.addPart(helper.getLevel(), helper.absolutePos(POS), Direction.SOUTH, PartTypes.REDSTONE_READER, new ItemStack(PartTypes.REDSTONE_READER.getItem()));
×
39

40
        // Place materializer
41
        helper.setBlock(POS.below(), RegistryEntries.BLOCK_MATERIALIZER.value());
×
42
        BlockEntityMaterializer materializer = helper.getBlockEntity(POS.below(), BlockEntityMaterializer.class);
×
43

44
        // Place display panel
45
        PartHelpers.addPart(helper.getLevel(), helper.absolutePos(POS.east()), Direction.EAST, PartTypes.DISPLAY_PANEL, new ItemStack(PartTypes.DISPLAY_PANEL.getItem()));
×
46

47
        // Place variable store
48
        helper.setBlock(POS.north(), RegistryEntries.BLOCK_VARIABLE_STORE.get());
×
49
        BlockEntityVariablestore variableStore = helper.getBlockEntity(POS.north(), BlockEntityVariablestore.class);
×
50

51
        // Produce a redstone signals
52
        helper.setBlock(POS.west().below(), Blocks.STONE);
×
53
        helper.setBlock(POS.west(), Blocks.REDSTONE_WIRE);
×
54
        helper.setBlock(POS.west().west().below(), Blocks.STONE);
×
55
        helper.setBlock(POS.west().west(), Blocks.REDSTONE_WIRE);
×
56
        helper.setBlock(POS.west().west().west().below(), Blocks.STONE);
×
57
        helper.setBlock(POS.west().west().west(), Blocks.REDSTONE_TORCH);
×
58
        helper.setBlock(POS.south(), Blocks.REDSTONE_BLOCK);
×
59

60
        // Writer redstone signal from redstone readers to variable card
61
        ItemStack variableAspect1 = createVariableFromReader(helper.getLevel(), PartPos.of(helper.getLevel(), helper.absolutePos(POS), Direction.WEST), Aspects.Read.Redstone.INTEGER_VALUE);
×
62
        ItemStack variableAspect2 = createVariableFromReader(helper.getLevel(), PartPos.of(helper.getLevel(), helper.absolutePos(POS), Direction.SOUTH), Aspects.Read.Redstone.INTEGER_VALUE);
×
63

64
        // Insert redstone signal variable in variable store
65
        variableStore.getInventory().setItem(0, variableAspect1);
×
66
        variableStore.getInventory().setItem(1, variableAspect2);
×
67

68
        // Create variable card for + operator on variable aspect
69
        ItemStack variableAdded = createVariableForOperator(helper.getLevel(), Operators.ARITHMETIC_ADDITION, new int[]{
×
70
                getVariableFacade(helper.getLevel(), variableAspect1).getId(),
×
71
                getVariableFacade(helper.getLevel(), variableAspect2).getId()
×
72
        });
73

74
        // Place variable in materializer
75
        materializer.getInventory().setItem(0, variableAdded);
×
76
        materializer.getInventory().setItem(1, new ItemStack(RegistryEntries.ITEM_VARIABLE.get()));
×
77

78
        // Wait a tick for the materializer to write
79
        Wrapper<Pair<PartTypePanelDisplay, PartTypePanelDisplay.State>> partAndState = new Wrapper<>(null);
×
80
        helper.runAfterDelay(1, () -> {
×
81
            ItemStack variableMaterialized = materializer.getInventory().getItem(2);
×
82

83
            // Place materialized variable in writer
84
            partAndState.set(placeVariableInDisplayPanel(helper.getLevel(), PartPos.of(helper.getLevel(), helper.absolutePos(POS.east()), Direction.EAST), variableMaterialized));
×
85
        });
×
86

87
        // Wait a while to remove the variable store
88
        helper.runAfterDelay(2, () -> helper.destroyBlock(POS.north()));
×
89

90
        helper.succeedWhen(() -> {
×
91
            helper.assertBlockNotPresent(RegistryEntries.BLOCK_VARIABLE_STORE.get(), POS.north());
×
92
            helper.assertTrue(partAndState.get() != null, Component.literal("No variable was materialized"));
×
93
            assertValueEqual(helper, partAndState.get().getRight().getDisplayValue(), ValueTypeInteger.ValueInteger.of(29));
×
94
        });
×
95
    }
×
96

97
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc