Skip to content

Commit 9402676

Browse files
authored
Merge pull request #64 from KJP12/pr/pistonDestructibles
Allow for custom piston destructible
2 parents 72b43dd + 3cd66fe commit 9402676

File tree

5 files changed

+208
-108
lines changed

5 files changed

+208
-108
lines changed

gradle/wrapper/gradle-wrapper.jar

618 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https://services.gradle.org/distributions-snapshots/gradle-7.4-20211124232407+0000-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

gradlew

Lines changed: 153 additions & 104 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/org/samo_lego/golfiv/mixin/PistonMixin_PreventDestruction.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package org.samo_lego.golfiv.mixin;// Created 2021-08-06T02:20:50
22

3+
import net.minecraft.block.Block;
34
import net.minecraft.block.Blocks;
45
import net.minecraft.block.PistonBlock;
56
import net.minecraft.util.math.BlockPos;
67
import net.minecraft.world.World;
78
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.Unique;
810
import org.spongepowered.asm.mixin.injection.At;
911
import org.spongepowered.asm.mixin.injection.Redirect;
1012

@@ -19,8 +21,13 @@
1921
public class PistonMixin_PreventDestruction {
2022
@Redirect(method = "onSyncedBlockEvent", require = 0, at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;removeBlock(Lnet/minecraft/util/math/BlockPos;Z)Z"))
2123
private boolean redirectWorld(World world, BlockPos pos, boolean move) {
22-
if(!golfConfig.main.preventDestructionByHeadlessPistons || world.getBlockState(pos).isOf(Blocks.PISTON_HEAD)) {
24+
if (!golfConfig.main.preventDestructionByHeadlessPistons || canRemove(world.getBlockState(pos).getBlock())) {
2325
return world.removeBlock(pos, move);
2426
} else return false;
2527
}
28+
29+
@Unique
30+
private boolean canRemove(Block block) {
31+
return block == Blocks.PISTON_HEAD || golfConfig.main.allowedDestructibleByHeadlessPistons.contains(block);
32+
}
2633
}

0 commit comments

Comments
 (0)