diff --git a/src/main/java/carpet/mixins/TntBlockMixin.java b/src/main/java/carpet/mixins/TntBlockMixin.java new file mode 100644 index 00000000..3c4cc0ce --- /dev/null +++ b/src/main/java/carpet/mixins/TntBlockMixin.java @@ -0,0 +1,21 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.block.TntBlock; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(TntBlock.class) +public abstract class TntBlockMixin +{ + // Add carpet rule check for TNTDoNotUpdate to an if statement. + @Redirect(method = "onBlockAdded", at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/World;isReceivingRedstonePower(Lnet/minecraft/util/math/BlockPos;)Z")) + private boolean isTNTDoNotUpdate(World world, BlockPos blockPos) + { + return !CarpetSettings.getBool("TNTDoNotUpdate") && world.isReceivingRedstonePower(blockPos); + } +} diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 571fc132..94a9c0de 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -23,7 +23,8 @@ "HopperBlockEntityMixin", "ContainerMixin", "ClientConnectionMixin", - "ItemEntityMixin" + "ItemEntityMixin", + "TntBlockMixin" ], "client": [ "MinecraftClientMixin",