mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-21 07:49:29 +00:00
57 lines
3.8 KiB
Diff
57 lines
3.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samsuik <kfian294ma4@gmail.com>
|
|
Date: Sat, 2 Dec 2023 15:14:15 +0000
|
|
Subject: [PATCH] Legacy lava block formation
|
|
|
|
|
|
diff --git a/net/minecraft/world/level/block/LiquidBlock.java b/net/minecraft/world/level/block/LiquidBlock.java
|
|
index 1e8574d7900ffde16c2e1ee9f92a77c47c85af61..e9895a986dffd2ca170916b3e11f88bf36adae50 100644
|
|
--- a/net/minecraft/world/level/block/LiquidBlock.java
|
|
+++ b/net/minecraft/world/level/block/LiquidBlock.java
|
|
@@ -199,7 +199,14 @@ public class LiquidBlock extends Block implements BucketPickup {
|
|
final FluidState fluidState = state.getFluidState();
|
|
final Block block = fluidState.isSource() ? Blocks.OBSIDIAN : Blocks.COBBLESTONE;
|
|
if (block == Blocks.COBBLESTONE) {
|
|
- final me.samsuik.sakura.physics.PhysicsVersion physics = level.localConfig().config(pos).physicsVersion;
|
|
+ // Sakura start - legacy lava block formation
|
|
+ final me.samsuik.sakura.physics.PhysicsVersion physics;
|
|
+ if (level.sakuraConfig().environment.blockGeneration.legacyBlockFormation) {
|
|
+ physics = me.samsuik.sakura.physics.PhysicsVersion.v1_12;
|
|
+ } else {
|
|
+ physics = level.localConfig().config(pos).physicsVersion;
|
|
+ }
|
|
+ // Sakura end - legacy lava block formation
|
|
|
|
// SANITY: In legacy a patch by paper removes the fluid level condition from vanilla.
|
|
if (physics.before(1_16_0) && !physics.isLegacy() &&
|
|
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
|
|
index 34a40cf00c4337acd716358f7767aa81a936f1dc..ac052ccb2bfbd8a824b8f8d2ce8d55d8214b5fa9 100644
|
|
--- a/net/minecraft/world/level/material/LavaFluid.java
|
|
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
|
@@ -186,7 +186,8 @@ public abstract class LavaFluid extends FlowingFluid {
|
|
public boolean canBeReplacedWith(FluidState fluidState, BlockGetter blockReader, BlockPos pos, Fluid fluid, Direction direction) {
|
|
// Sakura start - configure cannon physics
|
|
return fluidState.getHeight(blockReader, pos) >= 0.44444445F && fluid.is(FluidTags.WATER)
|
|
- && blockReader instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
|
|
+ && blockReader instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0)
|
|
+ && !level.sakuraConfig().environment.blockGeneration.legacyBlockFormation; // Sakura - legacy lava block formation
|
|
// Sakura end - configure cannon physics
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/material/WaterFluid.java b/net/minecraft/world/level/material/WaterFluid.java
|
|
index 62a51972df8edd1cc7f892376ba6e37eba1a301a..c8ebf065b250cc44fddd47c8622fb2110f2bfc0e 100644
|
|
--- a/net/minecraft/world/level/material/WaterFluid.java
|
|
+++ b/net/minecraft/world/level/material/WaterFluid.java
|
|
@@ -128,7 +128,10 @@ public abstract class WaterFluid extends FlowingFluid {
|
|
if (direction == Direction.DOWN && !fluid.is(FluidTags.WATER) || !(blockReader instanceof Level level)) {
|
|
return true;
|
|
}
|
|
- return fluid.is(FluidTags.LAVA) && level.localConfig().config(pos).physicsVersion.before(1_13_0);
|
|
+ // Sakura start - legacy lava block formation
|
|
+ return fluid.is(FluidTags.LAVA) && (level.localConfig().config(pos).physicsVersion.before(1_13_0)
|
|
+ || level.sakuraConfig().environment.blockGeneration.legacyBlockFormation);
|
|
+ // Sakura end - legacy lava block formation
|
|
// Sakura end - configure cannon physics
|
|
}
|
|
|