Skip to content

Commit bf594cb

Browse files
committed
Add option for legacy cobblestone formation
1 parent 2a92e91 commit bf594cb

File tree

2 files changed

+60
-2
lines changed

2 files changed

+60
-2
lines changed

patches/server/0004-Sakura-Configuration-Files.patch

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,10 +608,10 @@ index 0000000000000000000000000000000000000000..5fc23a0b579d7cbe03baf5324bef887a
608608
+}
609609
diff --git a/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java
610610
new file mode 100644
611-
index 0000000000000000000000000000000000000000..24c18b4f8909dcc3ac6c59aec90510d01860a221
611+
index 0000000000000000000000000000000000000000..5bee36934f9510abcd365b3856dc5b3e69fdfe27
612612
--- /dev/null
613613
+++ b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java
614-
@@ -0,0 +1,157 @@
614+
@@ -0,0 +1,162 @@
615615
+package me.samsuik.sakura.configuration;
616616
+
617617
+import com.mojang.logging.LogUtils;
@@ -766,6 +766,11 @@ index 0000000000000000000000000000000000000000..24c18b4f8909dcc3ac6c59aec90510d0
766766
+ public class Environment extends ConfigurationPart {
767767
+ public boolean allowWaterInTheNether = false;
768768
+ public boolean disableFastNetherLava = false;
769+
+
770+
+ public BlockGeneration blockGeneration = new BlockGeneration();
771+
+ public class BlockGeneration extends ConfigurationPart {
772+
+ public boolean legacyBlockFormation = false;
773+
+ }
769774
+ }
770775
+
771776
+}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Samsuik <[email protected]>
3+
Date: Sat, 2 Dec 2023 15:14:15 +0000
4+
Subject: [PATCH] Add option for legacy lava block formation
5+
6+
7+
diff --git a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
8+
index 727a2fc45de4995cafb371bde43db483a760fa6e..f17bdbb56461f3adb409bc121d73b461227004dd 100644
9+
--- a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
10+
+++ b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
11+
@@ -167,7 +167,15 @@ public class LiquidBlock extends Block implements BucketPickup {
12+
if (fluidState.isSource()) {
13+
block = Blocks.OBSIDIAN;
14+
} else {
15+
- final me.samsuik.sakura.physics.PhysicsVersion physics = world.localConfig().config(pos).physicsVersion;
16+
+ // Sakura start - legacy block formation
17+
+ final me.samsuik.sakura.physics.PhysicsVersion physics;
18+
+
19+
+ if (world.sakuraConfig().environment.blockGeneration.legacyBlockFormation) {
20+
+ physics = me.samsuik.sakura.physics.PhysicsVersion.v1_12;
21+
+ } else {
22+
+ physics = world.localConfig().config(pos).physicsVersion;
23+
+ }
24+
+ // Sakura end
25+
26+
// SANITY: In legacy a patch by paper removes the fluid level condition from vanilla.
27+
if (physics.afterOrEqual(1_16_0) || physics.isLegacy()
28+
diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
29+
index cae1adf85ff35947a9747a21ff887a2ec0a4367a..56dcba3560fb13be9d13b400aea681de98ca800d 100644
30+
--- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java
31+
+++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
32+
@@ -177,7 +177,7 @@ public abstract class LavaFluid extends FlowingFluid {
33+
public boolean canBeReplacedWith(FluidState state, BlockGetter world, BlockPos pos, Fluid fluid, Direction direction) {
34+
// Sakura start
35+
return state.getHeight(world, pos) >= 0.44444445F && fluid.is(FluidTags.WATER)
36+
- && world instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
37+
+ && world instanceof Level level && !level.sakuraConfig().environment.blockGeneration.legacyBlockFormation && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
38+
// Sakura end
39+
}
40+
41+
diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
42+
index 521b8084e490d5f3ecacd1d7368dddee22647aa9..7987b45130e2eeba1dca4bc8bba9efe0cd8b209c 100644
43+
--- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java
44+
+++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
45+
@@ -106,7 +106,7 @@ public abstract class WaterFluid extends FlowingFluid {
46+
public boolean canBeReplacedWith(FluidState state, BlockGetter world, BlockPos pos, Fluid fluid, Direction direction) {
47+
// Sakura start
48+
return direction == Direction.DOWN && !fluid.is(FluidTags.WATER)
49+
- || fluid.is(FluidTags.LAVA) && world instanceof Level level && level.localConfig().config(pos).physicsVersion.before(1_13_0);
50+
+ || fluid.is(FluidTags.LAVA) && world instanceof Level level && (level.sakuraConfig().environment.blockGeneration.legacyBlockFormation || level.localConfig().config(pos).physicsVersion.before(1_13_0));
51+
// Sakura end
52+
}
53+

0 commit comments

Comments
 (0)