mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-20 23:39:32 +00:00
54 lines
3.7 KiB
Diff
54 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samsuik <40902469+Samsuik@users.noreply.github.com>
|
|
Date: Sat, 2 Dec 2023 15:14:15 +0000
|
|
Subject: [PATCH] Add option for legacy lava block formation
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
|
|
index 1ed3568b363df38b196567d8a93089550913d659..e5d9b9c1c86b0beab3efdd4784582fd9de0bf926 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
|
|
@@ -199,7 +199,15 @@ public class LiquidBlock extends Block implements BucketPickup {
|
|
if (fluidState.isSource()) {
|
|
block = Blocks.OBSIDIAN;
|
|
} else {
|
|
- final me.samsuik.sakura.physics.PhysicsVersion physics = world.localConfig().config(pos).physicsVersion;
|
|
+ // Sakura start - legacy block formation
|
|
+ final me.samsuik.sakura.physics.PhysicsVersion physics;
|
|
+
|
|
+ if (world.sakuraConfig().environment.blockGeneration.legacyBlockFormation) {
|
|
+ physics = me.samsuik.sakura.physics.PhysicsVersion.v1_12;
|
|
+ } else {
|
|
+ physics = world.localConfig().config(pos).physicsVersion;
|
|
+ }
|
|
+ // Sakura end
|
|
|
|
// SANITY: In legacy a patch by paper removes the fluid level condition from vanilla.
|
|
if (physics.afterOrEqual(1_16_0) || physics.isLegacy()
|
|
diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
|
index f8fdb09b7b3f696cd6c7309a90c7fd2138c845ba..c3c24f616345e41772062032406c308ca130147d 100644
|
|
--- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
|
+++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
|
@@ -177,7 +177,7 @@ public abstract class LavaFluid extends FlowingFluid {
|
|
public boolean canBeReplacedWith(FluidState state, BlockGetter world, BlockPos pos, Fluid fluid, Direction direction) {
|
|
// Sakura start
|
|
return state.getHeight(world, pos) >= 0.44444445F && fluid.is(FluidTags.WATER)
|
|
- && world instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
|
|
+ && world instanceof Level level && !level.sakuraConfig().environment.blockGeneration.legacyBlockFormation && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
|
|
// Sakura end
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
|
|
index 786aba3810b71a543469dab6b2b2c1ff4ca2edd5..f883b9b0a336591dcf685cf34ad09eee832992c2 100644
|
|
--- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java
|
|
+++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
|
|
@@ -122,7 +122,7 @@ public abstract class WaterFluid extends FlowingFluid {
|
|
public boolean canBeReplacedWith(FluidState state, BlockGetter world, BlockPos pos, Fluid fluid, Direction direction) {
|
|
// Sakura start
|
|
return direction == Direction.DOWN && !fluid.is(FluidTags.WATER)
|
|
- || fluid.is(FluidTags.LAVA) && world instanceof Level level && level.localConfig().config(pos).physicsVersion.before(1_13_0);
|
|
+ || fluid.is(FluidTags.LAVA) && world instanceof Level level && (level.sakuraConfig().environment.blockGeneration.legacyBlockFormation || level.localConfig().config(pos).physicsVersion.before(1_13_0));
|
|
// Sakura end
|
|
}
|
|
|