• 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

4.08
/src/main/java/org/cyclops/integrateddynamics/core/block/BlockContainerCabled.java
1
package org.cyclops.integrateddynamics.core.block;
2

3
import net.minecraft.core.BlockPos;
4
import net.minecraft.server.level.ServerLevel;
5
import net.minecraft.world.InteractionHand;
6
import net.minecraft.world.InteractionResult;
7
import net.minecraft.world.entity.LivingEntity;
8
import net.minecraft.world.entity.player.Player;
9
import net.minecraft.world.item.ItemStack;
10
import net.minecraft.world.level.Explosion;
11
import net.minecraft.world.level.Level;
12
import net.minecraft.world.level.LevelAccessor;
13
import net.minecraft.world.level.LevelReader;
14
import net.minecraft.world.level.block.Block;
15
import net.minecraft.world.level.block.state.BlockState;
16
import net.minecraft.world.level.redstone.Orientation;
17
import net.minecraft.world.phys.BlockHitResult;
18
import org.cyclops.cyclopscore.block.BlockWithEntity;
19
import org.cyclops.cyclopscore.blockentity.CyclopsBlockEntity;
20
import org.cyclops.integrateddynamics.core.helper.CableHelpers;
21
import org.cyclops.integrateddynamics.core.helper.NetworkHelpers;
22
import org.cyclops.integrateddynamics.core.helper.WrenchHelpers;
23

24
import javax.annotation.Nullable;
25
import java.util.function.BiFunction;
26

27
/**
28
 * A base block with part entity that can connect to cables.
29
 * @author rubensworks
30
 */
31
public abstract class BlockContainerCabled extends BlockWithEntity {
32

33
    public BlockContainerCabled(Block.Properties properties, BiFunction<BlockPos, BlockState, CyclopsBlockEntity> blockEntitySupplier) {
34
        super(properties, blockEntitySupplier);
4✔
35
    }
1✔
36

37
    @Override
38
    public InteractionResult useItemOn(ItemStack heldItem, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand,
39
                                       BlockHitResult blockRayTraceResult) {
40
        if (!world.isClientSide() && WrenchHelpers.isWrench(player, heldItem, world, pos, blockRayTraceResult.getDirection()) && player.isSecondaryUseActive()) {
×
41
            world.destroyBlock(pos, true);
×
42
            return InteractionResult.SUCCESS;
×
43
        }
44
        return super.useItemOn(heldItem, state, world, pos, player, hand, blockRayTraceResult);
×
45
    }
46

47
    @Override
48
    public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean isMoving) {
49
        super.onPlace(state, world, pos, oldState, isMoving);
×
50
        if (!world.isClientSide()) {
×
51
            CableHelpers.onCableAdded(world, pos);
×
52
        }
53
    }
×
54

55
    @Override
56
    public void setPlacedBy(Level world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) {
57
        super.setPlacedBy(world, pos, state, placer, itemStack);
×
58
        if (!world.isClientSide()) {
×
59
            CableHelpers.onCableAddedByPlayer(world, pos, placer);
×
60
        }
61
    }
×
62

63
    @Override
64
    public void destroy(LevelAccessor world, BlockPos blockPos, BlockState blockState) {
65
        CableHelpers.onCableRemoving((Level) world, blockPos, true, false, blockState, world.getBlockEntity(blockPos));
×
66
        super.destroy(world, blockPos, blockState);
×
67
        CableHelpers.onCableRemoved((Level) world, blockPos);
×
68
    }
×
69

70
    @Override
71
    public void onBlockExploded(BlockState state, ServerLevel world, BlockPos blockPos, Explosion explosion) {
72
        CableHelpers.setRemovingCable(true);
×
73
        CableHelpers.onCableRemoving(world, blockPos, true, false, state, world.getBlockEntity(blockPos));
×
74
        super.onBlockExploded(state, world, blockPos, explosion);
×
75
        CableHelpers.onCableRemoved(world, blockPos);
×
76
        CableHelpers.setRemovingCable(false);
×
77
    }
×
78

79
    @SuppressWarnings("deprecation")
80
    @Override
81
    public void neighborChanged(BlockState state, Level world, BlockPos pos, Block neighborBlock, @Nullable Orientation orientation, boolean isMoving) {
82
        super.neighborChanged(state, world, pos, neighborBlock, orientation, isMoving);
×
83
        NetworkHelpers.onElementProviderBlockNeighborChange(world, pos, null);
×
84
    }
×
85

86
    @Override
87
    public void onNeighborChange(BlockState state, LevelReader world, BlockPos pos, BlockPos neighbor) {
88
        super.onNeighborChange(state, world, pos, neighbor);
×
89
        if (world instanceof Level) {
×
90
            NetworkHelpers.onElementProviderBlockNeighborChange((Level) world, pos, null);
×
91
        }
92
    }
×
93

94
    @Override
95
    protected void affectNeighborsAfterRemoval(BlockState state, ServerLevel level, BlockPos pos, boolean movedByPiston) {
96
        super.affectNeighborsAfterRemoval(state, level, pos, movedByPiston);
×
97

98
        if (!CableHelpers.isRemovingCable()) {
×
99
            CableHelpers.onCableRemoved(level, pos);
×
100
        }
101
    }
×
102
}
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