From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: VytskaLT <VytskaLT@protonmail.com>
Date: Wed, 22 Jun 2022 14:34:28 +0300
Subject: [PATCH] Add fire-tick-delay option


diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java
index cfddfcad9b09970b28dccd2dcd80be2c2dbed0e7..3d3f6b85c8463963d1ba557fab1de7a32cfd1a2f 100644
--- a/src/main/java/net/minecraft/world/level/block/FireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java
@@ -164,7 +164,7 @@ public class FireBlock extends BaseFireBlock {
 
     @Override
     public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
-        world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world.random));
+        world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world)); // Paper
         if (world.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) {
             if (!state.canSurvive(world, pos)) {
                 fireExtinguished(world, pos); // CraftBukkit - invalid place location
@@ -361,11 +361,13 @@ public class FireBlock extends BaseFireBlock {
     public void onPlace(BlockState iblockdata, Level world, BlockPos blockposition, BlockState iblockdata1, boolean flag, UseOnContext itemActionContext) {
         super.onPlace(iblockdata, world, blockposition, iblockdata1, flag, itemActionContext);
         // Paper end
-        world.scheduleTick(blockposition, this, getFireTickDelay(world.random));
+        world.scheduleTick(blockposition, this, getFireTickDelay(world)); // Paper
     }
 
-    private static int getFireTickDelay(RandomSource random) {
-        return 30 + random.nextInt(10);
+    // Paper start - customisable fire tick delay
+    private static int getFireTickDelay(Level world) {
+        return world.paperConfig().environment.fireTickDelay + world.random.nextInt(10);
+    // Paper end
     }
 
     @Override
