From 58483c1e18fc9df90f21a0f03d70c29c86556980 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 + patches/server/0004-Paper-config-files.patch | 7 ++-- .../0933-Add-fire-tick-delay-option.patch | 36 +++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 patches/server/0933-Add-fire-tick-delay-option.patch diff --git a/LICENSE.md b/LICENSE.md index e0ebe1e25..191b2b663 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/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch index b40c4708f..213021f47 100644 --- a/patches/server/0004-Paper-config-files.patch +++ b/patches/server/0004-Paper-config-files.patch @@ -923,7 +923,7 @@ index 0000000000000000000000000000000000000000..69add4a7f1147015806bc9b63a8340d1 +} diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java new file mode 100644 -index 0000000000000000000000000000000000000000..1055a079a061d8761be13d3b9efbbd90d193caa2 +index 0000000000000000000000000000000000000000..e731de3ac158c5a4cff236c6f5001674cd488a77 --- /dev/null +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java @@ -0,0 +1,435 @@ @@ -1433,10 +1433,10 @@ index 0000000000000000000000000000000000000000..1bb16fc7598cd53e822d84b69d6a9727 +} diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..3d2e67dc559ee3910b17ca86a46030ec05232250 +index 0000000000000000000000000000000000000000..a1bd848bbf924267e74e61dabdb840628712b1ad --- /dev/null +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -0,0 +1,466 @@ +@@ -0,0 +1,467 @@ +package io.papermc.paper.configuration; + +import com.google.common.collect.HashBasedTable; @@ -1772,6 +1772,7 @@ index 0000000000000000000000000000000000000000..3d2e67dc559ee3910b17ca86a46030ec + public BooleanOrDefault findAlreadyDiscoveredLootTable = BooleanOrDefault.USE_DEFAULT; + } + ++ public int fireTickDelay = 30; + public int waterOverLavaFlowSpeed = 5; + public int portalSearchRadius = 128; + public int portalCreateRadius = 16; diff --git a/patches/server/0933-Add-fire-tick-delay-option.patch b/patches/server/0933-Add-fire-tick-delay-option.patch new file mode 100644 index 000000000..f30b4f8be --- /dev/null +++ b/patches/server/0933-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 e34b8cff424ad58eee65a65fa510fa9908dbdf39..f245416a3292586b6ca4ce39d4f984c68f9af041 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