From cd9eff8f8adf077432adc3e1d15172fa6266a05c Mon Sep 17 00:00:00 2001 From: Wynd Date: Thu, 13 Apr 2023 22:53:39 +0300 Subject: [PATCH] Added config for lava buckets fix --- src/main/java/xyz/pixelatedw/finalbeta/ModConfig.java | 2 ++ .../pixelatedw/finalbeta/mixin/FurnaceEntityMixin.java | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/xyz/pixelatedw/finalbeta/ModConfig.java b/src/main/java/xyz/pixelatedw/finalbeta/ModConfig.java index 6aa745e..240db28 100644 --- a/src/main/java/xyz/pixelatedw/finalbeta/ModConfig.java +++ b/src/main/java/xyz/pixelatedw/finalbeta/ModConfig.java @@ -33,6 +33,8 @@ public class ModConfig { "Fixes axes not being effective agaist certain blocks that it should be effective on"); public static final Option FIX_SADDLES_NOT_DROPPING = make("Fix saddles not dropping", true, "Fixes saddles not dropping when killing saddled pigs"); + public static final Option FIX_FURNACE_LAVA_BUCKET = make("Fix furnace lava bucket", true, + "Fixes furnaces consuming the bucket when using lava buckets as fuel"); private static ModConfig instance = new ModConfig(); public static final ModConfig instance() { diff --git a/src/main/java/xyz/pixelatedw/finalbeta/mixin/FurnaceEntityMixin.java b/src/main/java/xyz/pixelatedw/finalbeta/mixin/FurnaceEntityMixin.java index 08aac65..b5b817f 100644 --- a/src/main/java/xyz/pixelatedw/finalbeta/mixin/FurnaceEntityMixin.java +++ b/src/main/java/xyz/pixelatedw/finalbeta/mixin/FurnaceEntityMixin.java @@ -9,6 +9,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import net.minecraft.entity.FurnaceEntity; import net.minecraft.item.ItemInstance; import net.minecraft.item.ItemType; +import xyz.pixelatedw.finalbeta.ModConfig; @Mixin(FurnaceEntity.class) public class FurnaceEntityMixin { @@ -18,9 +19,11 @@ public class FurnaceEntityMixin { @Inject(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/FurnaceEntity;getFuelTime(Lnet/minecraft/item/ItemInstance;)I", shift = At.Shift.BY, by = 5), cancellable = true) public void tick(CallbackInfo ci) { - if(this.contents[1] != null && this.contents[1].itemId == ItemType.bucketLava.id) { - ci.cancel(); - this.contents[1] = new ItemInstance(ItemType.bucket); + if(ModConfig.FIX_FURNACE_LAVA_BUCKET.get()) { + if(this.contents[1] != null && this.contents[1].itemId == ItemType.bucketLava.id) { + ci.cancel(); + this.contents[1] = new ItemInstance(ItemType.bucket); + } } } }