|
55 | 55 | import net.minecraft.world.item.Item; |
56 | 56 | import net.minecraft.world.item.ItemDisplayContext; |
57 | 57 | import net.minecraft.world.level.block.Block; |
| 58 | +import net.minecraft.world.level.block.Blocks; |
58 | 59 | import net.minecraft.world.level.block.SoundType; |
59 | 60 | import net.minecraft.world.level.block.state.BlockBehaviour; |
60 | 61 | import net.minecraft.world.level.material.MapColor; |
@@ -82,17 +83,17 @@ public static void init(IEventBus modBus) { |
82 | 83 |
|
83 | 84 | // Bronze stuff |
84 | 85 | public static final BlockDefinition<TrashCanBlock> TRASH_CAN = block("Automatic Trash Can", "trash_can", |
85 | | - BlockDefinitionParams.defaultStone().withBlockConstructor(TrashCanBlock::new).destroyTime(6.0f).explosionResistance(1200)) |
| 86 | + BlockDefinitionParams.defaultStone().withBlockConstructor(TrashCanBlock::new).destroyTime(6.0f).explosionResistance(1200).dontConductRedstone()) |
86 | 87 | .withBlockRegistrationEvent(TrashCanBlock::onRegister); |
87 | 88 |
|
88 | 89 | // Other |
89 | | - public static final BlockDefinition<Block> BASIC_MACHINE_HULL = block("Basic Machine Hull", MIBlockKeys.BASIC_MACHINE_HULL.location().getPath()); |
90 | | - public static final BlockDefinition<Block> ADVANCED_MACHINE_HULL = block("Advanced Machine Hull", MIBlockKeys.ADVANCED_MACHINE_HULL.location().getPath()); |
91 | | - public static final BlockDefinition<Block> TURBO_MACHINE_HULL = block("Turbo Machine Hull", MIBlockKeys.TURBO_MACHINE_HULL.location().getPath()); |
92 | | - public static final BlockDefinition<Block> HIGHLY_ADVANCED_MACHINE_HULL = block("Highly Advanced Machine Hull", MIBlockKeys.HIGHLY_ADVANCED_MACHINE_HULL.location().getPath()); |
93 | | - public static final BlockDefinition<Block> QUANTUM_MACHINE_HULL = block("Quantum Machine Hull", MIBlockKeys.QUANTUM_MACHINE_HULL.location().getPath(), BlockDefinitionParams.defaultStone().explosionResistance(6000f)); |
| 90 | + public static final BlockDefinition<Block> BASIC_MACHINE_HULL = nonConductorBlock("Basic Machine Hull", MIBlockKeys.BASIC_MACHINE_HULL.location().getPath()); |
| 91 | + public static final BlockDefinition<Block> ADVANCED_MACHINE_HULL = nonConductorBlock("Advanced Machine Hull", MIBlockKeys.ADVANCED_MACHINE_HULL.location().getPath()); |
| 92 | + public static final BlockDefinition<Block> TURBO_MACHINE_HULL = nonConductorBlock("Turbo Machine Hull", MIBlockKeys.TURBO_MACHINE_HULL.location().getPath()); |
| 93 | + public static final BlockDefinition<Block> HIGHLY_ADVANCED_MACHINE_HULL = nonConductorBlock("Highly Advanced Machine Hull", MIBlockKeys.HIGHLY_ADVANCED_MACHINE_HULL.location().getPath()); |
| 94 | + public static final BlockDefinition<Block> QUANTUM_MACHINE_HULL = block("Quantum Machine Hull", MIBlockKeys.QUANTUM_MACHINE_HULL.location().getPath(), BlockDefinitionParams.defaultStone().explosionResistance(6000f).dontConductRedstone()); |
94 | 95 |
|
95 | | - public static final BlockDefinition<Block> FUSION_CHAMBER = block("Fusion Chamber", "fusion_chamber"); |
| 96 | + public static final BlockDefinition<Block> FUSION_CHAMBER = nonConductorBlock("Fusion Chamber", "fusion_chamber"); |
96 | 97 | public static final BlockDefinition<Block> INDUSTRIAL_TNT = blockExplosive("Industrial TNT", "industrial_tnt"); |
97 | 98 | public static final BlockDefinition<Block> NUKE = blockExplosive("Nuke", "nuke"); |
98 | 99 |
|
@@ -128,7 +129,7 @@ public static void init(IEventBus modBus) { |
128 | 129 |
|
129 | 130 |
|
130 | 131 | public static final BlockDefinition<CreativeStorageUnitBlock> CREATIVE_STORAGE_UNIT = block("Creative Storage Unit", |
131 | | - "creative_storage_unit", BlockDefinitionParams.defaultStone().withBlockConstructor(CreativeStorageUnitBlock::new)); |
| 132 | + "creative_storage_unit", BlockDefinitionParams.defaultStone().withBlockConstructor(CreativeStorageUnitBlock::new).dontConductRedstone()); |
132 | 133 |
|
133 | 134 | // Materials |
134 | 135 | public static final BlockDefinition<Block> BLOCK_FIRE_CLAY_BRICKS = block("Fire Clay Bricks", "fire_clay_bricks", |
@@ -157,6 +158,10 @@ public static BlockDefinition<Block> block(String englishName, String id) { |
157 | 158 | return MIBlock.block(englishName, id, BlockDefinitionParams.defaultStone()); |
158 | 159 | } |
159 | 160 |
|
| 161 | + public static BlockDefinition<Block> nonConductorBlock(String englishName, String id) { |
| 162 | + return MIBlock.block(englishName, id, BlockDefinitionParams.defaultStone().dontConductRedstone()); |
| 163 | + } |
| 164 | + |
160 | 165 | public static BlockDefinition<Block> blockExplosive(String englishName, String id) { |
161 | 166 | return MIBlock.block( |
162 | 167 | englishName, |
@@ -312,6 +317,16 @@ public BlockDefinitionParams<T> isValidSpawn(BlockBehaviour.StateArgumentPredica |
312 | 317 | return this; |
313 | 318 | } |
314 | 319 |
|
| 320 | + public BlockDefinitionParams<T> dontConductRedstone() { |
| 321 | + this.props.isRedstoneConductor(Blocks::never); |
| 322 | + return this; |
| 323 | + } |
| 324 | + |
| 325 | + public BlockDefinitionParams<T> isRedstoneConductor(BlockBehaviour.StatePredicate isRedstoneConductor) { |
| 326 | + this.props.isRedstoneConductor(isRedstoneConductor); |
| 327 | + return this; |
| 328 | + } |
| 329 | + |
315 | 330 | public BlockDefinitionParams<T> destroyTime(float destroyTime) { |
316 | 331 | this.props.destroyTime(destroyTime); |
317 | 332 | return this; |
|
0 commit comments