aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvytskalt <[email protected]>2022-10-23 01:57:09 +0300
committerGitHub <[email protected]>2022-10-22 17:57:09 -0500
commit58483c1e18fc9df90f21a0f03d70c29c86556980 (patch)
treeb413094e8d4462f281159c5d2d134f6af4b37ef7
parent6ea5aa37bdfb66a715403a6af0b2c7dd14bada0d (diff)
downloadPaper-58483c1e18fc9df90f21a0f03d70c29c86556980.tar.gz
Paper-58483c1e18fc9df90f21a0f03d70c29c86556980.zip
Add fire-tick-delay option (#8037)
-rw-r--r--LICENSE.md1
-rw-r--r--patches/server/0004-Paper-config-files.patch7
-rw-r--r--patches/server/0933-Add-fire-tick-delay-option.patch36
3 files changed, 41 insertions, 3 deletions
diff --git a/LICENSE.md b/LICENSE.md
index e0ebe1e254..191b2b663e 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -50,4 +50,5 @@ LemonCaramel <[email protected]>
Noah van der Aa <[email protected]>
Nick Hensel <[email protected]>
+vytskalt <[email protected]>
```
diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch
index b40c4708f2..213021f479 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 0000000000..f30b4f8be8
--- /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 <[email protected]>
+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