From 277f0e96a732538dc2dfc4bfb1c04f98fd612e94 Mon Sep 17 00:00:00 2001 From: DeadlyMC Date: Sat, 18 May 2019 12:26:18 +0530 Subject: [PATCH] added TNTDoNotUpdate mixins --- .../java/carpet/mixins/TntBlockMixin.java | 21 +++++++++++++++++++ src/main/resources/carpet.mixins.json | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/carpet/mixins/TntBlockMixin.java 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",