From 201ba4d3284b5cd74b48eea0d46a76fb7b59c187 Mon Sep 17 00:00:00 2001 From: vytskalt Date: Sun, 23 Oct 2022 01:57:09 +0300 Subject: [PATCH] Add fire-tick-delay option (#8037) --- LICENSE.md | 1 + .../server/Add-fire-tick-delay-option.patch | 36 +++++++++++++++++++ patches/server/Paper-config-files.patch | 1 + 3 files changed, 38 insertions(+) create mode 100644 patches/server/Add-fire-tick-delay-option.patch diff --git a/LICENSE.md b/LICENSE.md index 7995d18c5a..aa83bd0cba 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -50,4 +50,5 @@ LemonCaramel Noah van der Aa Doc Nick Hensel +vytskalt ``` diff --git a/patches/server/Add-fire-tick-delay-option.patch b/patches/server/Add-fire-tick-delay-option.patch new file mode 100644 index 0000000000..5e77c3ee50 --- /dev/null +++ b/patches/server/Add-fire-tick-delay-option.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: VytskaLT +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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/net/minecraft/world/level/block/FireBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java +@@ -0,0 +0,0 @@ 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 +@@ -0,0 +0,0 @@ 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 diff --git a/patches/server/Paper-config-files.patch b/patches/server/Paper-config-files.patch index 2ee3b14b70..1f68cb8da0 100644 --- a/patches/server/Paper-config-files.patch +++ b/patches/server/Paper-config-files.patch @@ -1772,6 +1772,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + public BooleanOrDefault findAlreadyDiscoveredLootTable = BooleanOrDefault.USE_DEFAULT; + } + ++ public int fireTickDelay = 30; + public int waterOverLavaFlowSpeed = 5; + public int portalSearchRadius = 128; + public int portalCreateRadius = 16;