From 190f03b3288b24aeaf9e63946e1c5c708ab02a1e Mon Sep 17 00:00:00 2001 From: Urkaz Date: Fri, 25 Jul 2025 02:01:08 +0200 Subject: [PATCH 1/2] Allow having a KINDLED heat level if enough fuel inside. --- .../core/BurnerStomachHandler.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java b/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java index 42f3b20..81db2c4 100644 --- a/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java +++ b/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java @@ -43,16 +43,26 @@ public static void tick(SmartBlockEntity entity) { boolean fluidSuperHeats = burnerProperty.getSecond(); int mbConsuming = burnerProperty.getThird(); + int fluidAmount = stomach.getFluid().getAmount(); - if (stomach.getFluid().getAmount() < mbConsuming) { + if (fluidAmount < mbConsuming) { stomach.getFluid().setAmount(0); return; } if (fluidSuperHeats) burnerAccessor.createliquidfuel$invokeSetBlockHeat(BlazeBurnerBlock.HeatLevel.SEETHING); - else - burnerAccessor.createliquidfuel$invokeSetBlockHeat(BlazeBurnerBlock.HeatLevel.FADING); + else { + int burnTime = burnerProperty.getFirst(); + + //Copy from BlazeBurnerBlockEntity#getHeatLevel, case NORMAL. + int allFluidRemainingBurnTime = fluidAmount * burnTime; + boolean lowPercent = (double)allFluidRemainingBurnTime / 10000.0 < 0.0125; + BlazeBurnerBlock.HeatLevel level = lowPercent ? BlazeBurnerBlock.HeatLevel.FADING : BlazeBurnerBlock.HeatLevel.KINDLED; + + burnerAccessor.createliquidfuel$invokeSetBlockHeat(level); + } + int newBurnTime = burnerAccessor.createliquidfuel$getRemainingBurnTime() + burnerProperty.getFirst(); From 1dfeeb1e210c55b7cf35164dcb49d48dcbc31068 Mon Sep 17 00:00:00 2001 From: Urkaz Date: Fri, 25 Jul 2025 02:04:34 +0200 Subject: [PATCH 2/2] Move line --- .../forsteri/createliquidfuel/core/BurnerStomachHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java b/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java index 81db2c4..8758583 100644 --- a/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java +++ b/src/main/java/com/forsteri/createliquidfuel/core/BurnerStomachHandler.java @@ -54,9 +54,9 @@ public static void tick(SmartBlockEntity entity) { burnerAccessor.createliquidfuel$invokeSetBlockHeat(BlazeBurnerBlock.HeatLevel.SEETHING); else { int burnTime = burnerProperty.getFirst(); + int allFluidRemainingBurnTime = fluidAmount * burnTime; //Copy from BlazeBurnerBlockEntity#getHeatLevel, case NORMAL. - int allFluidRemainingBurnTime = fluidAmount * burnTime; boolean lowPercent = (double)allFluidRemainingBurnTime / 10000.0 < 0.0125; BlazeBurnerBlock.HeatLevel level = lowPercent ? BlazeBurnerBlock.HeatLevel.FADING : BlazeBurnerBlock.HeatLevel.KINDLED;